Conditional Properties

In each statement, if the test expression is true, then the conclusion expression is also assumed to be true. Conditional properties are used to prove theorems.

Assign Get Attribute (4)
if the following are true:

then the tab at time (t + 1) = j


Assign Get Attribute (5)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


Assign Get Attribute (6)
if the following are true:

then stack at time (t + 1) = stack at time t


Assign Get Attribute (7)
if the following are true:

then Value Stack at time (t + 1) = [ ]


Assign Get Attribute (8)
if the following are true:

then parent stack at time (t + 1) = [ ]


Assign Get Attribute (9)
if the following are true:

then arguments stack at time (t + 1) = [ ]


Assign Get Attribute (10)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Assign Get Attribute (11)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Assign Variable to Get Attribute Result (1)
if the following are true:

then Variables Map at time (t + 1) = result of storing (Return Value at time t) at key: x in map: (Variables Map at time t)


Assign Variable to Get Attribute Result (2)
if the following are true:

then the line at time (t + 1) = i + 1


Assign Variable to Get Attribute Result (3)
if the following are true:

then the tab at time (t + 1) = the tab at time t


Assign Variable to Get Attribute Result (4)
if the following are true:

then stack at time (t + 1) = stack at time t


Assign Variable to Get Attribute Result (5)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Assign Variable to Get Attribute Result (6)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Begin Get Attribute (1)
if the following are true:

then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]


Begin Get Attribute (2)
if the following are true:

then parent stack at time (t + 1) = [ obj.attr, parent stack at time t ]


Begin Get Attribute (3)
if the following are true:

then arguments stack at time (t + 1) = [ [ obj, [ ] ], arguments stack at time t ]


Begin Get Attribute (4)
if the following are true:

then expression state at time (t + 1) = "iterate_args"


Get Attribute Object Store
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Get Attribute Value Stack
if the following are true:

then Value Stack at time (t + 1) = v_stack


Get Attribute Return Value
if the following are true:

then Return Value at time (t + 1) = value at attr in map attributes


Get Attribute Go Parent
if the following are true:

then expression state at time (t + 1) = "return"


Get Attriburte Go End
if the following are true:

then expression state at time (t + 1) = "end_expr"


Begin Set Attribute (1)
if the following are true:

then the expression at time (t + 1) = obj.key = value


Begin Set Attribute (2)
if the following are true:

then expression state at time (t + 1) = "begin_expr"


Begin Set Attribute (3)
if the following are true:

then the line at time (t + 1) = i


Begin Set Attribute (4)
if the following are true:

then the tab at time (t + 1) = j


Begin Set Attribute (5)
if the following are true:

then Value Stack at time (t + 1) = [ ]


Begin Set Attribute (6)
if the following are true:

then parent stack at time (t + 1) = [ ]


Begin Set Attribute (7)
if the following are true:

then arguments stack at time (t + 1) = [ ]


Begin Set Attribute (8)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Begin Set Attribute (9)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Set Attribute Unchanged (1)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


Set Attribute Unchanged (2)
if the following are true:

then stack at time (t + 1) = stack at time t


Set Attribute Unchanged (3)
if the following are true:

then "if" map at time (t + 1) = "if" map at time t


Set Attribute Unchanged (4)
if the following are true:

then 'while stack' at time (t + 1) = 'while stack' at time t


Set Attribute Unchanged (5)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


Begin Set Attribute Arguments (1)
if the following are true:

then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]


Begin Set Attribute Arguments (2)
if the following are true:

then parent stack at time (t + 1) = [ obj.key = value, parent stack at time t ]


Begin Set Attribute Arguments (3)
if the following are true:

then arguments stack at time (t + 1) = [ [ obj, [ value, [ ] ] ], arguments stack at time t ]


Begin Set Attribute Arguments (4)
if the following are true:

then expression state at time (t + 1) = "iterate_args"


Set Attribute
if the following are true:

then Python Object Store at time (t + 1) = result of storing (Python object: (result of storing value at key: attribute in map: entries)) at index idx of stack (Python Object Store at time t)


Set Attribute Value Stack
if the following are true:

then Value Stack at time (t + 1) = stack


Set Attribute End
if the following are true:

then expression state at time (t + 1) = "end_expr"


Set Attribute Ended (1)
if the following are true:

then the line at time (t + 1) = i + 1


Set Attribute Ended (2)
if the following are true:

then the tab at time (t + 1) = the tab at time t


Set Attribute Ended (3)
if the following are true:

then stack at time (t + 1) = stack at time t


Set Attribute Ended (4)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


Set Attribute Ended (5)
if the following are true:

then "if" map at time (t + 1) = "if" map at time t


Set Attribute Ended (6)
if the following are true:

then 'while stack' at time (t + 1) = 'while stack' at time t


Set Attribute Ended (7)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Set Attribute Ended (8)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Set Attribute Ended (9)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


Return from method unchanged (1)
if the following are true:

then "if" map at time (t + 1) = "if" map at time t


Return from method unchanged (2)
if the following are true:

then 'while stack' at time (t + 1) = 'while stack' at time t


Return from method unchanged (3)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Return from method unchanged (4)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


Method call finished restore stack (1)
if the following are true:

then Variables Map at time (t + 1) = varis


Method call finished restore stack (2)
if the following are true:

then the line at time (t + 1) = line


Method call finished restore stack (3)
if the following are true:

then the tab at time (t + 1) = tab


Method call finished restore stack (4)
if the following are true:

then expression state at time (t + 1) = "call_returned"


Method call finished restore stack (5)
if the following are true:

then parent stack at time (t + 1) = parent_stack


Method call finished restore stack (6)
if the following are true:

then stack at time (t + 1) = rest


Method call finished restore stack (7)
if the following are true:

then Value Stack at time (t + 1) = value_stack


Method call finished restore stack (8)
if the following are true:

then arguments stack at time (t + 1) = arg_stack


Method call finished restore stack (9)
if the following are true:

then Control Map at time (t + 1) = control_map


Constructor call return value
if the following are true:

then Return Value at time (t + 1) = value at self in map (Variables Map at time t)


Method call return value
if the following are true:

then Return Value at time (t + 1) = None


Is Not For Since No Key
if map map_a contains key j = False, then map map_a does not contain a for loop entry at line: i and tab: j

Is Not For
if the following are true:

then map map_a does not contain a for loop entry at line: i and tab: j


Is Not Current For
if the following are true:

then map map_a does not contain a for loop entry at line: i and tab: j


Start For Loop Iterable Evaluation (1)
if the following are true:

then the expression at time (t + 1) = iterable


Start For Loop Iterable Evaluation (2)
if the following are true:

then expression state at time (t + 1) = "begin_expr"


Start For Loop Iterable Evaluation (3)
if the following are true:

then the line at time (t + 1) = i


Start For Loop Iterable Evaluation (4)
if the following are true:

then the tab at time (t + 1) = j


Start For Loop Iterable Evaluation (5)
if the following are true:

then Value Stack at time (t + 1) = [ ]


Start For Loop Iterable Evaluation (6)
if the following are true:

then parent stack at time (t + 1) = [ ]


Start For Loop Iterable Evaluation (7)
if the following are true:

then arguments stack at time (t + 1) = [ ]


Start For Loop Iterable Evaluation (8)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


Start For Loop Iterable Evaluation (9)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


Start For Loop Iterable Evaluation (10)
if the following are true:

then Control Map at time (t + 1) = Control Map at time t


Start For Loop Iterable Evaluation (11)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


For Unchanged (1)
if the following are true:

then stack at time (t + 1) = stack at time t


For Unchanged (2)
if the following are true:

then "if" map at time (t + 1) = "if" map at time t


For Unchanged (3)
if the following are true:

then 'while stack' at time (t + 1) = 'while stack' at time t


For Unchanged (4)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


For Loop evaluate end (1)
if the following are true:

then the line at time (t + 1) = i


For Loop evaluate end (2)
if the following are true:

then the tab at time (t + 1) = j


For Loop evaluate end (3)
if the following are true:

then "if" map at time (t + 1) = "if" map at time t


For Loop evaluate end (4)
if the following are true:

then Python Object Store at time (t + 1) = Python Object Store at time t


For Loop evaluate end (5)
if the following are true:

then Variables Map at time (t + 1) = Variables Map at time t


For Loop evaluate end (6)
if the following are true:

then stack at time (t + 1) = stack at time t


For Loop evaluate end (7)
if the following are true:

then 'while stack' at time (t + 1) = 'while stack' at time t


For Loop evaluate end (8)
if the following are true:

then Class Map at time (t + 1) = Class Map at time t


Get Iterable
if the following are true:

then Control Map at time (t + 1) = result of storing (trio ("for", i, elements)) at key: j in map: (Control Map at time t)


Set target to element (1)
if the following are true:

then Variables Map at time (t + 1) = result of storing elem at key: target in map: (Variables Map at time t)


Set target to element (2)
if the following are true:

then the line at time (t + 1) = i + 1


Set target to element (3)
if the following are true:

then the tab at time (t + 1) = j + 1


Set target to element (4)
if the following are true:

then Control Map at time (t + 1) = result of storing (trio ("for", i, rest)) at key: j in map: (Control Map at time t)


Set target to element (5)
if the following are true:

then expression state at time (t + 1) = "not_expr"


12 13 14