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 12
if the following are true:
  • expression state at time 12 = "return"
  • 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, [ ] ] ] ], [ ] ]

then Class Map at time 13 = [ 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 12
if the following are true:
  • expression state at time 12 = "return"
  • Python Object Store at time 12 = [ ]

then Python Object Store at time 13 = [ ]


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

then Control Map at time 13 = [ entry 0: (pair ("class", "Person")), [ ] ]


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

then the expression at time 14 = "Smith"


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

then arguments stack at time 14 = [ [ 25, [ ] ], [ ] ]


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

then expression state at time 14 = "begin_expr"


Get Iterate Parent 13
if the following are true:
  • expression state at time 13 = "iterate_args"
  • arguments stack at time 13 = [ [ "Smith", [ 25, [ ] ] ], [ ] ]
  • parent stack at time 13 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ]


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

then Value Stack at time 14 = [ [ "John", [ ] ], [ ] ]


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

then the line at time 14 = 8


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

then the tab at time 14 = 0


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

then stack at time 14 = [ ]


Do Object Store At Unchanged 13
if the following are true:
  • expression state at time 13 = "iterate_args"
  • Python Object Store at time 13 = [ ]

then Python Object Store at time 14 = [ ]


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

then Control Map at time 14 = [ entry 0: (pair ("class", "Person")), [ ] ]


Do Variables At Unchanged 13
if the following are true:
  • expression state at time 13 = "iterate_args"
  • Variables Map at time 13 = [ ]

then Variables Map at time 14 = [ ]


Do Class Defs At Unchanged 13
if the following are true:
  • expression state at time 13 = "iterate_args"
  • Class Map at time 13 = [ 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 14 = [ 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 14
if the following are true:
  • the expression at time 14 = "Smith"
  • expression state at time 14 = "begin_expr"
  • "Smith" is constant
  • parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ]

then expression state at time 15 = "return"


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

then Value Stack at time 15 = [ [ "John", [ ] ], [ ] ]


Get Begin Expr Params Unchanged14
if the following are true:
  • the expression at time 14 = "Smith"
  • expression state at time 14 = "begin_expr"
  • "Smith" is constant
  • arguments stack at time 14 = [ [ 25, [ ] ], [ ] ]

then arguments stack at time 15 = [ [ 25, [ ] ], [ ] ]


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

then Return Value at time 15 = "Smith"


Get Begin Expr Const Parent 14
if the following are true:
  • expression state at time 14 = "begin_expr"
  • the expression at time 14 = "Smith"
  • "Smith" is constant
  • parent stack at time 14 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 15 = [ Person("John", "Smith", 25), [ ] ]


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

then the line at time 15 = 8


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

then the tab at time 15 = 0


Do Stack At Unchanged 14
if the following are true:
  • expression state at time 14 = "begin_expr"
  • stack at time 14 = [ ]

then stack at time 15 = [ ]


Do Object Store At Unchanged 14
if the following are true:
  • expression state at time 14 = "begin_expr"
  • Python Object Store at time 14 = [ ]

then Python Object Store at time 15 = [ ]


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

then Control Map at time 15 = [ entry 0: (pair ("class", "Person")), [ ] ]


Do Variables At Unchanged 14
if the following are true:
  • expression state at time 14 = "begin_expr"
  • Variables Map at time 14 = [ ]

then Variables Map at time 15 = [ ]


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

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

then Value Stack at time 16 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]


Do Variables At Unchanged 15
if the following are true:
  • expression state at time 15 = "return"
  • Variables Map at time 15 = [ ]

then Variables Map at time 16 = [ ]


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

then the line at time 16 = 8


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

then the tab at time 16 = 0


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

then arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]


Do Parent Stack At Unchanged 15
if the following are true:
  • expression state at time 15 = "return"
  • parent stack at time 15 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 16 = [ Person("John", "Smith", 25), [ ] ]


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

then stack at time 16 = [ ]


Do Class Defs At Unchanged 15
if the following are true:
  • expression state at time 15 = "return"
  • Class Map at time 15 = [ 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 16 = [ 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 15
if the following are true:
  • expression state at time 15 = "return"
  • Python Object Store at time 15 = [ ]

then Python Object Store at time 16 = [ ]


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

then Control Map at time 16 = [ entry 0: (pair ("class", "Person")), [ ] ]


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

then the expression at time 17 = 25


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

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


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

then expression state at time 17 = "begin_expr"


Get Iterate Parent 16
if the following are true:
  • expression state at time 16 = "iterate_args"
  • arguments stack at time 16 = [ [ 25, [ ] ], [ ] ]
  • parent stack at time 16 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 17 = [ Person("John", "Smith", 25), [ ] ]


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

then Value Stack at time 17 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]


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

then the line at time 17 = 8


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

then the tab at time 17 = 0


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

then stack at time 17 = [ ]


Do Object Store At Unchanged 16
if the following are true:
  • expression state at time 16 = "iterate_args"
  • Python Object Store at time 16 = [ ]

then Python Object Store at time 17 = [ ]


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

then Control Map at time 17 = [ entry 0: (pair ("class", "Person")), [ ] ]


Do Variables At Unchanged 16
if the following are true:
  • expression state at time 16 = "iterate_args"
  • Variables Map at time 16 = [ ]

then Variables Map at time 17 = [ ]


Do Class Defs At Unchanged 16
if the following are true:
  • expression state at time 16 = "iterate_args"
  • Class Map at time 16 = [ 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 17 = [ 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 17
if the following are true:
  • the expression at time 17 = 25
  • expression state at time 17 = "begin_expr"
  • 25 is constant
  • parent stack at time 17 = [ Person("John", "Smith", 25), [ ] ]

then expression state at time 18 = "return"


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

then Value Stack at time 18 = [ [ "Smith", [ "John", [ ] ] ], [ ] ]


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

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


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

then Return Value at time 18 = 25


Get Begin Expr Const Parent 17
if the following are true:
  • expression state at time 17 = "begin_expr"
  • the expression at time 17 = 25
  • 25 is constant
  • parent stack at time 17 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 18 = [ Person("John", "Smith", 25), [ ] ]


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

then the line at time 18 = 8


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

then the tab at time 18 = 0


Do Stack At Unchanged 17
if the following are true:
  • expression state at time 17 = "begin_expr"
  • stack at time 17 = [ ]

then stack at time 18 = [ ]


Do Object Store At Unchanged 17
if the following are true:
  • expression state at time 17 = "begin_expr"
  • Python Object Store at time 17 = [ ]

then Python Object Store at time 18 = [ ]


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

then Control Map at time 18 = [ entry 0: (pair ("class", "Person")), [ ] ]


Do Variables At Unchanged 17
if the following are true:
  • expression state at time 17 = "begin_expr"
  • Variables Map at time 17 = [ ]

then Variables Map at time 18 = [ ]


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

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

then Value Stack at time 19 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]


Do Variables At Unchanged 18
if the following are true:
  • expression state at time 18 = "return"
  • Variables Map at time 18 = [ ]

then Variables Map at time 19 = [ ]


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

then the line at time 19 = 8


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

then the tab at time 19 = 0


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

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


Do Parent Stack At Unchanged 18
if the following are true:
  • expression state at time 18 = "return"
  • parent stack at time 18 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 19 = [ Person("John", "Smith", 25), [ ] ]


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

then stack at time 19 = [ ]


Do Class Defs At Unchanged 18
if the following are true:
  • expression state at time 18 = "return"
  • Class Map at time 18 = [ 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 19 = [ 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 18
if the following are true:
  • expression state at time 18 = "return"
  • Python Object Store at time 18 = [ ]

then Python Object Store at time 19 = [ ]


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

then Control Map at time 19 = [ entry 0: (pair ("class", "Person")), [ ] ]


Get Iterate End State 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • arguments stack at time 19 = [ [ ], [ ] ]
  • parent stack at time 19 = [ Person("John", "Smith", 25), [ ] ]

then expression state at time 20 = "call_function_begin"


Get Iterate End Expr 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • arguments stack at time 19 = [ [ ], [ ] ]
  • parent stack at time 19 = [ Person("John", "Smith", 25), [ ] ]

then the expression at time 20 = Person("John", "Smith", 25)


Get Iterate End Parent 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • arguments stack at time 19 = [ [ ], [ ] ]
  • parent stack at time 19 = [ Person("John", "Smith", 25), [ ] ]

then parent stack at time 20 = [ ]


Get Iterate End Params 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • arguments stack at time 19 = [ [ ], [ ] ]
  • parent stack at time 19 = [ Person("John", "Smith", 25), [ ] ]

then arguments stack at time 20 = [ ]


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

then Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]


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

then the line at time 20 = 8


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

then the tab at time 20 = 0


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

then stack at time 20 = [ ]


Do Object Store At Unchanged 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • Python Object Store at time 19 = [ ]

then Python Object Store at time 20 = [ ]


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

then Control Map at time 20 = [ entry 0: (pair ("class", "Person")), [ ] ]


Do Variables At Unchanged 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • Variables Map at time 19 = [ ]

then Variables Map at time 20 = [ ]


Do Class Defs At Unchanged 19
if the following are true:
  • expression state at time 19 = "iterate_args"
  • Class Map at time 19 = [ 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 20 = [ 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 Expr At Unchanged 20
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • the expression at time 20 = Person("John", "Smith", 25)

then the expression at time 21 = Person("John", "Smith", 25)


Call Constructor State Property Example
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
  • the expression at time 20 = Person("John", "Smith", 25)

then expression state at time 21 = "call_build_args"


Write Call Function Begin Tmp Vars 20
if expression state at time 20 = "call_function_begin", then Function Variables Map at time 21 = [ ]

Do Get Key Value 20 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 20 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 20 2
value at "__init__" 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, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ]

Do Get Key Value 20 3
value at "params" in map [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ] = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]

Prove Find Method Def 20
definition of method "__init__" 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, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ]

Prove Find Method Def At 20
if Class Map at time 20 = [ 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 definition of method "__init__" of class "Person" in (Class Map at time 20) = [ entry "params": [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ], [ entry "line": 2, [ ] ] ]

Prove Find Method Params 20
if Class Map at time 20 = [ 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 method parameters where the Class Map is (Class Map at time 20), class name is "Person", and method name is "__init__" = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]

Save Constructor Parameters Property Example
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • the expression at time 20 = Person("John", "Smith", 25)
  • method parameters where the Class Map is (Class Map at time 20), class name is "Person", and method name is "__init__" = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]

then Parameters List at time 21 = [ self, [ first_name, [ last_name, [ age, [ ] ] ] ] ]


Do Reverse 20 0
reverse of [ 25, [ "Smith", [ "John", [ ] ] ] ] = [ "John", [ "Smith", [ 25, [ ] ] ] ]

Write Call Function Begin Values 20
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
  • the expression at time 20 = Person("John", "Smith", 25)

then Argument Values at time 21 = [ "John", [ "Smith", [ 25, [ ] ] ] ]


Do Object Store At Unchanged 20
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • the expression at time 20 = Person("John", "Smith", 25)
  • Python Object Store at time 20 = [ ]

then Python Object Store at time 21 = [ ]


Write Call Function Begin Value Stack 20
if the following are true:
  • expression state at time 20 = "call_function_begin"
  • Value Stack at time 20 = [ [ 25, [ "Smith", [ "John", [ ] ] ] ], [ ] ]
  • the expression at time 20 = Person("John", "Smith", 25)

then Value Stack at time 21 = [ ]



Pages: 170 171 172 ... 193