Proof: Write Stmt Tab At Unchanged Expr26
Let's prove the following theorem:
if the following are true:
- the line at time 26 = 5
- the tab at time 26 = 0
- statement at line 5, tab 0 =
b = add_three(a)
- expression state at time 26 = "end_expr"
then the tab at time 27 = 0
Proof:
Given
1 | the line at time 26 = 5 |
---|---|
2 | the tab at time 26 = 0 |
3 | statement at line 5, tab 0 = b = add_three(a) |
4 | expression state at time 26 = "end_expr" |
# | Claim | Reason |
---|---|---|
1 | the tab at time (26 + 1) = the tab at time 26 | if the line at time 26 = 5 and the tab at time 26 = 0 and statement at line 5, tab 0 = b = add_three(a) and expression state at time 26 = "end_expr", then the tab at time (26 + 1) = the tab at time 26 |
2 | the tab at time (26 + 1) = 0 | if the tab at time (26 + 1) = the tab at time 26 and the tab at time 26 = 0, then the tab at time (26 + 1) = 0 |
3 | 26 + 1 = 27 | 26 + 1 = 27 |
4 | the tab at time (26 + 1) = the tab at time 27 | if 26 + 1 = 27, then the tab at time (26 + 1) = the tab at time 27 |
5 | the tab at time 27 = 0 | if the tab at time (26 + 1) = the tab at time 27 and the tab at time (26 + 1) = 0, then the tab at time 27 = 0 |
Comments
Please log in to add comments