Proof: Write Assign End Vars 10
Let's prove the following theorem:
if the following are true:
- the line at time 10 = 1
- the tab at time 10 = 0
- statement at line 1, tab 0 =
c = __add__(5, 9)
- expression state at time 10 = "end_expr"
- Variables Map at time 10 = [ ]
- Return Value at time 10 = 14
then Variables Map at time 11 = [ entry c: 14, [ ] ]
Proof:
Given
1 | the line at time 10 = 1 |
---|---|
2 | the tab at time 10 = 0 |
3 | statement at line 1, tab 0 = c = __add__(5, 9) |
4 | expression state at time 10 = "end_expr" |
5 | Variables Map at time 10 = [ ] |
6 | Return Value at time 10 = 14 |
# | Claim | Reason |
---|---|---|
1 | Variables Map at time (10 + 1) = result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) | if the line at time 10 = 1 and the tab at time 10 = 0 and statement at line 1, tab 0 = c = __add__(5, 9) and expression state at time 10 = "end_expr", then Variables Map at time (10 + 1) = result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) |
2 | result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: (Variables Map at time 10) | if Return Value at time 10 = 14, then result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: (Variables Map at time 10) |
3 | Variables Map at time (10 + 1) = result of storing 14 at key: c in map: (Variables Map at time 10) | if Variables Map at time (10 + 1) = result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) and result of storing (Return Value at time 10) at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: (Variables Map at time 10), then Variables Map at time (10 + 1) = result of storing 14 at key: c in map: (Variables Map at time 10) |
4 | result of storing 14 at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: [ ] | if Variables Map at time 10 = [ ], then result of storing 14 at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: [ ] |
5 | result of storing 14 at key: c in map: [ ] = [ entry c: 14, [ ] ] | result of storing 14 at key: c in map: [ ] = [ entry c: 14, [ ] ] |
6 | result of storing 14 at key: c in map: (Variables Map at time 10) = [ entry c: 14, [ ] ] | if result of storing 14 at key: c in map: (Variables Map at time 10) = result of storing 14 at key: c in map: [ ] and result of storing 14 at key: c in map: [ ] = [ entry c: 14, [ ] ], then result of storing 14 at key: c in map: (Variables Map at time 10) = [ entry c: 14, [ ] ] |
7 | Variables Map at time (10 + 1) = [ entry c: 14, [ ] ] | if Variables Map at time (10 + 1) = result of storing 14 at key: c in map: (Variables Map at time 10) and result of storing 14 at key: c in map: (Variables Map at time 10) = [ entry c: 14, [ ] ], then Variables Map at time (10 + 1) = [ entry c: 14, [ ] ] |
8 | 10 + 1 = 11 | 10 + 1 = 11 |
9 | Variables Map at time (10 + 1) = Variables Map at time 11 | if 10 + 1 = 11, then Variables Map at time (10 + 1) = Variables Map at time 11 |
10 | Variables Map at time 11 = [ entry c: 14, [ ] ] | if Variables Map at time (10 + 1) = Variables Map at time 11 and Variables Map at time (10 + 1) = [ entry c: 14, [ ] ], then Variables Map at time 11 = [ entry c: 14, [ ] ] |
Comments
Please log in to add comments