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 Variable to List Result (5)
if the following are true:

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


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

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


Method Call Begin (1)
if the following are true:

then the expression at time (t + 1) = obj_name.method_name(args)


Method Call Begin (2)
if the following are true:

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


Method Call Begin (3)
if the following are true:

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


Method Call Begin (4)
if the following are true:

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


Method Call Begin (5)
if the following are true:

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


Method Call Begin (6)
if the following are true:

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


Method Call Begin (7)
if the following are true:

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


Method Call Begin (8)
if the following are true:

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


Method Call Begin (9)
if the following are true:

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


Method Call Begin (10)
if the following are true:

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


Method Call Begin (11)
if the following are true:

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


Method Call Begin (12)
if the following are true:

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


Method Call Begin (13)
if the following are true:

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


Unchanged on method Call
if the following are true:

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


Assign Method Call Begin (1)
if the following are true:

then the expression at time (t + 1) = obj_name.method_name(args)


Assign Method Call Begin (2)
if the following are true:

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


Assign Method Call Begin (3)
if the following are true:

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


Assign Method Call Begin (4)
if the following are true:

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


Assign Method Call Begin (5)
if the following are true:

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


Assign Method Call Begin (6)
if the following are true:

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


Assign Method Call Begin (7)
if the following are true:

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


Assign Method Call Begin (8)
if the following are true:

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


Assign Method Call Begin (9)
if the following are true:

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


Assign Method Call Begin (10)
if the following are true:

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


Assign Method Call Begin (11)
if the following are true:

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


Assign Method Call Begin (12)
if the following are true:

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


Assign Method Call Begin (13)
if the following are true:

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


Begin Method Arguments (1)
if the following are true:

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


Begin Method Arguments (2)
if the following are true:

then parent stack at time (t + 1) = [ obj_name.method_name(args), parent stack at time t ]


Begin Method Arguments (3)
if the following are true:

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


Begin Method Arguments (4)
if the following are true:

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


Append Value Stack
if the following are true:

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


Append Value
if the following are true:

then Python Object Store at time (t + 1) = result of storing (Python list (result of appending value to entries)) at index idx of stack (Python Object Store at time t)


Method Call End
if the following are true:

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


Unchanged on method call (1)
if the following are true:

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


Unchanged on method call (2)
if the following are true:

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


Unchanged on method call (3)
if the following are true:

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


Unchanged on method call (4)
if the following are true:

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


Method Call Begin
if the following are true:

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


Call Method Begin Set Params (1)
if the following are true:

then Parameters List at time (t + 1) = params


Call Method Begin Set Params (2)
if the following are true:

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


Call Method Values (1)
if the following are true:

then Argument Values at time (t + 1) = [ Python reference index, reverse of values ]


Call Method Values (2)
if the following are true:

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


getitem unchanged
if the following are true:

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


Get Item Return Value
if the following are true:

then Return Value at time (t + 1) = the element at index a of stack entries


Get Item Object Store
if the following are true:

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


Get Item Return
if the following are true:

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


Get Item End
if the following are true:

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


get length unchanged
if the following are true:

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


Get Python Length
if the following are true:

then Return Value at time (t + 1) = length of stack entries


Get Python Length Return
if the following are true:

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


Get Python Length End
if the following are true:

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


get Python length object store
if the following are true:

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


Pop from list objects (1)
if the following are true:

then Python Object Store at time (t + 1) = result of storing (Python list (stack after popping a value from stack entries at index a)) at index idx of stack (Python Object Store at time t)


Pop from list objects (2)
if the following are true:

then Return Value at time (t + 1) = the element at index a of stack entries


Pop From List Return
if the following are true:

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


Pop From List End
if the following are true:

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


contains unchanged
if the following are true:

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


contains call unchanged
if the following are true:

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


Contains Item
if the following are true:

then Return Value at time (t + 1) = stack entries contains a


Contains Item Return
if the following are true:

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


Contains Item End
if the following are true:

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


Begin Dict (1)
if the following are true:

then the expression at time (t + 1) = Python dictionary entries


Begin Dict (2)
if the following are true:

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


Begin Dict (3)
if the following are true:

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


Begin Dict (4)
if the following are true:

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


Begin Dict (5)
if the following are true:

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


Begin Dict (6)
if the following are true:

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


Begin Dict (7)
if the following are true:

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


Begin Dict (8)
if the following are true:

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


Begin Dict (9)
if the following are true:

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


Begin Dict Elements (1)
if the following are true:

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


Begin Dict Elements (2)
if the following are true:

then parent stack at time (t + 1) = [ Python dictionary entries, parent stack at time t ]


Begin Dict Elements (3)
if the following are true:

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


Begin Dict Elements (4)
if the following are true:

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


Call Func Dictionary (1)
if the following are true:

then Return Value at time (t + 1) = Python reference (length of stack (Python Object Store at time t))


Call Func Dictionary (2)
if the following are true:

then Python Object Store at time (t + 1) = result of appending (Python dictionary (reverse of values)) to (Python Object Store at time t)


Call Func Dictionary (3)
if the following are true:

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


Call Dictionary Return
if the following are true:

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


Call Dictionary End
if the following are true:

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


Begin Entry Elements (1)
if the following are true:

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


Begin Entry Elements (2)
if the following are true:

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


Begin Entry Elements (3)
if the following are true:

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


Begin Entry Elements (4)
if the following are true:

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


entry object store unchanged
if the following are true:

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


Call Func Entry (1)
if the following are true:

then Return Value at time (t + 1) = entry evaluated_key: evaluated_value


Call Func Entry (2)
if the following are true:

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


Call Entry Return
if the following are true:

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


Call Entry End
if the following are true:

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


Assign Dict (1)
if the following are true:

then the expression at time (t + 1) = Python dictionary elements


Assign Dict (2)
if the following are true:

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


Assign Dict (3)
if the following are true:

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


Assign Dict (4)
if the following are true:

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


Assign Dict (5)
if the following are true:

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


Assign Dict (6)
if the following are true:

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


Assign Dict (7)
if the following are true:

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


Assign Dict (8)
if the following are true:

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


Assign Dict (9)
if the following are true:

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


10 11 12