Skip to content

Commit a06c77b

Browse files
authored
Merge pull request #33 from vellvm/calvin-rocq9.0
Add refine_trigger lemma.
2 parents e1800bc + 35340af commit a06c77b

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

theories/Interp/FoldCTree.v

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,15 @@ Section FoldCTree.
226226
refine g (Vis e k) ≅ x <- trigger e;; Guard (refine g (k x)).
227227
Proof. now rewrite unfold_refine. Qed.
228228

229+
Lemma refine_trigger `{E -< F} (e: E X) :
230+
refine g (trigger e : ctree E C X) ~ (trigger e : ctree F D X).
231+
Proof.
232+
rewrite unfold_refine; cbn.
233+
setoid_rewrite sb_guard.
234+
setoid_rewrite refine_ret.
235+
now rewrite bind_ret_r.
236+
Qed.
237+
229238
Lemma refine_guard `{E -< F} (t: ctree E C X) :
230239
refine g (Guard t) ≅ Guard (refine g t).
231240
Proof. now rewrite unfold_refine. Qed.

0 commit comments

Comments
 (0)