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.
if "continue" state at t = "continuing", then Variables Map at time (t + 1) = Variables Map at time t
if "continue" state at t = "continuing", then Context Stack at time (t + 1) = Context Stack at time t
if "continue" state at t = "continuing", then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
then Class Map at time (t + 1) = Class Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
then Python Object Store at time (t + 1) = Python Object Store at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
then Variables Map at time (t + 1) = Variables Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
- Expression Stack at time t = [ ]
then Expression Stack at time (t + 1) = [ [ c, [ ] ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
- Expression Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
- Expression Stack at time t = [ ]
then the line at time (t + 1) = i
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = c
- c is constant
- Expression Stack at time t = [ ]
then the tab at time (t + 1) = j
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- x is a variable
then Variables Map at time (t + 1) = Variables Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- x is a variable
then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- x is a variable
then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- x is a variable
then Class Map at time (t + 1) = Class Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- x is a variable
then Python Object Store at time (t + 1) = Python Object Store at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- c is a variable
- Expression Stack at time t = [ ]
then Expression Stack at time (t + 1) = [ [ x, [ ] ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- c is a variable
- Expression Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- c is a variable
- Expression Stack at time t = [ ]
then the line at time (t + 1) = i
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = x
- c is a variable
- Expression Stack at time t = [ ]
then the tab at time (t + 1) = j
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
then Class Map at time (t + 1) = Class Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Expression Stack at time (t + 1) = [ [ function call with name: name and arguments: args, [ ] ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Value Stack at time (t + 1) = [ [ ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then the line at time (t + 1) = i
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then the tab at time (t + 1) = j
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Variables Map at time (t + 1) = Variables Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Python Object Store at time (t + 1) = Python Object Store at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = function call with name: name and arguments: args
- Expression Stack at time t = [ ]
then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Expression Stack at time (t + 1) = [ ys, rest ]
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Value Stack at time (t + 1) = [ [ x, values ], v_rest ]
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Parameters List at time (t + 1) = None
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then the line at time (t + 1) = the line at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then the tab at time (t + 1) = the tab at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Variables Map at time (t + 1) = Variables Map at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Python Object Store at time (t + 1) = Python Object Store at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is constant
then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Expression Stack at time (t + 1) = [ ys, rest ]
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Value Stack at time (t + 1) = [ [ value at x in map (Variables Map at time t), values ], v_rest ]
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Parameters List at time (t + 1) = None
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then the line at time (t + 1) = the line at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then the tab at time (t + 1) = the tab at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Variables Map at time (t + 1) = Variables Map at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Control Map at time (t + 1) = Control Map at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Python Object Store at time (t + 1) = Python Object Store at time t
if the following are true:
- Expression Stack at time t = [ [ x, ys ], rest ]
- Value Stack at time t = [ values, v_rest ]
- x is a variable
then Context Stack at time (t + 1) = Context Stack at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Expression Stack at time (t + 1) = [ args, [ [ function call with name: name and arguments: args, ys ], rest ] ]
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Parameters List at time (t + 1) = None
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ function call with name: name and arguments: args, ys ], rest ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b + a, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__add__" and arguments: args, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b ⋅ a, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__mul__" and arguments: args, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b = a, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__eq__" and arguments: args, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b < a, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__lt__" and arguments: args, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ [ a, [ b, [ ] ] ], [ next_level, other_levels ] ]
then Value Stack at time (t + 1) = [ [ b > a, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ ], [ [ function call with name: "__gt__" and arguments: args, ys ], rest ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then Parameters List at time (t + 1) = params
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then Argument Values at time (t + 1) = reverse of values
if the following are true:
- Expression Stack at time t = [ [ ], [ [ function call with name: name and arguments: args, ys ], rest ] ]
- Value Stack at time t = [ values, v_rest ]
- there is a function named name with parameters params at line line
- Parameters List at time t = None
then Function Variables Map at time (t + 1) = [ ]