Skip to content

Commit

Permalink
短い証明を採用する
Browse files Browse the repository at this point in the history
  • Loading branch information
Seasawher committed Aug 27, 2024
1 parent 449d7ac commit 8689f9c
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions ConcreteSemantics/Equivalence.lean
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,10 @@ theorem while_eq_if_then_skip (B : State → Prop) (S : Stmt) :
-- 状態 `s, t` が与えられたとする
intro s t

-- 両方向を示す
constructor <;> intro h

case mp =>
-- B が真かどうかで分岐
rw [while_iff] at h
-- aesop で片を付ける
aesop

case mpr =>
-- 条件が真かどうかで分岐する
-- while_iff を追加
aesop (add safe [while_iff])

done
-- while_iff で条件文の真偽で場合分けして、
-- 後は aesop で片づけられる。
-- inversion rule をたくさん登録したご利益。
rw [while_iff]
aesop

end BigStep

0 comments on commit 8689f9c

Please sign in to comment.