mirror of
https://github.com/achlipala/frap.git
synced 2025-02-26 03:22:13 +00:00
Reordering premises in Invariant theorems
This commit is contained in:
parent
9b40bf78af
commit
e669e53157
1 changed files with 4 additions and 4 deletions
|
@ -14,9 +14,9 @@ Definition invariantFor {state} (sys : trsys state) (invariant : state -> Prop)
|
||||||
-> invariant s'.
|
-> invariant s'.
|
||||||
|
|
||||||
Theorem use_invariant : forall {state} (sys : trsys state) (invariant : state -> Prop) s s',
|
Theorem use_invariant : forall {state} (sys : trsys state) (invariant : state -> Prop) s s',
|
||||||
sys.(Step)^* s s'
|
invariantFor sys invariant
|
||||||
|
-> sys.(Step)^* s s'
|
||||||
-> sys.(Initial) s
|
-> sys.(Initial) s
|
||||||
-> invariantFor sys invariant
|
|
||||||
-> invariant s'.
|
-> invariant s'.
|
||||||
Proof.
|
Proof.
|
||||||
firstorder.
|
firstorder.
|
||||||
|
@ -24,8 +24,8 @@ Qed.
|
||||||
|
|
||||||
Theorem invariantFor_monotone : forall {state} (sys : trsys state)
|
Theorem invariantFor_monotone : forall {state} (sys : trsys state)
|
||||||
(invariant1 invariant2 : state -> Prop),
|
(invariant1 invariant2 : state -> Prop),
|
||||||
(forall s, invariant1 s -> invariant2 s)
|
invariantFor sys invariant1
|
||||||
-> invariantFor sys invariant1
|
-> (forall s, invariant1 s -> invariant2 s)
|
||||||
-> invariantFor sys invariant2.
|
-> invariantFor sys invariant2.
|
||||||
Proof.
|
Proof.
|
||||||
unfold invariantFor; intuition eauto.
|
unfold invariantFor; intuition eauto.
|
||||||
|
|
Loading…
Add table
Reference in a new issue