File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -41,11 +41,9 @@ Proof.
4141 repeat f_equiv; apply H0.
4242Qed .
4343
44- Canonical Structure reify_cont : sReifier CtxDep.
45- Proof .
46- simple refine {| sReifier_ops := contE;
47- sReifier_state := unitO
48- |}.
44+ Program Canonical Structure reify_cont : sReifier CtxDep :=
45+ Build_sReifier CtxDep contE unitO _ _ _.
46+ Next Obligation .
4947 intros X HX op.
5048 destruct op as [|[|[]]]; simpl.
5149 - simple refine (OfeMor (reify_callcc X)).
Original file line number Diff line number Diff line change 139139
140140Definition CoroutineE : opsInterp := @[CreateE; ResumeE; LabelE; YieldE].
141141
142- Canonical Structure reify_coroutines : sReifier CtxDep.
143- Proof .
144- simple refine {| sReifier_ops := CoroutineE |} .
142+ Program Canonical Structure reify_coroutines : sReifier CtxDep :=
143+ Build_sReifier CtxDep CoroutineE _ _ _ _ .
144+ Next Obligation .
145145 intros X HX op.
146146 destruct op as [[]|[[]|[[]|[|[]]]]]; simpl.
147147 - simple refine (OfeMor (coroutine_create X)).
Original file line number Diff line number Diff line change @@ -121,12 +121,9 @@ Section reifiers.
121121
122122End reifiers.
123123
124- Canonical Structure reify_delim : sReifier CtxDep.
125- Proof .
126- simple refine {|
127- sReifier_ops := delimE;
128- sReifier_state := stateF
129- |}.
124+ Program Canonical Structure reify_delim : sReifier CtxDep :=
125+ Build_sReifier CtxDep delimE stateF _ _ _.
126+ Next Obligation .
130127 intros X HX op.
131128 destruct op as [ | [ | [ | [| []]]]]; simpl.
132129 - simple refine (OfeMor (reify_shift)).
Original file line number Diff line number Diff line change @@ -239,12 +239,10 @@ Module Exc (Errors : ExcSig).
239239 exact (IHσ σ'' Hσ'').
240240 * rewrite Herr -He. reflexivity.
241241 Qed .
242-
243- Canonical Structure reify_exc : sReifier CtxDep.
244- Proof .
245- simple refine {| sReifier_ops := exceptE;
246- sReifier_state := stateF
247- |}.
242+
243+ Program Canonical Structure reify_exc : sReifier CtxDep :=
244+ Build_sReifier CtxDep exceptE stateF _ _ _.
245+ Next Obligation .
248246 intros X HX op.
249247 destruct op as [|[|[|[]]]].
250248 - simple refine (OfeMor (reify_reg X)).
Original file line number Diff line number Diff line change @@ -27,11 +27,9 @@ Proof.
2727 apply G.
2828Qed .
2929
30- Canonical Structure reify_fork : sReifier NotCtxDep.
31- Proof .
32- simple refine {| sReifier_ops := concE;
33- sReifier_state := stateO
34- |}.
30+ Program Canonical Structure reify_fork : sReifier NotCtxDep :=
31+ Build_sReifier NotCtxDep concE stateO _ _ _.
32+ Next Obligation .
3533 intros X HX op.
3634 destruct op as [? | []]; simpl.
3735 simple refine (OfeMor (reify_fork' X)).
Original file line number Diff line number Diff line change @@ -55,11 +55,9 @@ Proof.
5555 repeat f_equiv; done.
5656Qed .
5757
58- Canonical Structure reify_io : sReifier NotCtxDep.
59- Proof .
60- simple refine {| sReifier_ops := ioE;
61- sReifier_state := stateO
62- |}.
58+ Program Canonical Structure reify_io : sReifier NotCtxDep :=
59+ Build_sReifier NotCtxDep ioE stateO _ _ _.
60+ Next Obligation .
6361 intros X HX op.
6462 destruct op as [[] | [ | []]]; simpl.
6563 - simple refine (OfeMor (reify_input X)).
Original file line number Diff line number Diff line change @@ -255,9 +255,9 @@ Program Definition AtomicE : opInterp := {|
255255|}.
256256
257257Definition storeE : opsInterp := @[ReadE;WriteE;AllocE;DeallocE;AtomicE].
258- Canonical Structure reify_store : sReifier NotCtxDep.
259- Proof .
260- simple refine {| sReifier_ops := storeE |} .
258+ Program Canonical Structure reify_store : sReifier NotCtxDep :=
259+ Build_sReifier NotCtxDep storeE stateF _ _ _ .
260+ Next Obligation .
261261 intros X HX op.
262262 destruct op as [[]|[[]|[[]|[|[|[]]]]]]; simpl.
263263 - simple refine (OfeMor (state_read X)).
You can’t perform that action at this time.
0 commit comments