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

Do Class Defs At Unchanged 57
if the following are true:
  • expression state at time 57 = "call_build_args"
  • Class Map at time 57 = [ 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 58 = [ 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, [ ] ] ] ], [ ] ]


Write Call Function Build End Stack 58
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • stack at time 58 = [ ]
  • Variables Map at time 58 = [ entry p: (Python reference 0), [ ] ]
  • parent stack at time 58 = [ ]
  • arguments stack at time 58 = [ ]
  • Value Stack at time 58 = [ ]
  • the line at time 58 = 9
  • the tab at time 58 = 0
  • Control Map at time 58 = [ entry 0: (pair ("class", "Person")), [ ] ]

then stack at time 59 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Write Call Function Build End Variables 58
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • Function Variables Map at time 58 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 59 = [ entry self: (Python reference 0), [ ] ]


Do Get Key Value 58 0
value at "Person" in map [ 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, [ ] ] ] ], [ ] ] = [ 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, [ ] ] ] ]

Do Get Key Value 58 1
value at "methods" in map [ 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, [ ] ] ] ] = [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ]

Do Get Key Value 58 2
value at "age_in_months" in map [ entry "__init__": [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ], [ entry "age_in_months": [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ], [ ] ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ]

Do Get Key Value 58 3
value at "line" in map [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ] = 6

Prove Find Method Def 58
definition of method "age_in_months" of class "Person" in [ 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, [ ] ] ] ], [ ] ] = [ entry "params": [ self, [ ] ], [ entry "line": 6, [ ] ] ]

Prove Find Method Line 58
if Class Map at time 58 = [ 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 line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6

Jump To Method Property Example
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • the expression at time 58 = p.age_in_months()
  • line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6

then the line at time 59 = 7


Jump To Method Tab Property Example
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • the expression at time 58 = p.age_in_months()
  • line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6

then the tab at time 59 = 2


Write Call Function Build End State 58
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]

then expression state at time 59 = "not_expr"


Write Call Function Build End Object Store 58
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • Python Object Store at time 58 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 59 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Push In Block Property Example
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Parameters List at time 58 = [ ]
  • the expression at time 58 = p.age_in_months()
  • line number of method "age_in_months" of class "Person" in (Class Map at time 58) = 6

then Control Map at time 59 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Class Defs At Unchanged 58
if the following are true:
  • expression state at time 58 = "call_build_args"
  • Class Map at time 58 = [ 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 59 = [ 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, [ ] ] ] ], [ ] ]


Do Convert Stmt 59
if statement at line 7, tab 2 = return self.age * 12, then statement at line 7, tab 2 = return __mul__(self.age, 12)

Write Set Name Expr At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then the expression at time 60 = __mul__(self.age, 12)


Write Set Name Expr State At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then expression state at time 60 = "begin_expr"


Write Set Name Line At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then the line at time 60 = 7


Write Set Name Tab At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then the tab at time 60 = 2


Write Set Name Value Stack At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then Value Stack at time 60 = [ ]


Write Set Name Parent Stack At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then parent stack at time 60 = [ ]


Write Set Name Arg Stack At on State 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"

then arguments stack at time 60 = [ ]


Write Stmt Variables At Unchanged Expr59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"
  • Variables Map at time 59 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 60 = [ entry self: (Python reference 0), [ ] ]


Write Stmt Stack At Unchanged Expr59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"
  • stack at time 59 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 60 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Write Stmt Object Store At Unchanged Expr59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"
  • Python Object Store at time 59 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 60 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • expression state at time 59 = "not_expr"
  • Control Map at time 59 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 60 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Write Stmt Class Defs At Unchanged 59
if the following are true:
  • the line at time 59 = 7
  • the tab at time 59 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • Class Map at time 59 = [ 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 60 = [ 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, [ ] ] ] ], [ ] ]


Get Begin Expr Value 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the expression at time 60 = __mul__(self.age, 12)
  • Value Stack at time 60 = [ ]

then Value Stack at time 61 = [ [ ], [ ] ]


Get Begin Expr Parent 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the expression at time 60 = __mul__(self.age, 12)
  • parent stack at time 60 = [ ]

then parent stack at time 61 = [ __mul__(self.age, 12), [ ] ]


Get Begin Expr Params 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the expression at time 60 = __mul__(self.age, 12)
  • arguments stack at time 60 = [ ]

then arguments stack at time 61 = [ [ self.age, [ 12, [ ] ] ], [ ] ]


Get Begin Expr Call State 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the expression at time 60 = __mul__(self.age, 12)

then expression state at time 61 = "iterate_args"


Do Expr At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the expression at time 60 = __mul__(self.age, 12)

then the expression at time 61 = __mul__(self.age, 12)


Do Variables At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • Variables Map at time 60 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 61 = [ entry self: (Python reference 0), [ ] ]


Do Line At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the line at time 60 = 7

then the line at time 61 = 7


Do Tab At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • the tab at time 60 = 2

then the tab at time 61 = 2


Do Stack At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • stack at time 60 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 61 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Object Store At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • Python Object Store at time 60 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 61 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • Control Map at time 60 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 61 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Class Defs At Unchanged 60
if the following are true:
  • expression state at time 60 = "begin_expr"
  • Class Map at time 60 = [ 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 61 = [ 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, [ ] ] ] ], [ ] ]


Get Iterate Expr 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • arguments stack at time 61 = [ [ self.age, [ 12, [ ] ] ], [ ] ]

then the expression at time 62 = self.age


Get Iterate Params 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • arguments stack at time 61 = [ [ self.age, [ 12, [ ] ] ], [ ] ]

then arguments stack at time 62 = [ [ 12, [ ] ], [ ] ]


Get Iterate State 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • arguments stack at time 61 = [ [ self.age, [ 12, [ ] ] ], [ ] ]

then expression state at time 62 = "begin_expr"


Get Iterate Parent 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • arguments stack at time 61 = [ [ self.age, [ 12, [ ] ] ], [ ] ]
  • parent stack at time 61 = [ __mul__(self.age, 12), [ ] ]

then parent stack at time 62 = [ __mul__(self.age, 12), [ ] ]


Do Value Stack At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • Value Stack at time 61 = [ [ ], [ ] ]

then Value Stack at time 62 = [ [ ], [ ] ]


Do Line At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • the line at time 61 = 7

then the line at time 62 = 7


Do Tab At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • the tab at time 61 = 2

then the tab at time 62 = 2


Do Stack At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • stack at time 61 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 62 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Object Store At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • Python Object Store at time 61 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 62 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • Control Map at time 61 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 62 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Variables At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • Variables Map at time 61 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 62 = [ entry self: (Python reference 0), [ ] ]


Do Class Defs At Unchanged 61
if the following are true:
  • expression state at time 61 = "iterate_args"
  • Class Map at time 61 = [ 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 62 = [ 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, [ ] ] ] ], [ ] ]


Get Begin Expr Value 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the expression at time 62 = self.age
  • Value Stack at time 62 = [ [ ], [ ] ]

then Value Stack at time 63 = [ [ ], [ [ ], [ ] ] ]


Get Begin Expr Parent 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the expression at time 62 = self.age
  • parent stack at time 62 = [ __mul__(self.age, 12), [ ] ]

then parent stack at time 63 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]


Get Begin Expr Params 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the expression at time 62 = self.age
  • arguments stack at time 62 = [ [ 12, [ ] ], [ ] ]

then arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]


Get Begin Expr Call State 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the expression at time 62 = self.age

then expression state at time 63 = "iterate_args"


Do Expr At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the expression at time 62 = self.age

then the expression at time 63 = self.age


Do Variables At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • Variables Map at time 62 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 63 = [ entry self: (Python reference 0), [ ] ]


Do Line At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the line at time 62 = 7

then the line at time 63 = 7


Do Tab At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • the tab at time 62 = 2

then the tab at time 63 = 2


Do Stack At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • stack at time 62 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 63 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Object Store At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • Python Object Store at time 62 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 63 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • Control Map at time 62 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 63 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Class Defs At Unchanged 62
if the following are true:
  • expression state at time 62 = "begin_expr"
  • Class Map at time 62 = [ 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 63 = [ 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, [ ] ] ] ], [ ] ]


Get Iterate Expr 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]

then the expression at time 64 = self


Get Iterate Params 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]

then arguments stack at time 64 = [ [ ], [ [ 12, [ ] ], [ ] ] ]


Get Iterate State 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]

then expression state at time 64 = "begin_expr"


Get Iterate Parent 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • arguments stack at time 63 = [ [ self, [ ] ], [ [ 12, [ ] ], [ ] ] ]
  • parent stack at time 63 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]

then parent stack at time 64 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]


Do Value Stack At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • Value Stack at time 63 = [ [ ], [ [ ], [ ] ] ]

then Value Stack at time 64 = [ [ ], [ [ ], [ ] ] ]


Do Line At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • the line at time 63 = 7

then the line at time 64 = 7


Do Tab At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • the tab at time 63 = 2

then the tab at time 64 = 2


Do Stack At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • stack at time 63 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 64 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Object Store At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • Python Object Store at time 63 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 64 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • Control Map at time 63 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 64 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Variables At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • Variables Map at time 63 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]


Do Class Defs At Unchanged 63
if the following are true:
  • expression state at time 63 = "iterate_args"
  • Class Map at time 63 = [ 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 64 = [ 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, [ ] ] ] ], [ ] ]


Do Get Key Value 64 0
value at self in map [ entry self: (Python reference 0), [ ] ] = Python reference 0

Do Variables At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 65 = [ entry self: (Python reference 0), [ ] ]


Get Begin Expr State Name 64
if the following are true:
  • the expression at time 64 = self
  • expression state at time 64 = "begin_expr"
  • self is a variable
  • parent stack at time 64 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]

then expression state at time 65 = "return"


Get Begin Expr Value Unchaged Name 64
if the following are true:
  • the expression at time 64 = self
  • expression state at time 64 = "begin_expr"
  • self is a variable
  • Value Stack at time 64 = [ [ ], [ [ ], [ ] ] ]

then Value Stack at time 65 = [ [ ], [ [ ], [ ] ] ]


Get Begin Expr Params Unchanged Name64
if the following are true:
  • the expression at time 64 = self
  • expression state at time 64 = "begin_expr"
  • self is a variable
  • arguments stack at time 64 = [ [ ], [ [ 12, [ ] ], [ ] ] ]

then arguments stack at time 65 = [ [ ], [ [ 12, [ ] ], [ ] ] ]


Get Begin Expr Return Name 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • the expression at time 64 = self
  • self is a variable
  • Variables Map at time 64 = [ entry self: (Python reference 0), [ ] ]

then Return Value at time 65 = Python reference 0


Get Begin Expr Parent Name 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • the expression at time 64 = self
  • self is a variable
  • parent stack at time 64 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]

then parent stack at time 65 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]


Do Line At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • the line at time 64 = 7

then the line at time 65 = 7


Do Tab At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • the tab at time 64 = 2

then the tab at time 65 = 2


Do Stack At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • stack at time 64 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 65 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Object Store At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • Python Object Store at time 64 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 65 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • Control Map at time 64 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 65 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]


Do Class Defs At Unchanged 64
if the following are true:
  • expression state at time 64 = "begin_expr"
  • Class Map at time 64 = [ 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 65 = [ 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, [ ] ] ] ], [ ] ]


Get New State 65
if expression state at time 65 = "return", then expression state at time 66 = "iterate_args"

Get Return Value 65
if the following are true:
  • expression state at time 65 = "return"
  • Value Stack at time 65 = [ [ ], [ [ ], [ ] ] ]
  • Return Value at time 65 = Python reference 0

then Value Stack at time 66 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]


Do Variables At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • Variables Map at time 65 = [ entry self: (Python reference 0), [ ] ]

then Variables Map at time 66 = [ entry self: (Python reference 0), [ ] ]


Do Line At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • the line at time 65 = 7

then the line at time 66 = 7


Do Tab At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • the tab at time 65 = 2

then the tab at time 66 = 2


Do Arg Stack At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • arguments stack at time 65 = [ [ ], [ [ 12, [ ] ], [ ] ] ]

then arguments stack at time 66 = [ [ ], [ [ 12, [ ] ], [ ] ] ]


Do Parent Stack At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • parent stack at time 65 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]

then parent stack at time 66 = [ self.age, [ __mul__(self.age, 12), [ ] ] ]


Do Stack At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • stack at time 65 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

then stack at time 66 = [ program context with variables: [ entry p: (Python reference 0), [ ] ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 9 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]


Do Class Defs At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • Class Map at time 65 = [ 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 66 = [ 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, [ ] ] ] ], [ ] ]


Do Object Store At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • Python Object Store at time 65 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

then Python Object Store at time 66 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]


Do Control Map At Unchanged 65
if the following are true:
  • expression state at time 65 = "return"
  • Control Map at time 65 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]

then Control Map at time 66 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "age_in_months")), [ ] ] ]



Pages: 176 177 178 ... 193