<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    apm
   </journal-id>
   <journal-title-group>
    <journal-title>
     Advances in Pure Mathematics
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2160-0368
   </issn>
   <issn publication-format="print">
    2160-0384
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/apm.2025.156019
   </article-id>
   <article-id pub-id-type="publisher-id">
    apm-143348
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Physics 
     </subject>
     <subject>
       Mathematics
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Further Remarks on the Infinity Tree
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Philip C.
      </surname>
      <given-names>
       Jackson
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aTalaMind LLC, Troy, MI, USA
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     17
    </day> 
    <month>
     06
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    15
   </volume> 
   <issue>
    06
   </issue>
   <fpage>
    390
   </fpage>
   <lpage>
    411
   </lpage>
   <history>
    <date date-type="received">
     <day>
      30,
     </day>
     <month>
      April
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      15,
     </day>
     <month>
      April
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      15,
     </day>
     <month>
      June
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    A 2023 paper discussed how the real numbers between 0 and 1 could be represented by an infinite tree structure called the “infinity tree”, which contains only a countably infinite number of nodes and arcs. A 2025 paper discussed how a finite-state Turing machine could, in a countably infinite number of state transitions, write all the infinite paths in the infinity tree to a countably infinite tape, supporting an argument that the real numbers in the interval [0, 1] are countably infinite, in a non-Cantorian theory of infinity. However, it is not claimed that there is an error in Cantor’s arguments that [0, 1] is uncountably infinite. Rather, the situation is considered as a paradox, resulting from different choices about how to represent and count the continuum of real numbers. The present, short paper addresses some further questions that mathematicians have asked, and might ask, about this approach.
   </abstract>
   <kwd-group> 
    <kwd>
     Infinity
    </kwd> 
    <kwd>
      Countable
    </kwd> 
    <kwd>
      Uncountable
    </kwd> 
    <kwd>
      Diagonalization
    </kwd> 
    <kwd>
      Real Numbers
    </kwd> 
    <kwd>
      Infinity Tree
    </kwd> 
    <kwd>
      Continuum Hypothesis
    </kwd> 
    <kwd>
      Turing Machine
    </kwd> 
    <kwd>
      Infinite Time Turing Machine
    </kwd> 
    <kwd>
      Non-Cantorian
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>A 2023 paper <xref ref-type="bibr" rid="scirp.143348-1">
     [1]
    </xref> discussed how the real numbers between 0 and 1 could be represented by an infinite tree structure, called the “infinity tree”, which contains only a countably infinite number of nodes and arcs. A 2025 paper <xref ref-type="bibr" rid="scirp.143348-2">
     [2]
    </xref> discussed how a finite-state Turing machine could, in a countably infinite number of state transitions, write all the infinite paths in the infinity tree to a countably infinite tape, supporting an argument that the real numbers in the interval [0, 1] are countably infinite in a non-Cantorian theory of infinity.</p>
   <p>The present paper addresses some further questions that mathematicians have asked, and might ask: How do we know that the infinity tree has a countably infinite number of levels? How do we know that the Turing machine only requires finite time to simulate processing each level of the infinity tree? How can a Turing machine avoid generating infinite 0’s at the start of its output, if it simulates processing the entire infinity tree?</p>
   <p>Like the preceding papers <xref ref-type="bibr" rid="scirp.143348-1">
     [1]
    </xref> and <xref ref-type="bibr" rid="scirp.143348-2">
     [2]
    </xref>, this paper does not claim there is an error in Cantor’s arguments that [0, 1] is uncountably infinite. Rather, this paper considers the situation as a paradox, resulting from different choices about how to represent and count the continuum of real numbers.</p>
  </sec><sec id="s2">
   <title>2. The Infinity Tree Has a Countably Infinite Number of Levels</title>
   <p>The first paper on the infinity tree (1) defined the tree to have “as many levels as there are natural numbers.” This also follows from the definition of the infinity tree given in the second paper (2), which says the infinity tree is a “simple infinite tree, with a branching factor of 10 arcs from each node.” A simple infinite tree with a constant branching factor has a countably infinite number of levels.</p>
   <p>One mathematician reading the second paper mistakenly thought it was describing the infinity tree as having uncountably many levels. However, a tree with uncountably many levels would not make any sense, as it would imply that a single decimal expression would have uncountably many digits, which would be a very non-standard idea. Cantor only considered decimal expressions which each had countably many digits. The infinity tree papers (1) and (2) follow suit: Each infinite path descending through the infinity tree represents a single decimal expression that has countably many digits.</p>
   <p>The infinity tree gives a representation of the real numbers in [0, 1) which is not just a list or set of numbers that can be diagonalized to construct a missing number. It is a tree structure that is defined so that each infinite path in the tree corresponds to a unique infinite decimal expression in [0, 1), and so that each unique infinite decimal expression in [0, 1) corresponds to a unique infinite path in the tree.</p>
   <p>A second mathematician reading (2) mistakenly thought it was making the following claims:</p>
   <p>The set of real numbers (say expressed as infinite binary sequences) is the same as the set of nodes in a binary tree.</p>
   <p>The set of real numbers is the same as the set of finite binary sequences.</p>
   <p>My papers do not make these claims. The infinity tree is an infinite “decimal tree”, not a binary tree: Each node in the infinity tree has 10 child nodes. The infinity tree has a countably infinite number of levels. Each infinite path descending through the tree corresponds to a unique infinite decimal expression in [0, 1), and each unique infinite decimal expression in [0, 1) corresponds to a unique infinite path descending through the tree.</p>
   <p>The second mathematician wrote:</p>
   <p>“I suspect you will find that terminal sequences of the form… 0999… are equivalent to …1000…, so there are countably many double representations of a real number.”</p>
   <p>My papers (1) and (2) are not trying to reduce the size of the set of numbers in [0, 1) by considering some numbers in the set to be approximately equal. My purpose in defining the infinity tree is to give a representation of all the real numbers in [0, 1) which is not just a list or set of numbers that Cantor could diagonalize to construct a missing number. It’s a tree structure that is defined so that it cannot be diagonalized to construct any number in [0, 1) which it does not contain. Approximate equality is not a factor in this discussion.</p>
  </sec><sec id="s3">
   <title>3. The Turing Machine Uses Only Finite Time to Process Each Tree Level</title>
   <p>This is explained in section 4 of the second paper. (2) Section 4.3 discusses “infinite time Turing machines”, for which time is implicitly represented by the computation steps of a Turing machine. The second paper (2) contends that a certain, specific Turing machine would be able to generate and write all the real numbers in [0, 1] within countably infinite computation steps, using a constant, finite number of countably infinite tapes.</p>
   <p>For a Turing machine, countably infinite time corresponds to a countably infinite sequence of computation steps. A unit of time (a discrete time step) corresponds to a single computation step, within which: a) a Turing machine reads a symbol on a tape; b) based on the machine’s current state, the machine may write a symbol on a tape, and then optionally move one space left or right on a tape; and c) optionally the machine may change its state.</p>
   <p>Precisely what happens within each computation step is specified by the finite state transition table for the Turing machine. For example, the table could specify that in a certain state, after reading a certain symbol on a tape, the machine will in parallel write a different symbol on different tapes and then move one space left or right on each tape, all within a single computation step.</p>
   <p>The paper describes a Turing machine which simulates a breadth-first descent through the infinity tree. There are a finite number of nodes at each level of the infinity tree. There is a finite path P from the root of the tree to each node N of the tree. For each node N at level L of the tree, the machine requires only finite time to write on its output tape the path from the root of the tree to node N. Thus, the machine takes only finite time to write the paths from the root of the tree to all the nodes at level L onto its output tape. Then, the machine takes only finite time to copy the paths on its output tape back to its input tape. It then uses the input tape to support computing the paths to the next level L + 1 of the tree and overwriting the output tape with paths to level L + 1.</p>
   <p>The number of nodes at level L + 1 is ten times the number of nodes at level L. Yet the number of nodes at each finite depth level is always finite. For any finite natural number L, the machine only requires finite time to write the paths to all nodes at level L, and it only requires finite time to write the paths to all nodes at level L + 1, although the amount of finite time increases by a factor of 10 from level L to level L + 1.</p>
  </sec><sec id="s4">
   <title>
    <xref ref-type="bibr" rid="scirp.143348-"></xref>4. Further Discussion of the Turing Machine Argument</title>
   <p>The second paper (2) discusses a Turing machine navigating the infinity tree breadth-first. For each level of the tree, all the paths from the root node to that level would be printed out by the Turing machine, going breadth-first across the level. This would generate a series of decimal expressions between 0 and 1, with n digits after the decimal point, for each level n of the tree. These expressions would be written in a sorted order, from 0 to 1.</p>
   <p>If the Turing machine were to perform a countably infinite sequence of discrete time steps, then it could produce decimal expressions of infinite length corresponding to all decimal values in the range [0, 1], containing all the expressions on a countably infinite output tape. This list would correspond to all the infinite paths through the infinity tree, containing all the numbers in the interval [0, 1), plus the number 1.</p>
   <p>Yet if we were to somehow look at the tape after the machine finishes its processing, then we would see the number 0.00… with a countable infinity of 0’s, corresponding to the leftmost path descending through the infinity tree. We would have to somehow skip past this infinite list of 0’s, to see the next number in the list, i.e., the next infinite path in the infinity tree.</p>
   <p>The design of the Turing machine could be changed so that it only prints “0” and does not print “0.” followed by a countable infinity of 0’s. Yet there is still a countable infinity of numbers of the form 0.00000…d…, with no limit on the finite number of 0’s there are after the decimal point and before the first non-zero decimal d. After that, there are countable infinities of other numbers of the form 0.m…, with the values of m being non-zero digits.</p>
   <p>And there is no second decimal number which is the first number &lt; 1 that is numerically greater than 0. For any number 0 &lt; x &lt; 1, there is another number y such that 0 &lt; y &lt; x.</p>
   <p>So, how can there be a second number in the infinite list?</p>
   <p>The answer again is that the Turing machine lists partial expressions for a finite list of numbers at each finite step. “After” an infinite number of processing steps, the machine has listed all the decimal expressions for all numbers in the range 0…1 in the linear space of the tape, so the tape contains these numbers in a sequence. However, we cannot, in finite time, observe a second number in the countably infinite list of all countably infinite expressions, starting from the first location on the tape.</p>
   <p>The operation of the Turing machine could also be changed to generate infinity tree paths without unlimited leading zeros in the initial paths. The paths with leading zeros would still be generated eventually, but they would be intermixed with other paths. For example, using multiples of 7 the machine could initially select branch 7 at the first level of the infinity tree, then select branch 4 at the second level, then select branch 1 at the third level, then select branch 8 at the fourth level, then select branch 5 at the fifth level, etc. This Turing machine would require a different finite state transition table to enable its operation, of course. The Appendix gives a Visual Basic program which simulates this operation if the user chooses not to generate branches in the standard order 0, 1, 2, 3, … In principle this operation could be replicated by a Turing machine simulator, just as a Turing machine simulator was written for generating branches in the standard order. (2)</p>
   <p>As noted in (2), the idea of having a countably infinite tape that contains a countably infinite sequence of countably infinite sequences may seem self-contradictory, yet it makes sense when considered as something that the Turing machine creates using countably infinite time, and using a constant, finite set of countably infinite tapes.</p>
   <p>And as noted in (2), it is well known that countable infinities can contain multiple countable infinities within them. For example, the countable infinity of natural numbers contains the countable infinities of even numbers, odd numbers, and prime numbers, and also countable infinities of randomly chosen natural numbers.</p>
  </sec><sec id="s5">
   <title>5. Summary</title>
   <p>This short paper has addressed three questions: How do we know that the infinity tree has a countably infinite number of levels? How do we know that the Turing machine only requires finite time to process each level of the infinity tree? How can a Turing machine avoid generating infinite 0’s at the start of its output if it processes the entire infinity tree?</p>
   <p>Like the preceding papers (1) and (2), this paper does not claim there is an error in Cantor’s arguments that [0, 1] is uncountably infinite. Rather, this paper considers the situation as a paradox, resulting from different choices about how to represent and count the continuum of real numbers. The preceding papers (1) and (2) include discussions of references <xref ref-type="bibr" rid="scirp.143348-3">
     [3]
    </xref>-<xref ref-type="bibr" rid="scirp.143348-12">
     [12]
    </xref>. These discussions have not been repeated in the present, short paper.</p>
  </sec><sec id="s6">
   <title>Appendix: An Infinity Tree Generation Simulator</title>
   <p>An Infinity Tree Generation Simulator</p>
   <p>Dim MaxPathLevel As Double 'the maximum level of paths generated, in the tree</p>
   <p>Dim MaxTapeLength As Double 'the maximum length of paths generated in testing</p>
   <p>Dim MaxBranchTapes As Double</p>
   <p>Dim PathLength As Double 'the current length of paths being generated</p>
   <p>Dim RootLevel As Double 'always 0, the root node of the tree</p>
   <p>Dim CurrentLevel As Double 'the current level for paths being generated</p>
   <p>Dim minDigitValue As Double</p>
   <p>Dim maxDigitValue As Double</p>
   <p>Dim newMaxLength As Double</p>
   <p>Dim MaxDecimalLength As Double</p>
   <p>Dim Inputexprlen As Double</p>
   <p>Dim Outputexprlen As Double</p>
   <p>Dim FoundOutputEnd As Boolean</p>
   <p>Dim InputPosition As Double</p>
   <p>Dim OutputPosition As Double</p>
   <p>Dim MostRecentRow As Double</p>
   <p>Dim cellvalue As String</p>
   <p>Dim previousOutputCellValue As String</p>
   <p>Dim currentOutputCellValue() As String</p>
   <p>Dim InputLevelpointer As Double</p>
   <p>Dim OutputLevelpointer As Double</p>
   <p>Dim InputLevelTape_CellValue() As String</p>
   <p>Dim OutputLevelTape_CellValue() As String</p>
   <p>Dim UserSelectedOrder() As Integer</p>
   <p>Dim symbolIndex As Integer</p>
   <p>Dim branch0Tape_pointer As Double</p>
   <p>Dim branch1Tape_pointer As Double</p>
   <p>Dim branch2Tape_pointer As Double</p>
   <p>Dim branch3Tape_pointer As Double</p>
   <p>Dim branch4Tape_pointer As Double</p>
   <p>Dim branch5Tape_pointer As Double</p>
   <p>Dim branch6Tape_pointer As Double</p>
   <p>Dim branch7Tape_pointer As Double</p>
   <p>Dim branch8Tape_pointer As Double</p>
   <p>Dim branch9Tape_pointer As Double</p>
   <p>Dim branch0Tape_CellValue() As String</p>
   <p>Dim branch1Tape_CellValue() As String</p>
   <p>Dim branch2Tape_CellValue() As String</p>
   <p>Dim branch3Tape_CellValue() As String</p>
   <p>Dim branch4Tape_CellValue() As String</p>
   <p>Dim branch5Tape_CellValue() As String</p>
   <p>Dim branch6Tape_CellValue() As String</p>
   <p>Dim branch7Tape_CellValue() As String</p>
   <p>Dim branch8Tape_CellValue() As String</p>
   <p>Dim branch9Tape_CellValue() As String</p>
   <p>Dim initialDigit As Integer</p>
   <p>Dim initialIndex As Integer</p>
   <p>Dim ChoiceMsg As String</p>
   <p>Dim GenerateZeroBranchesFirst As Boolean</p>
   <p>Dim Response As Integer</p>
   <p>Sub AnInfinityTreePseudocodeSimulation()</p>
   <p>Dim keepworking As Boolean</p>
   <p>Dim Msg, Style, Title, Help, Ctxt, Response, MyString</p>
   <p>Title = "An Infinity Tree Pseudocode Simulation"</p>
   <p>ChoiceMsg = "Do you wish to generate branches in standard order (0,1,2,3,...)?"</p>
   <p>Msg = "(c) 2025, by Philip C. Jackson, Jr., Ph.D." &amp; vbCrLf &amp; vbCrLf &amp; ChoiceMsg</p>
   <p>Style = vbYesNo 'Show Yes and No buttons.</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>If Response = 6 Then 'Visual Basic's response value for Yes...</p>
   <p>GenerateZeroBranchesFirst = True</p>
   <p>Else 'response = 7 'Visual Basic's response value for No...</p>
   <p>GenerateZeroBranchesFirst = False</p>
   <p>End If</p>
   <p>CurrentLevel = 1</p>
   <p>If GenerateZeroBranchesFirst Then</p>
   <p>initialDigit = 0 ' the initial digit at this level will be 0</p>
   <p>Else</p>
   <p>initialDigit = 7 ' the initial digit at this level will be 7</p>
   <p>End If</p>
   <p>initialIndex = 1 ' the index of the initial digit for this level is 1</p>
   <p>Call createInitialState 'this writes initial values to the input level tape</p>
   <p>Msg = "Created input tape for level " &amp; CurrentLevel &amp; ". Do you want to continue?"</p>
   <p>Style = vbYesNo ' Define buttons.</p>
   <p>' Display message.</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>If Response = vbYes Then ' User chose Yes.</p>
   <p>MyString = "Yes"</p>
   <p>keepworking = True</p>
   <p>'position input level tape head to start of tape</p>
   <p>InputPosition = 1</p>
   <p>'position output level tape head to start of tape</p>
   <p>OutputPosition = 1</p>
   <p>Dim length As Double</p>
   <p>keepworking = True</p>
   <p>'an infinite loop to create expressions for paths from the root</p>
   <p>'to each level of infinity tree</p>
   <p>While keepworking = True</p>
   <p>'set the starting digit for the expressions that will be generated</p>
   <p>'at the next level of the tree</p>
   <p>initialIndex = initialIndex + 1</p>
   <p>If initialIndex &gt; 10 Then intialindex = 1</p>
   <p>initialDigit = UserSelectedOrder(initialIndex)</p>
   <p>'for each expression on input level tape</p>
   <p>'at each finite step there are a finite number of</p>
   <p>'finite expressions, separated by spaces</p>
   <p>While locateNextInputDecimalExpression()</p>
   <p>'process expression and leave input tape pointer positioned</p>
   <p>'at the space after the expression</p>
   <p>keepworking = processNextInputDecimalExpression</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>Wend</p>
   <p>'finished getting Decimals, so append "1" to output tape.</p>
   <p>'write a space and then a "1" to the output tape.</p>
   <p>'output pointer is at position after last symbol previously written.</p>
   <p>OutputLevelTape_CellValue(OutputPosition) = " "</p>
   <p>Worksheets("tapes").Cells(OutputPosition, 2).Value = " "</p>
   <p>FoundOutputEnd = False</p>
   <p>OutputPosition = OutputPosition + 1</p>
   <p>OutputLevelTape_CellValue(OutputPosition) = "1"</p>
   <p>Worksheets("tapes").Cells(OutputPosition, 2).Value = "1"</p>
   <p>Worksheets("tapes").Cells(OutputPosition, 2).Value = "1"</p>
   <p>CurrentLevel = CurrentLevel + 1</p>
   <p>Msg = "Computed output tape for level " &amp; CurrentLevel &amp; _</p>
   <p>". Do you want to continue?"</p>
   <p>Style = vbYesNo ' Define buttons.</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>If Response = vbYes Then</p>
   <p>keepworking = True</p>
   <p>Else</p>
   <p>keepworking = False</p>
   <p>End If</p>
   <p>If keepworking Then</p>
   <p>'position input level tape head to start of input level tape</p>
   <p>InputPosition = 1</p>
   <p>'position output level tape head to start of output level tape</p>
   <p>OutputPosition = 1</p>
   <p>FoundOutputEnd = False</p>
   <p>previousOutputCellValue = ""</p>
   <p>MostRecentRow = 2</p>
   <p>While Not FoundOutputEnd</p>
   <p>cellvalue = OutputLevelTape_CellValue(OutputPosition)</p>
   <p>InputLevelTape_CellValue(OutputPosition) = cellvalue</p>
   <p>'add header row into location for output in worksheet "tapes"</p>
   <p>If previousOutputCellValue = " " And cellvalue = "1" Then</p>
   <p>FoundOutputEnd = True</p>
   <p>InputLevelTape_CellValue(OutputPosition) = "1"</p>
   <p>Worksheets("tapes").Cells(OutputPosition, 1).Value = "1"</p>
   <p>Else</p>
   <p>Worksheets("tapes").Cells(OutputPosition + 1, 1).Value = _</p>
   <p>cellvalue</p>
   <p>If previousOutputCellValue = " " And cellvalue = "0" _</p>
   <p>Then MostRecentRow = 2</p>
   <p>Worksheets("tapes").Cells(MostRecentRow, 14).Value = _</p>
   <p>cellvalue</p>
   <p>MostRecentRow = MostRecentRow + 1</p>
   <p>End If</p>
   <p>previousOutputCellValue = cellvalue</p>
   <p>OutputPosition = OutputPosition + 1</p>
   <p>Wend</p>
   <p>'newMaxLength includes "0." so subtract 2 to compare</p>
   <p>'with max decimal length</p>
   <p>If (newMaxLength - 2) &lt; MaxDecimalLength Then</p>
   <p>Msg = "Copied output tape to input tape for level " &amp; _</p>
   <p>CurrentLevel &amp; ". Do you want to continue?"</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>If Response = vbYes Then</p>
   <p>keepworking = True</p>
   <p>Else</p>
   <p>keepworking = False</p>
   <p>End If</p>
   <p>Else</p>
   <p>keepworking = False</p>
   <p>End If</p>
   <p>End If</p>
   <p>'position input level tape head to start of input level tape</p>
   <p>InputPosition = 1</p>
   <p>'position output level tape head to start of output level tape</p>
   <p>OutputPosition = 1</p>
   <p>'end loop 'infinite loop creating expressions for paths from</p>
   <p>'root to each level of the infinity tree</p>
   <p>Wend</p>
   <p>Msg = "The demonstration is over."</p>
   <p>Style = vbDefaultButton2 ' just show OK button.</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>Else ' User chose No.</p>
   <p>keepworking = False</p>
   <p>Msg = "The demonstration is over."</p>
   <p>Style = vbDefaultButton2 ' just show OK button.</p>
   <p>Response = MsgBox(Msg, Style, Title)</p>
   <p>End If</p>
   <p>End Sub</p>
   <p>'find the next non-blank character that happens after a space in the input tape</p>
   <p>'if it's a 0 then return true</p>
   <p>'if it's a 1 then return false</p>
   <p>'set global var pointing to location of the next non-blank character</p>
   <p>Function locateNextInputDecimalExpression() As Boolean</p>
   <p>Dim lookingforleadingzero As Boolean</p>
   <p>Dim lookingforblankspace As Boolean</p>
   <p>Dim lookingforleadingOne As Boolean</p>
   <p>Dim exprlen As Double</p>
   <p>'get character of expression at input position</p>
   <p>cellvalue = InputLevelTape_CellValue(InputPosition)</p>
   <p>'if the first character of the expression is not "1" then</p>
   <p>If cellvalue &lt;&gt; "1" Then</p>
   <p>'verify that cellvalue is "0", as expected</p>
   <p>If cellvalue = "0" Then</p>
   <p>'position branch tape heads to start of branch tapes</p>
   <p>exprlen = 1</p>
   <p>'return true, indicating this routine got a next Decimal expression</p>
   <p>locateNextInputDecimalExpression = True</p>
   <p>Else</p>
   <p>'we may already be one step past the "1"</p>
   <p>'return false, indicating this routine did not get a next</p>
   <p>'Decimal expression</p>
   <p>locateNextInputDecimalExpression = False</p>
   <p>End If</p>
   <p>Else</p>
   <p>'return false, indicating this routine did not get a next Decimal expression</p>
   <p>locateNextInputDecimalExpression = False</p>
   <p>End If</p>
   <p>End Function</p>
   <p>Function processNextInputDecimalExpression() As Boolean</p>
   <p>Dim lookingforleadingzero As Boolean</p>
   <p>Dim lookingforblankspace As Boolean</p>
   <p>Dim lookingforleadingOne As Boolean</p>
   <p>Dim exprlen As Double</p>
   <p>Dim cellvalue As String</p>
   <p>Dim nextDigit As Integer</p>
   <p>Dim randomDigit As Integer</p>
   <p>'get first character of expression</p>
   <p>cellvalue = InputLevelTape_CellValue(InputPosition)</p>
   <p>'if the first character of the expression is not "1" then</p>
   <p>If cellvalue &lt;&gt; "1" Then</p>
   <p>'we are not at the end of the input level tape's expressions.</p>
   <p>'position branch tape heads to start of branch tapes</p>
   <p>exprlen = 1</p>
   <p>'copy the expression to each branch tape</p>
   <p>While cellvalue &lt;&gt; " "</p>
   <p>branch0Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch1Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch2Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch3Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch4Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch5Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch6Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch7Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch8Tape_CellValue(exprlen) = cellvalue</p>
   <p>branch9Tape_CellValue(exprlen) = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 1).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 2).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 3).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 4).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 5).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 6).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 7).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 8).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 9).Value = cellvalue</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 10).Value = cellvalue</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>exprlen = exprlen + 1</p>
   <p>cellvalue = InputLevelTape_CellValue(InputPosition)</p>
   <p>Wend</p>
   <p>If GenerateZeroBranchesFirst Then</p>
   <p>'generate branches in 0...9 order</p>
   <p>branch0Tape_CellValue(exprlen) = "0"</p>
   <p>branch1Tape_CellValue(exprlen) = "1"</p>
   <p>branch2Tape_CellValue(exprlen) = "2"</p>
   <p>branch3Tape_CellValue(exprlen) = "3"</p>
   <p>branch4Tape_CellValue(exprlen) = "4"</p>
   <p>branch5Tape_CellValue(exprlen) = "5"</p>
   <p>branch6Tape_CellValue(exprlen) = "6"</p>
   <p>branch7Tape_CellValue(exprlen) = "7"</p>
   <p>branch8Tape_CellValue(exprlen) = "8"</p>
   <p>branch9Tape_CellValue(exprlen) = "9"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 1).Value = "0"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 2).Value = "1"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 3).Value = "2"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 4).Value = "3"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 5).Value = "4"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 6).Value = "5"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 7).Value = "6"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 8).Value = "7"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 9).Value = "8"</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 10).Value = "9"</p>
   <p>Else 'add digits in the sequence 7,4,1,8,5,2,9,6,3,0</p>
   <p>'with the first digit from the sequence based on the level in the tree</p>
   <p>initialDigit = UserSelectedOrder(initialIndex)</p>
   <p>'the first, initial digit, already chosen for this level of the tree,</p>
   <p>'was chosen before calling this routine</p>
   <p>nextDigit = initialDigit</p>
   <p>branch0Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 1).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch1Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 2).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch2Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 3).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch3Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 4).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch4Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 5).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch5Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 6).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch6Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 7).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch7Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 8).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch8Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 9).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>nextDigit = getPermutedNextDigit(nextDigit)</p>
   <p>branch9Tape_CellValue(exprlen) = CStr(nextDigit)</p>
   <p>Worksheets("tapes").Cells(exprlen + 1, 2 + 10).Value = _</p>
   <p>CStr(nextDigit)</p>
   <p>End If</p>
   <p>newMaxLength = exprlen</p>
   <p>'append copy of branch tape expression to output tape</p>
   <p>For branch = 0 To 9</p>
   <p>exprlen = 1</p>
   <p>MostRecentRow = 2 'will be used to show most recent value written</p>
   <p>'to output or input tape</p>
   <p>For exprlen = 1 To newMaxLength</p>
   <p>If branch = 0 Then cellvalue = branch0Tape_CellValue(exprlen)</p>
   <p>If branch = 1 Then cellvalue = branch1Tape_CellValue(exprlen)</p>
   <p>If branch = 2 Then cellvalue = branch2Tape_CellValue(exprlen)</p>
   <p>If branch = 3 Then cellvalue = branch3Tape_CellValue(exprlen)</p>
   <p>If branch = 4 Then cellvalue = branch4Tape_CellValue(exprlen)</p>
   <p>If branch = 5 Then cellvalue = branch5Tape_CellValue(exprlen)</p>
   <p>If branch = 6 Then cellvalue = branch6Tape_CellValue(exprlen)</p>
   <p>If branch = 7 Then cellvalue = branch7Tape_CellValue(exprlen)</p>
   <p>If branch = 8 Then cellvalue = branch8Tape_CellValue(exprlen)</p>
   <p>If branch = 9 Then cellvalue = branch9Tape_CellValue(exprlen)</p>
   <p>While cellvalue &lt;&gt; " "</p>
   <p>OutputLevelTape_CellValue(OutputPosition) = cellvalue</p>
   <p>Worksheets("tapes").Cells(OutputPosition + 1, 2).Value = _</p>
   <p>cellvalue</p>
   <p>Worksheets("tapes").Cells(MostRecentRow, 14).Value = _</p>
   <p>cellvalue</p>
   <p>exprlen = exprlen + 1</p>
   <p>OutputPosition = OutputPosition + 1</p>
   <p>MostRecentRow = MostRecentRow + 1</p>
   <p>If branch = 0 Then cellvalue = branch0Tape_CellValue(exprlen)</p>
   <p>If branch = 1 Then cellvalue = branch1Tape_CellValue(exprlen)</p>
   <p>If branch = 2 Then cellvalue = branch2Tape_CellValue(exprlen)</p>
   <p>If branch = 3 Then cellvalue = branch3Tape_CellValue(exprlen)</p>
   <p>If branch = 4 Then cellvalue = branch4Tape_CellValue(exprlen)</p>
   <p>If branch = 5 Then cellvalue = branch5Tape_CellValue(exprlen)</p>
   <p>If branch = 6 Then cellvalue = branch6Tape_CellValue(exprlen)</p>
   <p>If branch = 7 Then cellvalue = branch7Tape_CellValue(exprlen)</p>
   <p>If branch = 8 Then cellvalue = branch8Tape_CellValue(exprlen)</p>
   <p>If branch = 9 Then cellvalue = branch9Tape_CellValue(exprlen)</p>
   <p>Wend</p>
   <p>'add an empty space to output tape</p>
   <p>OutputLevelTape_CellValue(OutputPosition) = " "</p>
   <p>Worksheets("tapes").Cells(OutputPosition + 1, 2).Value = " "</p>
   <p>'increment position for next character on output tape</p>
   <p>OutputPosition = OutputPosition + 1</p>
   <p>Next exprlen</p>
   <p>Next branch</p>
   <p>End If</p>
   <p>'making this routine a function prevents it from being an option</p>
   <p>'in the startup menu. ...</p>
   <p>processNextInputDecimalExpression = True</p>
   <p>End Function</p>
   <p>Function getPermutedNextDigit(digit As Integer) As Integer</p>
   <p>Dim nextDigit As Integer</p>
   <p>If digit = 7 Then</p>
   <p>nextDigit = 4</p>
   <p>ElseIf digit = 4 Then</p>
   <p>nextDigit = 1</p>
   <p>ElseIf digit = 1 Then</p>
   <p>nextDigit = 8</p>
   <p>ElseIf digit = 8 Then</p>
   <p>nextDigit = 5</p>
   <p>ElseIf digit = 5 Then</p>
   <p>nextDigit = 2</p>
   <p>ElseIf digit = 2 Then</p>
   <p>nextDigit = 9</p>
   <p>ElseIf digit = 9 Then</p>
   <p>nextDigit = 6</p>
   <p>ElseIf digit = 6 Then</p>
   <p>nextDigit = 3</p>
   <p>ElseIf digit = 3 Then</p>
   <p>nextDigit = 0</p>
   <p>ElseIf digit = 0 Then</p>
   <p>nextDigit = 7</p>
   <p>End If</p>
   <p>getPermutedNextDigit = nextDigit</p>
   <p>End Function</p>
   <p>'this is defined as a function, so that it doesn't show up in the user menu...</p>
   <p>'yet VB allows it to be called as a subroutine</p>
   <p>Function createInitialState() As Boolean</p>
   <p>'define and allocate space for each tape</p>
   <p>'in theory, each tape has a countable infinity of cells</p>
   <p>'in reality for any simulation, each tape has a finite length</p>
   <p>Dim integerCellValue As Integer</p>
   <p>Dim integerIndex As Integer</p>
   <p>'this routine creates input expressions of length 3, e.g. "0.0"</p>
   <p>Inputexprlen = 3</p>
   <p>MaxTapeLength = 800100</p>
   <p>'using a column of a spreadsheet to represent a tape, each row</p>
   <p>'represents a cell of a tape.</p>
   <p>'this many rows are needed to support output for 5 decimals,</p>
   <p>'with 1 decimal per row...</p>
   <p>'this is sufficient for a demo, so there's no need to make the</p>
   <p>'maximum tape length be an input parameter in a separate worksheet</p>
   <p>MaxDecimalLength = 5 '5 is the most that can be supported by this</p>
   <p>'code in VBA with tape length = 800,100</p>
   <p>'MaxPathLevel = MaxTapeLength</p>
   <p>'considering root node as level 0, with tape length 0.</p>
   <p>'a variable for maximum path level is not needed by this simulator.</p>
   <p>'max tape length is sufficient.</p>
   <p>MaxBranchTapes = 9 '0 through 9</p>
   <p>RootLevel = 0</p>
   <p>minDigitValue = 0</p>
   <p>maxDigitValue = 9</p>
   <p>ReDim UserSelectedOrder(1 To 10)</p>
   <p>If GenerateZeroBranchesFirst Then</p>
   <p>UserSelectedOrder(1) = 0</p>
   <p>UserSelectedOrder(2) = 1</p>
   <p>UserSelectedOrder(3) = 2</p>
   <p>UserSelectedOrder(4) = 3</p>
   <p>UserSelectedOrder(5) = 4</p>
   <p>UserSelectedOrder(6) = 5</p>
   <p>UserSelectedOrder(7) = 6</p>
   <p>UserSelectedOrder(8) = 7</p>
   <p>UserSelectedOrder(9) = 8</p>
   <p>UserSelectedOrder(10) = 9</p>
   <p>Else</p>
   <p>UserSelectedOrder(1) = 7</p>
   <p>UserSelectedOrder(2) = 4</p>
   <p>UserSelectedOrder(3) = 1</p>
   <p>UserSelectedOrder(4) = 8</p>
   <p>UserSelectedOrder(5) = 5</p>
   <p>UserSelectedOrder(6) = 2</p>
   <p>UserSelectedOrder(7) = 9</p>
   <p>UserSelectedOrder(8) = 6</p>
   <p>UserSelectedOrder(9) = 3</p>
   <p>UserSelectedOrder(10) = 0</p>
   <p>End If</p>
   <p>'the first cell of every tape will be counted as cell # 1</p>
   <p>ReDim InputLevelTape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim OutputLevelTape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch0Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch1Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch2Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch3Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch4Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch5Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch6Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch7Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch8Tape_CellValue(1 To MaxTapeLength)</p>
   <p>ReDim branch9Tape_CellValue(1 To MaxTapeLength)</p>
   <p>'create initial starting state of tapes:</p>
   <p>'initially, all tapes have only blank spaces on every cell</p>
   <p>For i = 1 To MaxTapeLength</p>
   <p>InputLevelTape_CellValue(i) = " "</p>
   <p>OutputLevelTape_CellValue(i) = " "</p>
   <p>branch0Tape_CellValue(i) = " "</p>
   <p>branch1Tape_CellValue(i) = " "</p>
   <p>branch2Tape_CellValue(i) = " "</p>
   <p>branch3Tape_CellValue(i) = " "</p>
   <p>branch4Tape_CellValue(i) = " "</p>
   <p>branch5Tape_CellValue(i) = " "</p>
   <p>branch6Tape_CellValue(i) = " "</p>
   <p>branch7Tape_CellValue(i) = " "</p>
   <p>branch8Tape_CellValue(i) = " "</p>
   <p>branch9Tape_CellValue(i) = " "</p>
   <p>Next i</p>
   <p>Application.Calculation = xlManual</p>
   <p>Application.ScreenUpdating = False</p>
   <p>Sheets("tapes").UsedRange.Delete</p>
   <p>Sheets("tapes").UsedRange.HorizontalAlignment = xlRight</p>
   <p>Application.ScreenUpdating = True</p>
   <p>Application.Calculation = xlAutomatic</p>
   <p>'need to restore the column headers after the cells are cleared.</p>
   <p>Worksheets("tapes").Cells(1, 1).Value = "input tape"</p>
   <p>Worksheets("tapes").Cells(1, 2).Value = "output tape"</p>
   <p>Worksheets("tapes").Cells(1, 3).Value = "branch 0"</p>
   <p>Worksheets("tapes").Cells(1, 4).Value = "branch 1"</p>
   <p>Worksheets("tapes").Cells(1, 5).Value = "branch 2"</p>
   <p>Worksheets("tapes").Cells(1, 6).Value = "branch 3"</p>
   <p>Worksheets("tapes").Cells(1, 7).Value = "branch 4"</p>
   <p>Worksheets("tapes").Cells(1, 8).Value = "branch 5"</p>
   <p>Worksheets("tapes").Cells(1, 9).Value = "branch 6"</p>
   <p>Worksheets("tapes").Cells(1, 10).Value = "branch 7"</p>
   <p>Worksheets("tapes").Cells(1, 11).Value = "branch 8"</p>
   <p>Worksheets("tapes").Cells(1, 12).Value = "branch 9"</p>
   <p>Worksheets("tapes").Cells(1, 14).Value = "most recent #"</p>
   <p>'position tape heads to start of all tapes</p>
   <p>branch0Tape_pointer = 1</p>
   <p>branch1Tape_pointer = 1</p>
   <p>branch2Tape_pointer = 1</p>
   <p>branch3Tape_pointer = 1</p>
   <p>branch4Tape_pointer = 1</p>
   <p>branch5Tape_pointer = 1</p>
   <p>branch6Tape_pointer = 1</p>
   <p>branch7Tape_pointer = 1</p>
   <p>branch8Tape_pointer = 1</p>
   <p>branch9Tape_pointer = 1</p>
   <p>integerIndex = 1</p>
   <p>InputPosition = 1</p>
   <p>For integerIndex = 1 To 10</p>
   <p>InputLevelTape_CellValue(InputPosition) = "0"</p>
   <p>Worksheets("tapes").Cells(1 + InputPosition, 1).Value = _</p>
   <p>InputLevelTape_CellValue(InputPosition)</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>InputLevelTape_CellValue(InputPosition) = "."</p>
   <p>Worksheets("tapes").Cells(1 + InputPosition, 1).Value = _</p>
   <p>InputLevelTape_CellValue(InputPosition)</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>integerCellValue = UserSelectedOrder(integerIndex)</p>
   <p>InputLevelTape_CellValue(InputPosition) = CStr(integerCellValue)</p>
   <p>Worksheets("tapes").Cells(1 + InputPosition, 1).Value = _</p>
   <p>InputLevelTape_CellValue(InputPosition)</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>InputLevelTape_CellValue(InputPosition) = " "</p>
   <p>Worksheets("tapes").Cells(1 + InputPosition, 1).Value = _</p>
   <p>InputLevelTape_CellValue(InputPosition)</p>
   <p>InputPosition = InputPosition + 1</p>
   <p>Next integerIndex</p>
   <p>InputLevelTape_CellValue(InputPosition) = "1"</p>
   <p>Worksheets("tapes").Cells(1 + InputPosition, 1).Value = _</p>
   <p>InputLevelTape_CellValue(InputPosition)</p>
   <p>'making this routine a function prevents it from being an</p>
   <p>'option in the startup menu. ...</p>
   <p>createInitialState = True</p>
   <p>End Function</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.143348-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jackson, P.C. (2023) The Infinity Tree: Representing Infinities of Real Numbers with Countably Infinite Tree Structures. Advances in Pure Mathematics, 13, 198-205.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jackson, P.C. (2025) Countability of Infinite Paths in the Infinity Tree: Proof of the Continuum Hypothesis in a Non-Cantorian Infinity Theory. Advances in Pure Mathematics, 15, 73-90.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cantor, G. (1891) On an Elementary Question in the Theory of Manifolds. In: Ewald, W.B., Ed., From Immanuel Kant to David Hilbert: A Source Book in the Foundations of Mathematics, Vol. 2, Oxford University Press, 920-922.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Turing, A.M. (1937) On Computable Numbers, with an Application to the Entscheidungs problem. Proceedings of the London Mathematical Society, 2, 230-265. &gt;https://doi.org/10.1112/plms/s2-42.1.230
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Minsky, M.L. (1967) Computation: Finite and Infinite Machines. Prentice Hall.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Stannett, M. (2006) The Case for Hypercomputation. Applied Mathematics and Computation, 178, 8-24.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hamkins, J.D. and Lewis, A. (2000) Infinite Time Turing Machines. Journal of Symbolic Logic, 65, 567-604. &gt;https://doi.org/10.2307/2586556
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cantor, G. (1878) Ein Beitrag zur Mannigfaltigkeitslehre. Journal für die reine und angewandte Mathematik (Crelles Journal), 84, 242-258. &gt;https://doi.org/10.1515/crll.1878.84.242
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hilbert, D. (1902) Mathematical Problems. Bulletin of the American Mathematical Society, 8, 437-479. &gt;https://doi.org/10.1090/s0002-9904-1902-00923-3
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gödel, K. (1940) The Consistency of the Continuum Hypothesis. Princeton University Press.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cohen, P.J. (1963) The Independence of the Continuum Hypothesis. Proceedings of the National Academy of Sciences of the United States of America, 50, 1143-1148.
    </mixed-citation>
   </ref>
   <ref id="scirp.143348-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cantor, G. (1874) On a Property of the Set of All Real Algebraic Numbers. In: Ewald, W.B., Ed., From Immanuel Kant to David Hilbert: A Source Book in the Foundations of Mathematics, Vol. 2, Oxford University Press, 839-843.
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>