Commit 0a2f1938 authored by Robbert Krebbers's avatar Robbert Krebbers

Prove that non-value WP is contractive.

parent 0a151fd4
......@@ -79,6 +79,13 @@ Global Instance wp_proper s E e :
by intros Φ Φ' ?; apply equiv_dist=>n; apply wp_ne=>v; apply equiv_dist.
Lemma wp_contractive s E e n :
to_val e = None
Proper (pointwise_relation _ (dist_later n) ==> dist n) (wp (PROP:=iProp Σ) s E e).
intros He Φ Ψ HΦ. rewrite !wp_unfold /wp_pre He.
by repeat (f_contractive || f_equiv).
Lemma wp_value' s E Φ v : Φ v WP of_val v @ s; E {{ Φ }}.
Proof. iIntros "HΦ". rewrite wp_unfold /wp_pre to_of_val. auto. Qed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment