File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,23 +10,17 @@ but it works after [untemplate_goal] normalizes the name substitution with [vm_c
1010Ltac untemplate_spec G :=
1111 let y := eval red in G in
1212 change G with y;
13- rewrite / specify_notation.template_specify/specify_t;
13+ rewrite specify_notation.template_specify.unlock /specify_t;
1414 match goal with
15- |- context [match ?y with _ => _ end ] =>
16- let z := eval vm_compute in y in
17- change y with z
15+ | | - context [match ?y with _ => _ end ] =>
16+ let z := eval vm_compute in y in
17+ change y with z
1818 end ;
1919 cbn.
2020
21- Ltac untemplate_goal :=
22- match goal with
23- |- _ ⊢ ?G =>
24- untemplate_spec G
25- end .
26-
2721Ltac untemplate_bi :=
2822 match goal with
29- |- ?S1 ⊣⊢ ?S2 =>
30- untemplate_spec S1;
31- untemplate_spec S2
23+ | | - ?S1 ⊣⊢ ?S2 =>
24+ untemplate_spec S1;
25+ untemplate_spec S2
3226 end .
Original file line number Diff line number Diff line change @@ -16,7 +16,6 @@ NES.Begin unique_lock.
1616
1717 Lemma default_ctor_spec_ok : verify[source] "std::unique_lock<std::mutex>::unique_lock()".
1818 Proof .
19- untemplate_goal.
2019 verify_spec; go.
2120 Qed .
2221
@@ -32,9 +31,6 @@ NES.Begin unique_lock.
3231 verify[source]
3332 "std::unique_lock<std::mutex>::unique_lock(std::mutex&, std::defer_lock_t)".
3433 Proof .
35- work; iStopProof; untemplate_goal.
36- (* untemplate_spec (lock_defer_ctor_spec "std::mutex" source). *)
37-
3834 verify_spec; go.
3935 by rewrite cQp.scale_mut (right_id_L 1%Qp Qp.mul).
4036 Qed .
@@ -46,7 +42,6 @@ NES.Begin unique_lock.
4642 verify[source]
4743 "std::unique_lock<std::mutex>::unique_lock(std::mutex&)".
4844 Proof .
49- work; iStopProof; untemplate_goal.
5045 verify_spec; go.
5146 iExists K.
5247 (* Time Succeed solve [setoid_rewrite cQp.scale_mut; setoid_rewrite (right_id_L 1%Qp Qp.mul); ego with br_erefl]. *)
Original file line number Diff line number Diff line change @@ -20,7 +20,6 @@ NES.Begin unique_lock.
2020 Lemma default_ctor_spec_ok :
2121 verify[source] "std::unique_lock<std::recursive_mutex>::unique_lock()".
2222 Proof .
23- untemplate_goal.
2423 verify_spec; go.
2524 Qed .
2625
@@ -36,9 +35,6 @@ NES.Begin unique_lock.
3635 verify[source]
3736 "std::unique_lock<std::recursive_mutex>::unique_lock(std::recursive_mutex&, std::defer_lock_t)".
3837 Proof .
39- work; iStopProof; untemplate_goal.
40- (* untemplate_spec (lock_defer_ctor_spec "std::recursive_mutex" source). *)
41-
4238 verify_spec; go.
4339 by rewrite cQp.scale_mut (right_id_L 1%Qp Qp.mul).
4440 Qed .
@@ -51,8 +47,6 @@ NES.Begin unique_lock.
5147 verify[source]
5248 "std::unique_lock<std::recursive_mutex>::unique_lock(std::recursive_mutex&)".
5349 Proof .
54- work; iStopProof; untemplate_goal.
55- (* untemplate_spec (lock_ctor_spec "std::recursive_mutex" source). *)
5650 verify_spec; go.
5751 iExists K.
5852 (* Time Succeed solve [setoid_rewrite cQp.scale_mut; setoid_rewrite (right_id_L 1%Qp Qp.mul); ego with br_erefl]. *)
Original file line number Diff line number Diff line change @@ -10,15 +10,11 @@ NES.Begin memory.
1010
1111 Lemma addressof_ok : __addressof_spec "C" source |-- verify?[source] "std::addressof<C>(C&)".
1212 Proof .
13- work; iStopProof; untemplate_goal.
14-
1513 verify_spec; go.
1614 Qed .
1715
1816 Lemma __addressof_ok : verify?[source] "std::__addressof<C>(C&)".
1917 Proof .
20- work; iStopProof; untemplate_goal.
21-
2218 verify_spec; go.
2319 Abort .
2420 End with_cpp.
You can’t perform that action at this time.
0 commit comments