Proofs
A proof is a series of claims that lead to a conclusion. Some proofs are conditional, which means that the claims can only be made under certain conditions. Click on a statement to see the proof
- the line at time 3 = 4
- the tab at time 3 = 1
- statement at line 4, tab 2 =
self.last_name = last_name
- stack at time 3 = [ ]
then stack at time 4 = [ ]
- the line at time 3 = 4
- the tab at time 3 = 1
- statement at line 4, tab 2 =
self.last_name = last_name
- Python Object Store at time 3 = [ ]
then Python Object Store at time 4 = [ ]
- the line at time 3 = 4
- the tab at time 3 = 1
- statement at line 4, tab 2 =
self.last_name = last_name
- Control Map at time 3 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 4 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 3 = 4
- the tab at time 3 = 1
- statement at line 4, tab 2 =
self.last_name = last_name
- Class Map at time 3 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 4 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the line at time 3 = 4
- the tab at time 3 = 1
- statement at line 4, tab 2 =
self.last_name = last_name
then expression state at time 4 = "not_expr"
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
then the line at time 5 = 6
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
then the tab at time 5 = 1
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
- Variables Map at time 4 = [ ]
then Variables Map at time 5 = [ ]
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
- stack at time 4 = [ ]
then stack at time 5 = [ ]
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
- Python Object Store at time 4 = [ ]
then Python Object Store at time 5 = [ ]
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
- Control Map at time 4 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 5 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
- Class Map at time 4 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 5 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the line at time 4 = 5
- the tab at time 4 = 1
- statement at line 5, tab 2 =
self.age = age
then expression state at time 5 = "not_expr"
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
- value at "Person" in map (Class Map at time 5) = [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ]
- value at "methods" in map [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ] = [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ]
- Class Map at time 5 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 6 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
then the line at time 6 = 7
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
- Variables Map at time 5 = [ ]
then Variables Map at time 6 = [ ]
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
- stack at time 5 = [ ]
then stack at time 6 = [ ]
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
then the tab at time 6 = 1
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
- Python Object Store at time 5 = [ ]
then Python Object Store at time 6 = [ ]
- the line at time 5 = 6
- the tab at time 5 = 1
- statement at line 6, tab 1 =
def age_in_months(self):
- Control Map at time 5 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 6 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
then the line at time 7 = 8
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
then the tab at time 7 = 1
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
- Variables Map at time 6 = [ ]
then Variables Map at time 7 = [ ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
- stack at time 6 = [ ]
then stack at time 7 = [ ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
- Python Object Store at time 6 = [ ]
then Python Object Store at time 7 = [ ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
- Control Map at time 6 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
- Class Map at time 6 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 7 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the line at time 6 = 7
- the tab at time 6 = 1
- statement at line 7, tab 2 =
return self.age * 12
then expression state at time 7 = "not_expr"
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
then the tab at time 8 = 0
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 8 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
then expression state at time 8 = "not_expr"
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
then the line at time 8 = 8
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
- Variables Map at time 7 = [ ]
then Variables Map at time 8 = [ ]
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
- stack at time 7 = [ ]
then stack at time 8 = [ ]
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
- Python Object Store at time 7 = [ ]
then Python Object Store at time 8 = [ ]
- the line at time 7 = 8
- the tab at time 7 = 1
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 7 = [ entry 0: (pair ("class", "Person")), [ ] ]
- Class Map at time 7 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 8 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then the expression at time 9 = Person("John", "Smith", 25)
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then expression state at time 9 = "begin_expr"
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then the line at time 9 = 8
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then the tab at time 9 = 0
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then Value Stack at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then parent stack at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
then arguments stack at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
- Variables Map at time 8 = [ ]
then Variables Map at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
- stack at time 8 = [ ]
then stack at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- expression state at time 8 = "not_expr"
- Python Object Store at time 8 = [ ]
then Python Object Store at time 9 = [ ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Control Map at time 8 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 9 = [ entry 0: (pair ("class", "Person")), [ ] ]
- the line at time 8 = 8
- the tab at time 8 = 0
- statement at line 8, tab 0 =
p = Person("John", "Smith", 25)
- Class Map at time 8 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 9 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 9 = "begin_expr"
- the expression at time 9 =
Person("John", "Smith", 25)
- Value Stack at time 9 = [ ]
then Value Stack at time 10 = [ [ ], [ ] ]
- expression state at time 9 = "begin_expr"
- the expression at time 9 =
Person("John", "Smith", 25)
- parent stack at time 9 = [ ]
then parent stack at time 10 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 9 = "begin_expr"
- the expression at time 9 =
Person("John", "Smith", 25)
- arguments stack at time 9 = [ ]
then arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
- expression state at time 9 = "begin_expr"
- the expression at time 9 =
Person("John", "Smith", 25)
then expression state at time 10 = "iterate_args"
- expression state at time 9 = "begin_expr"
- the expression at time 9 =
Person("John", "Smith", 25)
then the expression at time 10 = Person("John", "Smith", 25)
- expression state at time 9 = "begin_expr"
- Variables Map at time 9 = [ ]
then Variables Map at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- the line at time 9 = 8
then the line at time 10 = 8
- expression state at time 9 = "begin_expr"
- the tab at time 9 = 0
then the tab at time 10 = 0
- expression state at time 9 = "begin_expr"
- stack at time 9 = [ ]
then stack at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Python Object Store at time 9 = [ ]
then Python Object Store at time 10 = [ ]
- expression state at time 9 = "begin_expr"
- Control Map at time 9 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 10 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 9 = "begin_expr"
- Class Map at time 9 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 10 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 10 = "iterate_args"
- arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
then the expression at time 11 = "John"
- expression state at time 10 = "iterate_args"
- arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
then arguments stack at time 11 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
- expression state at time 10 = "iterate_args"
- arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
then expression state at time 11 = "begin_expr"
- expression state at time 10 = "iterate_args"
- arguments stack at time 10 = [ [ "John", [ "Smith", [ 25, [ ] ] ] ], [ ] ]
- parent stack at time 10 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 11 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 10 = "iterate_args"
- Value Stack at time 10 = [ [ ], [ ] ]
then Value Stack at time 11 = [ [ ], [ ] ]
- expression state at time 10 = "iterate_args"
- the line at time 10 = 8
then the line at time 11 = 8
- expression state at time 10 = "iterate_args"
- the tab at time 10 = 0
then the tab at time 11 = 0
- expression state at time 10 = "iterate_args"
- stack at time 10 = [ ]
then stack at time 11 = [ ]
- expression state at time 10 = "iterate_args"
- Python Object Store at time 10 = [ ]
then Python Object Store at time 11 = [ ]
- expression state at time 10 = "iterate_args"
- Control Map at time 10 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 11 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 10 = "iterate_args"
- Variables Map at time 10 = [ ]
then Variables Map at time 11 = [ ]
- expression state at time 10 = "iterate_args"
- Class Map at time 10 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 11 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- the expression at time 11 = "John"
- expression state at time 11 = "begin_expr"
- "John" is constant
- parent stack at time 11 = [
Person("John", "Smith", 25)
, [ ] ]
then expression state at time 12 = "return"
- the expression at time 11 = "John"
- expression state at time 11 = "begin_expr"
- "John" is constant
- Value Stack at time 11 = [ [ ], [ ] ]
then Value Stack at time 12 = [ [ ], [ ] ]
- the expression at time 11 = "John"
- expression state at time 11 = "begin_expr"
- "John" is constant
- arguments stack at time 11 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
then arguments stack at time 12 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
- expression state at time 11 = "begin_expr"
- the expression at time 11 = "John"
- "John" is constant
then Return Value at time 12 = "John"
- expression state at time 11 = "begin_expr"
- the expression at time 11 = "John"
- "John" is constant
- parent stack at time 11 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 12 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 11 = "begin_expr"
- the line at time 11 = 8
then the line at time 12 = 8
- expression state at time 11 = "begin_expr"
- the tab at time 11 = 0
then the tab at time 12 = 0
- expression state at time 11 = "begin_expr"
- stack at time 11 = [ ]
then stack at time 12 = [ ]
- expression state at time 11 = "begin_expr"
- Python Object Store at time 11 = [ ]
then Python Object Store at time 12 = [ ]
- expression state at time 11 = "begin_expr"
- Control Map at time 11 = [ entry 0: (pair ("class", "Person")), [ ] ]
then Control Map at time 12 = [ entry 0: (pair ("class", "Person")), [ ] ]
- expression state at time 11 = "begin_expr"
- Variables Map at time 11 = [ ]
then Variables Map at time 12 = [ ]
- expression state at time 11 = "begin_expr"
- Class Map at time 11 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
then Class Map at time 12 = [ entry "Person": [ entry "bases": [ ], [ entry "methods": [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ], [ entry "line": 1, [ ] ] ] ], [ ] ]
- expression state at time 12 = "return"
- Value Stack at time 12 = [ [ ], [ ] ]
- Return Value at time 12 = "John"
then Value Stack at time 13 = [ [ "John", [ ] ], [ ] ]
- expression state at time 12 = "return"
- Variables Map at time 12 = [ ]
then Variables Map at time 13 = [ ]
- expression state at time 12 = "return"
- the line at time 12 = 8
then the line at time 13 = 8
- expression state at time 12 = "return"
- the tab at time 12 = 0
then the tab at time 13 = 0
- expression state at time 12 = "return"
- arguments stack at time 12 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
then arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
- expression state at time 12 = "return"
- parent stack at time 12 = [
Person("John", "Smith", 25)
, [ ] ]
then parent stack at time 13 = [ Person("John", "Smith", 25)
, [ ] ]
- expression state at time 12 = "return"
- stack at time 12 = [ ]
then stack at time 13 = [ ]