Proofs
A proof is a series of claims that lead to a conclusion. Some proofs are conditional, which means that the claims can only be made under certain conditions. Click on a statement to see the proof
- expression state at time 37 = "call_function_begin"
- Value Stack at time 37 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- the expression at time 37 =
__mul__(value, 4)
then Return Value at time 38 = 28
- expression state at time 37 = "call_function_begin"
- parent stack at time 37 = [ ]
- the expression at time 37 =
__mul__(value, 4)
then expression state at time 38 = "end_expr"
- expression state at time 37 = "call_function_begin"
- Value Stack at time 37 = [ [ 4, [ 7, [ ] ] ], [ ] ]
- the expression at time 37 =
__mul__(value, 4)
then Value Stack at time 38 = [ ]
- expression state at time 37 = "call_function_begin"
- arguments stack at time 37 = [ ]
then arguments stack at time 38 = [ ]
- expression state at time 37 = "call_function_begin"
- parent stack at time 37 = [ ]
then parent stack at time 38 = [ ]
- expression state at time 37 = "call_function_begin"
- Control Map at time 37 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 38 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- expression state at time 37 = "call_function_begin"
- Variables Map at time 37 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
then Variables Map at time 38 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- expression state at time 37 = "call_function_begin"
- the line at time 37 = 3
then the line at time 38 = 3
- expression state at time 37 = "call_function_begin"
- the tab at time 37 = 1
then the tab at time 38 = 1
- expression state at time 37 = "call_function_begin"
- stack at time 37 = [ ]
then stack at time 38 = [ ]
- expression state at time 37 = "call_function_begin"
- Class Map at time 37 = [ ]
then Class Map at time 38 = [ ]
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- expression state at time 38 = "end_expr"
- Variables Map at time 38 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 16, [ ] ] ] ]
- Return Value at time 38 = 28
then Variables Map at time 39 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- expression state at time 38 = "end_expr"
then the line at time 39 = 4
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- expression state at time 38 = "end_expr"
then the tab at time 39 = 1
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- expression state at time 38 = "end_expr"
- Python Object Store at time 38 = [
[4, 7]
, [ ] ]
then Python Object Store at time 39 = [ [4, 7]
, [ ] ]
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- stack at time 38 = [ ]
- expression state at time 38 = "end_expr"
then stack at time 39 = [ ]
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- Control Map at time 38 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the line at time 38 = 3
- the tab at time 38 = 1
- statement at line 3, tab 1 =
x = __mul__(value, 4)
- Class Map at time 38 = [ ]
then Class Map at time 39 = [ ]
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then the line at time 40 = 2
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then the tab at time 40 = 0
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Variables Map at time 39 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 40 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- stack at time 39 = [ ]
then stack at time 40 = [ ]
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Python Object Store at time 39 = [
[4, 7]
, [ ] ]
then Python Object Store at time 40 = [ [4, 7]
, [ ] ]
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the line at time 39 = 4
- the tab at time 39 = 1
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 39 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Class Map at time 39 = [ ]
then Class Map at time 40 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then the line at time 41 = 3
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then the tab at time 41 = 0
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then expression state at time 41 = "not_expr"
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- stack at time 40 = [ ]
then stack at time 41 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Python Object Store at time 40 = [
[4, 7]
, [ ] ]
then Python Object Store at time 41 = [ [4, 7]
, [ ] ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Variables Map at time 40 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 41 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- Class Map at time 40 = [ ]
then Class Map at time 41 = [ ]
- the line at time 40 = 2
- the tab at time 40 = 0
- statement at line 2, tab 0 =
for value in numbers:
- Control Map at time 40 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 41 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
then the line at time 42 = 4
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
then the tab at time 42 = 0
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
- Variables Map at time 41 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 42 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
- stack at time 41 = [ ]
then stack at time 42 = [ ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
- Python Object Store at time 41 = [
[4, 7]
, [ ] ]
then Python Object Store at time 42 = [ [4, 7]
, [ ] ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
- Control Map at time 41 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 42 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
- Class Map at time 41 = [ ]
then Class Map at time 42 = [ ]
- the line at time 41 = 3
- the tab at time 41 = 0
- statement at line 3, tab 1 =
x = value * 4
then expression state at time 42 = "not_expr"
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then the expression at time 43 = numbers
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then expression state at time 43 = "begin_expr"
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then the line at time 43 = 4
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then the tab at time 43 = 0
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then Value Stack at time 43 = [ ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then parent stack at time 43 = [ ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then arguments stack at time 43 = [ ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- Python Object Store at time 42 = [
[4, 7]
, [ ] ] - map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then Python Object Store at time 43 = [ [4, 7]
, [ ] ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- Control Map at time 42 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then Control Map at time 43 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 42 = "not_expr"
- Variables Map at time 42 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- map (Control Map at time 42) does not contain a for loop entry at line: 4 and tab: 0
then Variables Map at time 43 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- stack at time 42 = [ ]
- numbers is a variable
then stack at time 43 = [ ]
- the line at time 42 = 4
- the tab at time 42 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Class Map at time 42 = [ ]
- numbers is a variable
then Class Map at time 43 = [ ]
- expression state at time 43 = "begin_expr"
- Variables Map at time 43 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 44 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the expression at time 43 = numbers
- expression state at time 43 = "begin_expr"
- numbers is a variable
- parent stack at time 43 = [ ]
then expression state at time 44 = "end_expr"
- the expression at time 43 = numbers
- expression state at time 43 = "begin_expr"
- numbers is a variable
- Value Stack at time 43 = [ ]
then Value Stack at time 44 = [ ]
- the expression at time 43 = numbers
- expression state at time 43 = "begin_expr"
- numbers is a variable
- arguments stack at time 43 = [ ]
then arguments stack at time 44 = [ ]
- expression state at time 43 = "begin_expr"
- the expression at time 43 = numbers
- numbers is a variable
- Variables Map at time 43 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Return Value at time 44 = Python reference 0
- expression state at time 43 = "begin_expr"
- the expression at time 43 = numbers
- numbers is a variable
- parent stack at time 43 = [ ]
then parent stack at time 44 = [ ]
- expression state at time 43 = "begin_expr"
- the line at time 43 = 4
then the line at time 44 = 4
- expression state at time 43 = "begin_expr"
- the tab at time 43 = 0
then the tab at time 44 = 0
- expression state at time 43 = "begin_expr"
- stack at time 43 = [ ]
then stack at time 44 = [ ]
- expression state at time 43 = "begin_expr"
- Python Object Store at time 43 = [
[4, 7]
, [ ] ]
then Python Object Store at time 44 = [ [4, 7]
, [ ] ]
- expression state at time 43 = "begin_expr"
- Control Map at time 43 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
then Control Map at time 44 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- expression state at time 43 = "begin_expr"
- Class Map at time 43 = [ ]
then Class Map at time 44 = [ ]
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
then the line at time 45 = 4
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
then the tab at time 45 = 0
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
- Variables Map at time 44 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 45 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
- stack at time 44 = [ ]
then stack at time 45 = [ ]
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
- Python Object Store at time 44 = [
[4, 7]
, [ ] ]
then Python Object Store at time 45 = [ [4, 7]
, [ ] ]
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
- Class Map at time 44 = [ ]
then Class Map at time 45 = [ ]
[4, 7]
, [ ] ] = [4, 7]
[4, 7]
, [ ] ], then the element at index 0 of stack (Python Object Store at time 44) = [4, 7]
- the line at time 44 = 4
- the tab at time 44 = 0
- statement at line 4, tab 0 =
for value in numbers:
- expression state at time 44 = "end_expr"
- Return Value at time 44 = Python reference 0
- Control Map at time 44 = [ entry 0: (trio ("for", 2, [ ])), [ ] ]
- the element at index 0 of stack (Python Object Store at time 44) =
[4, 7]
then Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
then the line at time 46 = 5
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
then the tab at time 46 = 1
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
then expression state at time 46 = "not_expr"
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
- Variables Map at time 45 = [ entry numbers: (Python reference 0), [ entry value: 7, [ entry x: 28, [ ] ] ] ]
then Variables Map at time 46 = [ entry numbers: (Python reference 0), [ entry value: 4, [ entry x: 28, [ ] ] ] ]
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
then Control Map at time 46 = [ entry 0: (trio ("for", 4, [ 7, [ ] ])), [ ] ]
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
- stack at time 45 = [ ]
then stack at time 46 = [ ]
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
- Python Object Store at time 45 = [
[4, 7]
, [ ] ]
then Python Object Store at time 46 = [ [4, 7]
, [ ] ]
- the line at time 45 = 4
- the tab at time 45 = 0
- statement at line 4, tab 0 =
for value in numbers:
- Control Map at time 45 = [ entry 0: (trio ("for", 4, [ 4, [ 7, [ ] ] ])), [ ] ]
- Class Map at time 45 = [ ]
then Class Map at time 46 = [ ]
x = value * 4
, then statement at line 5, tab 1 = x = __mul__(value, 4)
- the line at time 46 = 5
- the tab at time 46 = 1
- statement at line 5, tab 1 =
x = __mul__(value, 4)
- expression state at time 46 = "not_expr"
then the expression at time 47 = __mul__(value, 4)