Reindent consistently bullets
This commit is contained in:
parent
5dfc412c10
commit
908bed1331
1 changed files with 277 additions and 275 deletions
10
wp.v
10
wp.v
|
@ -224,7 +224,6 @@ Inductive hoare_provability : Assert -> Instr -> Assert -> Prop :=
|
||||||
forall pre, forall post,
|
forall pre, forall post,
|
||||||
forall pre', forall post',
|
forall pre', forall post',
|
||||||
forall s,
|
forall s,
|
||||||
|
|
||||||
(|- [| pre' |] s [| post' |]) % assert ->
|
(|- [| pre' |] s [| post' |]) % assert ->
|
||||||
(assertImplLogical pre pre') ->
|
(assertImplLogical pre pre') ->
|
||||||
(assertImplLogical post' post) ->
|
(assertImplLogical post' post) ->
|
||||||
|
@ -396,7 +395,8 @@ Proof.
|
||||||
intros n [lastIter [notLastIter isWhile] ].
|
intros n [lastIter [notLastIter isWhile] ].
|
||||||
rewrite isWhile in interpRel.
|
rewrite isWhile in interpRel.
|
||||||
destruct n.
|
destruct n.
|
||||||
{ simpl in lastIter. simpl in interpRel; unfold MemElem in interpRel.
|
{
|
||||||
|
simpl in lastIter. simpl in interpRel; unfold MemElem in interpRel.
|
||||||
unfold assertAnd. apply (unwrap_CpoElem Mem) in interpRel. split.
|
unfold assertAnd. apply (unwrap_CpoElem Mem) in interpRel. split.
|
||||||
{ rewrite interpRel in preInMem; assumption. }
|
{ rewrite interpRel in preInMem; assumption. }
|
||||||
{ apply expr_neg_consistency; rewrite <- interpRel; assumption. }
|
{ apply expr_neg_consistency; rewrite <- interpRel; assumption. }
|
||||||
|
@ -444,7 +444,7 @@ Qed.
|
||||||
Fixpoint wp (instr: Instr) (cond: Assert) : Assert := match instr with
|
Fixpoint wp (instr: Instr) (cond: Assert) : Assert := match instr with
|
||||||
| skip =>
|
| skip =>
|
||||||
cond
|
cond
|
||||||
| abort =>
|
| abort =>
|
||||||
assertTop
|
assertTop
|
||||||
| assign x expr =>
|
| assign x expr =>
|
||||||
cond [[ x <- expr expr ]]
|
cond [[ x <- expr expr ]]
|
||||||
|
@ -459,5 +459,7 @@ end.
|
||||||
Theorem wp_correctness (instr: Instr) (post: Assert) :
|
Theorem wp_correctness (instr: Instr) (post: Assert) :
|
||||||
( |= [| wp instr post |] instr [| post |] ) % assert.
|
( |= [| wp instr post |] instr [| post |] ) % assert.
|
||||||
Proof.
|
Proof.
|
||||||
(* TODO *)
|
|
||||||
Admitted.
|
Admitted.
|
||||||
|
|
||||||
|
(* vim: ts=2 sw=2
|
||||||
|
*)
|
||||||
|
|
Loading…
Reference in a new issue