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

Write Stmt Variables At Unchanged 26
if the following are true:
  • the line at time 26 = 3
  • the tab at time 26 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • Variables Map at time 26 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 27 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Write Stmt Stack At Unchanged 26
if the following are true:
  • the line at time 26 = 3
  • the tab at time 26 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • stack at time 26 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

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


Write Stmt Class Defs At Unchanged 26
if the following are true:
  • the line at time 26 = 3
  • the tab at time 26 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • Class Map at time 26 = [ 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 27 = [ 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 27
if the following are true:
  • expression state at time 27 = "begin_expr"
  • the expression at time 27 = self."first_name" = first_name
  • Value Stack at time 27 = [ ]

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


Set Attribute Begin Parent Property Example
if the following are true:
  • expression state at time 27 = "begin_expr"
  • the expression at time 27 = self."first_name" = first_name
  • parent stack at time 27 = [ ]

then parent stack at time 28 = [ self."first_name" = first_name, [ ] ]


Set Attribute Begin Arguments Property Example
if the following are true:
  • expression state at time 27 = "begin_expr"
  • the expression at time 27 = self."first_name" = first_name
  • arguments stack at time 27 = [ ]

then arguments stack at time 28 = [ [ first_name, [ ] ], [ ] ]


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

then expression state at time 28 = "iterate_args"


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

then the expression at time 28 = self."first_name" = first_name


Do Variables At Unchanged 27
if the following are true:
  • expression state at time 27 = "begin_expr"
  • Variables Map at time 27 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 28 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


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

then the line at time 28 = 3


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

then the tab at time 28 = 2


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

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


Do Object Store At Unchanged 27
if the following are true:
  • expression state at time 27 = "begin_expr"
  • Python Object Store at time 27 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]

then Python Object Store at time 28 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]


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

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


Do Class Defs At Unchanged 27
if the following are true:
  • expression state at time 27 = "begin_expr"
  • Class Map at time 27 = [ 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 28 = [ 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 28
if the following are true:
  • expression state at time 28 = "iterate_args"
  • arguments stack at time 28 = [ [ first_name, [ ] ], [ ] ]

then the expression at time 29 = first_name


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

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


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

then expression state at time 29 = "begin_expr"


Get Iterate Parent 28
if the following are true:
  • expression state at time 28 = "iterate_args"
  • arguments stack at time 28 = [ [ first_name, [ ] ], [ ] ]
  • parent stack at time 28 = [ self."first_name" = first_name, [ ] ]

then parent stack at time 29 = [ self."first_name" = first_name, [ ] ]


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

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


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

then the line at time 29 = 3


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

then the tab at time 29 = 2


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

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


Do Object Store At Unchanged 28
if the following are true:
  • expression state at time 28 = "iterate_args"
  • Python Object Store at time 28 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]

then Python Object Store at time 29 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]


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

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


Do Variables At Unchanged 28
if the following are true:
  • expression state at time 28 = "iterate_args"
  • Variables Map at time 28 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 29 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Do Class Defs At Unchanged 28
if the following are true:
  • expression state at time 28 = "iterate_args"
  • Class Map at time 28 = [ 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 29 = [ 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 29 0
value at first_name in map [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ] = "John"

Do Variables At Unchanged 29
if the following are true:
  • expression state at time 29 = "begin_expr"
  • Variables Map at time 29 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 30 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Get Begin Expr State Name 29
if the following are true:
  • the expression at time 29 = first_name
  • expression state at time 29 = "begin_expr"
  • first_name is a variable
  • parent stack at time 29 = [ self."first_name" = first_name, [ ] ]

then expression state at time 30 = "return"


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

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


Get Begin Expr Params Unchanged Name29
if the following are true:
  • the expression at time 29 = first_name
  • expression state at time 29 = "begin_expr"
  • first_name is a variable
  • arguments stack at time 29 = [ [ ], [ ] ]

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


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

then Return Value at time 30 = "John"


Get Begin Expr Parent Name 29
if the following are true:
  • expression state at time 29 = "begin_expr"
  • the expression at time 29 = first_name
  • first_name is a variable
  • parent stack at time 29 = [ self."first_name" = first_name, [ ] ]

then parent stack at time 30 = [ self."first_name" = first_name, [ ] ]


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

then the line at time 30 = 3


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

then the tab at time 30 = 2


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

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


Do Object Store At Unchanged 29
if the following are true:
  • expression state at time 29 = "begin_expr"
  • Python Object Store at time 29 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]

then Python Object Store at time 30 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]


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

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


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

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

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


Do Variables At Unchanged 30
if the following are true:
  • expression state at time 30 = "return"
  • Variables Map at time 30 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 31 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


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

then the line at time 31 = 3


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

then the tab at time 31 = 2


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

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


Do Parent Stack At Unchanged 30
if the following are true:
  • expression state at time 30 = "return"
  • parent stack at time 30 = [ self."first_name" = first_name, [ ] ]

then parent stack at time 31 = [ self."first_name" = first_name, [ ] ]


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

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


Do Class Defs At Unchanged 30
if the following are true:
  • expression state at time 30 = "return"
  • Class Map at time 30 = [ 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 31 = [ 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 30
if the following are true:
  • expression state at time 30 = "return"
  • Python Object Store at time 30 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]

then Python Object Store at time 31 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]


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

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


Get Iterate End State 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • arguments stack at time 31 = [ [ ], [ ] ]
  • parent stack at time 31 = [ self."first_name" = first_name, [ ] ]

then expression state at time 32 = "call_function_begin"


Get Iterate End Expr 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • arguments stack at time 31 = [ [ ], [ ] ]
  • parent stack at time 31 = [ self."first_name" = first_name, [ ] ]

then the expression at time 32 = self."first_name" = first_name


Get Iterate End Parent 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • arguments stack at time 31 = [ [ ], [ ] ]
  • parent stack at time 31 = [ self."first_name" = first_name, [ ] ]

then parent stack at time 32 = [ ]


Get Iterate End Params 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • arguments stack at time 31 = [ [ ], [ ] ]
  • parent stack at time 31 = [ self."first_name" = first_name, [ ] ]

then arguments stack at time 32 = [ ]


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

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


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

then the line at time 32 = 3


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

then the tab at time 32 = 2


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

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


Do Object Store At Unchanged 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • Python Object Store at time 31 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]

then Python Object Store at time 32 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]


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

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


Do Variables At Unchanged 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • Variables Map at time 31 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 32 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Do Class Defs At Unchanged 31
if the following are true:
  • expression state at time 31 = "iterate_args"
  • Class Map at time 31 = [ 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 32 = [ 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 Pre Extend 32 0
reverse and insert [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ] to the beginning of [ ] = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]

Do Set Elements At 32 0
result of storing (Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ]) at index 0 of stack [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ] = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]

Do Get Key Value 32 0
value at self in map [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ] = Python reference 0

Do Set Key Value 32 0
result of storing John at key: "first_name" in map: [ entry "__class_name__": "Person", [ ] ] = [ entry "__class_name__": "Person", [ entry "first_name": John, [ ] ] ]

Write Call Function Begin Set Attribute Element At 32
if Python Object Store at time 32 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ], then the element at index 0 of stack (Python Object Store at time 32) = Python object: [ entry "__class_name__": "Person", [ ] ]

Get Key Value Variables At 32
if Variables Map at time 32 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ], then value at self in map (Variables Map at time 32) = Python reference 0

Set Attribute Property Example
if the following are true:
  • expression state at time 32 = "call_function_begin"
  • Value Stack at time 32 = [ [ "John", [ ] ], [ ] ]
  • the expression at time 32 = self."first_name" = first_name
  • value at self in map (Variables Map at time 32) = Python reference 0
  • Python Object Store at time 32 = [ Python object: [ entry "__class_name__": "Person", [ ] ], [ ] ]
  • the element at index 0 of stack (Python Object Store at time 32) = Python object: [ entry "__class_name__": "Person", [ ] ]

then Python Object Store at time 33 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]


Write Call Function Begin Next State 32
if the following are true:
  • expression state at time 32 = "call_function_begin"
  • parent stack at time 32 = [ ]
  • the expression at time 32 = self."first_name" = first_name

then expression state at time 33 = "end_expr"


Write Call Function Begin Value Stack 32
if the following are true:
  • expression state at time 32 = "call_function_begin"
  • Value Stack at time 32 = [ [ "John", [ ] ], [ ] ]
  • the expression at time 32 = self."first_name" = first_name

then Value Stack at time 33 = [ ]


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

then arguments stack at time 33 = [ ]


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

then parent stack at time 33 = [ ]


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

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


Do Variables At Unchanged 32
if the following are true:
  • expression state at time 32 = "call_function_begin"
  • Variables Map at time 32 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 33 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


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

then the line at time 33 = 3


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

then the tab at time 33 = 2


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

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


Do Class Defs At Unchanged 32
if the following are true:
  • expression state at time 32 = "call_function_begin"
  • Class Map at time 32 = [ 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 33 = [ 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 Set Attribute End Line 33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • expression state at time 33 = "end_expr"

then the line at time 34 = 4


Write Stmt Tab Unchanged Expr33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • expression state at time 33 = "end_expr"

then the tab at time 34 = 2


Write Stmt Object Store At Unchanged Expr33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • expression state at time 33 = "end_expr"
  • Python Object Store at time 33 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]

then Python Object Store at time 34 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • expression state at time 33 = "end_expr"
  • Control Map at time 33 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]

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


Write Stmt Variables At Unchanged 33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • Variables Map at time 33 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 34 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Write Stmt Stack At Unchanged 33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • stack at time 33 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

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


Write Stmt Class Defs At Unchanged 33
if the following are true:
  • the line at time 33 = 3
  • the tab at time 33 = 2
  • statement at line 3, tab 2 = self."first_name" = first_name
  • Class Map at time 33 = [ 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 34 = [ 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 End to Not Expr 33
if expression state at time 33 = "end_expr", then expression state at time 34 = "not_expr"

Do Convert Stmt 34
if statement at line 4, tab 2 = self.last_name = last_name, then statement at line 4, tab 2 = self."last_name" = last_name

Write Set Name Expr At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then the expression at time 35 = self."last_name" = last_name


Write Set Name Expr State At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then expression state at time 35 = "begin_expr"


Write Set Name Line At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then the line at time 35 = 4


Write Set Name Tab At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then the tab at time 35 = 2


Write Set Name Value Stack At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then Value Stack at time 35 = [ ]


Write Set Name Parent Stack At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then parent stack at time 35 = [ ]


Write Set Name Arg Stack At on State 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"

then arguments stack at time 35 = [ ]


Write Stmt Object Store At Unchanged Expr34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"
  • Python Object Store at time 34 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]

then Python Object Store at time 35 = [ Python object: [ entry "__class_name__": "Person", [ entry "first_name": "John", [ ] ] ], [ ] ]


Write Stmt Control Map At Unchanged Expr34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • expression state at time 34 = "not_expr"
  • Control Map at time 34 = [ entry 0: (pair ("class", "Person")), [ entry 1: (pair ("method", "__init__")), [ ] ] ]

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


Write Stmt Variables At Unchanged 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • Variables Map at time 34 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]

then Variables Map at time 35 = [ entry self: (Python reference 0), [ entry first_name: "John", [ entry last_name: "Smith", [ entry age: 25, [ ] ] ] ] ]


Write Stmt Stack At Unchanged 34
if the following are true:
  • the line at time 34 = 4
  • the tab at time 34 = 2
  • statement at line 4, tab 2 = self."last_name" = last_name
  • stack at time 34 = [ program context with variables: [ ] and expression state: (expression state with parent stack: [ ] arguments: [ ] values: [ ] line: 8 tab: 0) and control map: [ entry 0: (pair ("class", "Person")), [ ] ], [ ] ]

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



Pages: 172 173 174 ... 193