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

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

then expression state at time 67 = "call_function_begin"


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

then the expression at time 67 = self.age


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

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


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

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


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

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


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

then the line at time 67 = 7


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

then the tab at time 67 = 2


Do Stack At Unchanged 66
if the following are true:
  • expression state at time 66 = "iterate_args"
  • 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")), [ ] ], [ ] ]

then stack at time 67 = [ 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 66
if the following are true:
  • expression state at time 66 = "iterate_args"
  • Python Object Store at time 66 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

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


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

then Class Map at time 67 = [ 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 67 0
value at "age" in map [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ] = 25

Do Element At 67 0
the element at index 0 of stack [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ] = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ]

Write Element At Object Store 67
if Python Object Store at time 67 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ], then the element at index 0 of stack (Python Object Store at time 67) = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ]

Class Get Attribute Property Example
if the following are true:
  • expression state at time 67 = "call_function_begin"
  • the expression at time 67 = self.age
  • Value Stack at time 67 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
  • the element at index 0 of stack (Python Object Store at time 67) = Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ]

then Return Value at time 68 = 25


Write Call Function Begin Next State 67
if the following are true:
  • expression state at time 67 = "call_function_begin"
  • parent stack at time 67 = [ __mul__(self.age, 12), [ ] ]
  • the expression at time 67 = self.age

then expression state at time 68 = "return"


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

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


Write Call Function Begin Value Stack 67
if the following are true:
  • expression state at time 67 = "call_function_begin"
  • Value Stack at time 67 = [ [ Python reference 0, [ ] ], [ [ ], [ ] ] ]
  • the expression at time 67 = self.age

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


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

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


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

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


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

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


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

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


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

then the line at time 68 = 7


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

then the tab at time 68 = 2


Do Stack At Unchanged 67
if the following are true:
  • expression state at time 67 = "call_function_begin"
  • stack at time 67 = [ 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 68 = [ 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 67
if the following are true:
  • expression state at time 67 = "call_function_begin"
  • Class Map at time 67 = [ 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 68 = [ 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 68
if expression state at time 68 = "return", then expression state at time 69 = "iterate_args"

Get Return Value 68
if the following are true:
  • expression state at time 68 = "return"
  • Value Stack at time 68 = [ [ ], [ ] ]
  • Return Value at time 68 = 25

then Value Stack at time 69 = [ [ 25, [ ] ], [ ] ]


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

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


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

then the line at time 69 = 7


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

then the tab at time 69 = 2


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

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


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

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


Do Stack At Unchanged 68
if the following are true:
  • expression state at time 68 = "return"
  • stack at time 68 = [ 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 69 = [ 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 68
if the following are true:
  • expression state at time 68 = "return"
  • Class Map at time 68 = [ 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 69 = [ 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 68
if the following are true:
  • expression state at time 68 = "return"
  • Python Object Store at time 68 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

then the expression at time 70 = 12


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

then arguments stack at time 70 = [ [ ], [ ] ]


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

then expression state at time 70 = "begin_expr"


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

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


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

then Value Stack at time 70 = [ [ 25, [ ] ], [ ] ]


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

then the line at time 70 = 7


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

then the tab at time 70 = 2


Do Stack At Unchanged 69
if the following are true:
  • expression state at time 69 = "iterate_args"
  • stack at time 69 = [ 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 70 = [ 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 69
if the following are true:
  • expression state at time 69 = "iterate_args"
  • Python Object Store at time 69 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

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


Do Class Defs At Unchanged 69
if the following are true:
  • expression state at time 69 = "iterate_args"
  • Class Map at time 69 = [ 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 70 = [ 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 State 70
if the following are true:
  • the expression at time 70 = 12
  • expression state at time 70 = "begin_expr"
  • 12 is constant
  • parent stack at time 70 = [ __mul__(self.age, 12), [ ] ]

then expression state at time 71 = "return"


Get Begin Expr Value Unchaged 70
if the following are true:
  • the expression at time 70 = 12
  • expression state at time 70 = "begin_expr"
  • 12 is constant
  • Value Stack at time 70 = [ [ 25, [ ] ], [ ] ]

then Value Stack at time 71 = [ [ 25, [ ] ], [ ] ]


Get Begin Expr Params Unchanged70
if the following are true:
  • the expression at time 70 = 12
  • expression state at time 70 = "begin_expr"
  • 12 is constant
  • arguments stack at time 70 = [ [ ], [ ] ]

then arguments stack at time 71 = [ [ ], [ ] ]


Get Begin Expr Return 70
if the following are true:
  • expression state at time 70 = "begin_expr"
  • the expression at time 70 = 12
  • 12 is constant

then Return Value at time 71 = 12


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

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


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

then the line at time 71 = 7


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

then the tab at time 71 = 2


Do Stack At Unchanged 70
if the following are true:
  • expression state at time 70 = "begin_expr"
  • stack at time 70 = [ 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 71 = [ 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 70
if the following are true:
  • expression state at time 70 = "begin_expr"
  • Python Object Store at time 70 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

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


Do Class Defs At Unchanged 70
if the following are true:
  • expression state at time 70 = "begin_expr"
  • Class Map at time 70 = [ 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 71 = [ 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 71
if expression state at time 71 = "return", then expression state at time 72 = "iterate_args"

Get Return Value 71
if the following are true:
  • expression state at time 71 = "return"
  • Value Stack at time 71 = [ [ 25, [ ] ], [ ] ]
  • Return Value at time 71 = 12

then Value Stack at time 72 = [ [ 12, [ 25, [ ] ] ], [ ] ]


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

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


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

then the line at time 72 = 7


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

then the tab at time 72 = 2


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

then arguments stack at time 72 = [ [ ], [ ] ]


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

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


Do Stack At Unchanged 71
if the following are true:
  • expression state at time 71 = "return"
  • stack at time 71 = [ 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 72 = [ 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 71
if the following are true:
  • expression state at time 71 = "return"
  • Class Map at time 71 = [ 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 72 = [ 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 71
if the following are true:
  • expression state at time 71 = "return"
  • Python Object Store at time 71 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

then expression state at time 73 = "call_function_begin"


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

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


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

then parent stack at time 73 = [ ]


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

then arguments stack at time 73 = [ ]


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

then Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]


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

then the line at time 73 = 7


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

then the tab at time 73 = 2


Do Stack At Unchanged 72
if the following are true:
  • expression state at time 72 = "iterate_args"
  • stack at time 72 = [ 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 73 = [ 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 72
if the following are true:
  • expression state at time 72 = "iterate_args"
  • Python Object Store at time 72 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


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

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


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

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


Do Class Defs At Unchanged 72
if the following are true:
  • expression state at time 72 = "iterate_args"
  • Class Map at time 72 = [ 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 73 = [ 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 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • the expression at time 73 = __mul__(self.age, 12)
  • Python Object Store at time 73 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ entry "last_name": "Smith", [ entry "age": 25, [ ] ] ] ] ], [ ] ]

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


Write Call Function Begin Multiply Return Val 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]
  • the expression at time 73 = __mul__(self.age, 12)

then Return Value at time 74 = 300


Write Call Function Begin Next State 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • parent stack at time 73 = [ ]
  • the expression at time 73 = __mul__(self.age, 12)

then expression state at time 74 = "end_expr"


Write Call Function Begin Value Stack 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • Value Stack at time 73 = [ [ 12, [ 25, [ ] ] ], [ ] ]
  • the expression at time 73 = __mul__(self.age, 12)

then Value Stack at time 74 = [ ]


Do Arg Stack At Unchanged 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • arguments stack at time 73 = [ ]

then arguments stack at time 74 = [ ]


Do Parent Stack At Unchanged 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • parent stack at time 73 = [ ]

then parent stack at time 74 = [ ]


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

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


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

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


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

then the line at time 74 = 7


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

then the tab at time 74 = 2


Do Stack At Unchanged 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • stack at time 73 = [ 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 74 = [ 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 73
if the following are true:
  • expression state at time 73 = "call_function_begin"
  • Class Map at time 73 = [ 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 74 = [ 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 Return Call Variables At 74
if the following are true:
  • the line at time 74 = 7
  • the tab at time 74 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • stack at time 74 = [ 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")), [ ] ], [ ] ]
  • expression state at time 74 = "end_expr"

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


Write Return Call Line At 74
if the following are true:
  • the line at time 74 = 7
  • the tab at time 74 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • stack at time 74 = [ 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")), [ ] ], [ ] ]
  • expression state at time 74 = "end_expr"

then the line at time 75 = 9


Write Return Call Tab At 74
if the following are true:
  • the line at time 74 = 7
  • the tab at time 74 = 2
  • statement at line 7, tab 2 = return __mul__(self.age, 12)
  • stack at time 74 = [ 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")), [ ] ], [ ] ]
  • expression state at time 74 = "end_expr"

then the tab at time 75 = 0



Pages: 177 178 179 ... 193