Proof: Write Assign End Vars 35

Let's prove the following theorem:

if the following are true:
  • the line at time 35 = 10
  • the tab at time 35 = 0
  • statement at line 10, tab 0 = joe = Dog()
  • expression state at time 35 = "end_expr"
  • Variables Map at time 35 = [ ]
  • Return Value at time 35 = Python reference 0

then Variables Map at time 36 = [ entry joe: (Python reference 0), [ ] ]

Proof:

View as a tree | View dependent proofs | Try proving it

Given
1 the line at time 35 = 10
2 the tab at time 35 = 0
3 statement at line 10, tab 0 = joe = Dog()
4 expression state at time 35 = "end_expr"
5 Variables Map at time 35 = [ ]
6 Return Value at time 35 = Python reference 0
Proof Table
# Claim Reason
1 Variables Map at time (35 + 1) = result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35) if the line at time 35 = 10 and the tab at time 35 = 0 and statement at line 10, tab 0 = joe = Dog() and expression state at time 35 = "end_expr", then Variables Map at time (35 + 1) = result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35)
2 result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) if Return Value at time 35 = Python reference 0, then result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35)
3 Variables Map at time (35 + 1) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) if Variables Map at time (35 + 1) = result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35) and result of storing (Return Value at time 35) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35), then Variables Map at time (35 + 1) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35)
4 result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: [ ] if Variables Map at time 35 = [ ], then result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: [ ]
5 result of storing (Python reference 0) at key: joe in map: [ ] = [ entry joe: (Python reference 0), [ ] ] result of storing (Python reference 0) at key: joe in map: [ ] = [ entry joe: (Python reference 0), [ ] ]
6 result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = [ entry joe: (Python reference 0), [ ] ] if result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = result of storing (Python reference 0) at key: joe in map: [ ] and result of storing (Python reference 0) at key: joe in map: [ ] = [ entry joe: (Python reference 0), [ ] ], then result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = [ entry joe: (Python reference 0), [ ] ]
7 Variables Map at time (35 + 1) = [ entry joe: (Python reference 0), [ ] ] if Variables Map at time (35 + 1) = result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) and result of storing (Python reference 0) at key: joe in map: (Variables Map at time 35) = [ entry joe: (Python reference 0), [ ] ], then Variables Map at time (35 + 1) = [ entry joe: (Python reference 0), [ ] ]
8 35 + 1 = 36 35 + 1 = 36
9 Variables Map at time (35 + 1) = Variables Map at time 36 if 35 + 1 = 36, then Variables Map at time (35 + 1) = Variables Map at time 36
10 Variables Map at time 36 = [ entry joe: (Python reference 0), [ ] ] if Variables Map at time (35 + 1) = Variables Map at time 36 and Variables Map at time (35 + 1) = [ entry joe: (Python reference 0), [ ] ], then Variables Map at time 36 = [ entry joe: (Python reference 0), [ ] ]

Comments

Please log in to add comments