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 the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j = obj.key = value
- 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 = obj.key = value
- 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 = obj.key = value
- 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 = obj.key = value
- 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 = obj.key = value
- 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 = obj.key = value
- Expression Stack at time t = [ ]
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 = obj.key = value
then Class Map at time (t + 1) = Class Map at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Expression Stack at time (t + 1) = [ [ obj, [ value, [ ] ] ], [ [ obj.key = value, ys ], rest ] ]
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Value Stack at time (t + 1) = [ [ ], Value Stack at time t ]
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Parameters List at time (t + 1) = None
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Python Object Store at time (t + 1) = Python Object Store at time t
if Expression Stack at time t = [ [ obj.key = value, [ ] ], [ ] ], then Context Stack at time (t + 1) = Context Stack at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python object: entries
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)
if the following are true:
- Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ]
- Value Stack at time t = [ [ value, [ Python reference idx, [ ] ] ], [ next_level, other_levels ] ]
- the element at index idx of stack (Python Object Store at time t) = Python object: entries
then Value Stack at time (t + 1) = [ [ None, next_level ], other_levels ]
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Expression Stack at time (t + 1) = [ ys, rest ]
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then the line at time (t + 1) = the line at time t
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then the tab at time (t + 1) = the tab at time t
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Variables Map at time (t + 1) = Variables Map at time t
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], then Control Map at time (t + 1) = Control Map at time t
if Expression Stack at time t = [ [ ], [ [ obj.attribute = val, ys ], rest ] ], 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.y = z
- Expression Stack at time t = [ [ ], [ ] ]
then the line at time (t + 1) = i + 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.y = z
- Expression Stack at time t = [ [ ], [ ] ]
then the tab at time (t + 1) = the tab 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.y = z
- Expression Stack at time t = [ [ ], [ ] ]
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.y = z
- 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 = x.y = z
- 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 = x.y = z
- 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 = x.y = z
- Expression Stack at time t = [ [ ], [ ] ]
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", method_name)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", method_name)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then Variables Map at time (t + 1) = varis
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then the line at time (t + 1) = line
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then the tab at time (t + 1) = tab
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then Expression Stack at time (t + 1) = expr_stack
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then Context Stack at time (t + 1) = rest
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then Value Stack at time (t + 1) = value_stack
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", mname)
- Context Stack at time t = [ program context with variables: varis and expression state: (expression state with expression stack: expr_stack values: value_stack line: line tab: tab) and control map: control_map, rest ]
then Control Map at time (t + 1) = control_map
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", "__init__")
then Return Value at time (t + 1) = [ value at self in map (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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = pair ("method", method_name)
- not (method_name = "__init__")
then Return Value at time (t + 1) = [ None, [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- Expression Stack at time t = [ ]
then Expression Stack at time (t + 1) = [ [ iterable, [ ] ], [ ] ]
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- map (Control Map at time t) does not contain a for loop entry at line: i and tab: j
- 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 =
for target in iterable:
- iterable 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 =
for target in iterable:
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 =
for target in iterable:
- 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 =
for target in iterable:
- 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 =
for target in iterable:
- Expression Stack at time t = [ [ ], [ ] ]
then "if" map at time (t + 1) = "if" 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 =
for target in iterable:
- 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 =
for target in iterable:
- 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 =
for target in iterable:
- Expression Stack at time t = [ [ ], [ ] ]
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 =
for target in iterable:
- Expression Stack at time t = [ [ ], [ ] ]
then 'while stack' at time (t + 1) = 'while 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 =
for target in iterable_ex:
- Expression Stack at time t = [ [ ], [ ] ]
- Value Stack at time t = [ [ Python reference index, [ ] ], v_stack ]
- the element at index index of stack (Python Object Store at time t) = Python list elements
then Control Map at time (t + 1) = result of storing (trio ("for", i, elements)) at key: j in map: (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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
then Variables Map at time (t + 1) = result of storing elem at key: target in map: (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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
then the line at time (t + 1) = i + 1
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
then the tab at time (t + 1) = j + 1
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
then Control Map at time (t + 1) = result of storing (trio ("for", i, rest)) at key: j in map: (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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
then Expression 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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ elem, rest ])
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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
then the line at time (t + 1) = i + 1
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab j =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
then Control Map at time (t + 1) = result of deleting the entry with key j from map (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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
then Expression 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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
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 =
for target in iterable_ex:
- value at j in map (Control Map at time t) = trio ("for", i, [ ])
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then the line at time (t + 1) = for_line
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then the tab at time (t + 1) = j - 1
if the following are true:
- the line at time t = i
- the tab at time t = j
- statement at line i, tab k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then Expression Stack at time (t + 1) = Expression 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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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 k = s
- k < j
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then the line at time (t + 1) = for_line
if the following are true:
- the line at time t = i
- the tab at time t = j
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then the tab at time (t + 1) = j - 1
if the following are true:
- the line at time t = i
- the tab at time t = j
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then "if" map at time (t + 1) = "if" map at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then Expression Stack at time (t + 1) = Expression Stack at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
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
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then 'while stack' at time (t + 1) = 'while stack' at time t
if the following are true:
- the line at time t = i
- the tab at time t = j
- number of lines = i - 1
- value at (j - 1) in map (Control Map at time t) = trio ("for", for_line, iterable)
then Class Map at time (t + 1) = Class Map at time t
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
, ys ], rest ] ] - Value Stack at time t = [ [ ], [ next_level, other_levels ] ]
- Control Map at time t = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", method_name)), [ ] ] ]
- definition of method method_name of class class_name in (Class Map at time t) = method_map
- value at "params" in map method_map = [ param_name, other_params ]
- value at param_name in map (Variables Map at time t) = Python reference pi
then Expression Stack at time (t + 1) = [ ys, rest ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
, ys ], rest ] ] - Value Stack at time t = [ [ ], [ next_level, other_levels ] ]
- Control Map at time t = [ entry 0: (pair ("class", class_name)), [ entry 1: (pair ("method", method_name)), [ ] ] ]
- definition of method method_name of class class_name in (Class Map at time t) = method_map
- value at "params" in map method_map = [ param_name, other_params ]
- value at param_name in map (Variables Map at time t) = Python reference pi
then Value Stack at time (t + 1) = [ [ Python super reference pi class_name, next_level ], other_levels ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Parameters List at time (t + 1) = [ base_param, other_base_params ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Argument Values at time (t + 1) = [ Python super reference pi class_name, other_vals ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Function Variables Map at time (t + 1) = [ ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Value Stack at time t = [ values, [ next_level, other_levels ] ]
- reverse of values = [ Python super reference pi class_name, other_vals ]
- Class Map at time t = cds
- value at "bases" in map (value at class_name in map cds) = base_classes
- definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
- value at "params" in map method_map = [ base_param, other_base_params ]
- Parameters List at time t = None
then Value Stack at time (t + 1) = [ next_level, other_levels ]
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Function Variables Map at time t = [ ]
- Parameters List at time t = [ base_param, other_base_params ]
- Argument Values at time t = [ Python super reference pi class_name, other_vals ]
then Function Variables Map at time (t + 1) = result of storing (Python reference pi) at key: base_param in map: (Function Variables Map at time t)
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Function Variables Map at time t = [ ]
- Parameters List at time t = [ base_param, other_base_params ]
- Argument Values at time t = [ Python super reference pi class_name, other_vals ]
then Parameters List at time (t + 1) = other_base_params
if the following are true:
- Expression Stack at time t = [ [ ], [ [
super()
.method_name(args), ys ], rest ] ] - Function Variables Map at time t = [ ]
- Parameters List at time t = [ base_param, other_base_params ]
- Argument Values at time t = [ Python super reference pi class_name, other_vals ]
then Argument Values at time (t + 1) = other_vals