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.

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

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


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

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


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

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


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

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


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

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


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

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


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

then Context Stack at time (t + 1) = Context Stack at time t


Set Python Attribute Unchanged
if the following are true:

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


Begin Python Set Attribute Arguments (1)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Expression Stack at time (t + 1) = [ [ obj, [ value, [ ] ] ], [ [ obj.key = value, ys ], rest ] ]

Begin Python Set Attribute Arguments (2)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]

Begin Python Set Attribute Arguments (3)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Parameters List at time (t + 1) = None

Begin Python Set Attribute Arguments (4)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then the line at time (t + 1) = the line at time t

Begin Python Set Attribute Arguments (5)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then the tab at time (t + 1) = the tab at time t

Begin Python Set Attribute Arguments (6)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Variables Map at time (t + 1) = Variables Map at time t

Begin Python Set Attribute Arguments (7)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Control Map at time (t + 1) = Control Map at time t

Begin Python Set Attribute Arguments (8)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Python Object Store at time (t + 1) = Python Object Store at time t

Begin Python Set Attribute Arguments (9)
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Context Stack at time (t + 1) = Context Stack at time t

Set Python Attribute (1)
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 Python Attribute (2)
if the following are true:

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


Set Python Attribute Effect (1)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]

Set Python Attribute Effect (2)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then the line at time (t + 1) = the line at time t

Set Python Attribute Effect (3)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t

Set Python Attribute Effect (4)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t

Set Python Attribute Effect (5)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t

Set Python Attribute Effect (6)
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t

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

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


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

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


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

then Context Stack at time (t + 1) = Context Stack at time t


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

then Expression Stack at time (t + 1) = expr_stack


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

then Context Stack at time (t + 1) = rest


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

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


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

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


Python 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), [ ] ]


Python Method call return value
if the following are true:

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


Python For Unchanged
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


Class Defs On For
if the following are true:

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


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

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


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

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


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

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


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

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


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

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


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

then Context Stack at time (t + 1) = Context Stack at time t


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

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


Set For Loop 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)


For Loop 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)


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

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


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

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


For Loop 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)


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

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


For Loop Set target to element (6)
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


For Loop Set target to element (7)
if the following are true:

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


No more elements in For Loop iterable (1)
if the following are true:

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


No more elements in For Loop iterable (2)
if the following are true:

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


No more elements in For Loop iterable (3)
if the following are true:

then Control Map at time (t + 1) = result of deleting the entry with key j from map (Control Map at time t)


No more elements in For Loop iterable (4)
if the following are true:

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


No more elements in For Loop iterable (5)
if the following are true:

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


No more elements in For Loop iterable (6)
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


No more elements in For Loop iterable (7)
if the following are true:

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


Return to for loop statement (1)
if the following are true:

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


Return to for loop statement (2)
if the following are true:

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


Return to for loop statement (3)
if the following are true:

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


Return to for loop statement (4)
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


Return to for loop statement (5)
if the following are true:

then Expression Stack at time (t + 1) = Expression Stack at time t


Return to for loop statement (6)
if the following are true:

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


Return to for loop statement (7)
if the following are true:

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


Return to for loop statement (8)
if the following are true:

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


Return to For loop At EOF (1)
if the following are true:

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


Return to For loop At EOF (2)
if the following are true:

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


Return to For loop At EOF (3)
if the following are true:

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


Return to For loop At EOF (4)
if the following are true:

then Context Stack at time (t + 1) = Context Stack at time t


Return to For loop At EOF (5)
if the following are true:

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


Return to For loop At EOF (6)
if the following are true:

then Expression Stack at time (t + 1) = Expression Stack at time t


Return to For loop At EOF (7)
if the following are true:

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


Return to For loop At EOF (8)
if the following are true:

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


Return to For loop At EOF (9)
if the following are true:

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


Return to For loop At EOF (10)
if the following are true:

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


Find Method Map Alternative
if the following are true:

then definition of method method_name of class class_name in class_defs = method_map


Skip Line (1)
if the following are true:

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


Skip Line (2)
if the following are true:

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


Skip Line (3)
if the following are true:

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


Skip Line (4)
if the following are true:

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


Skip Line (5)
if the following are true:

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


Skip Line (6)
if the following are true:

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


Skip Line (7)
if the following are true:

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


4 5 6