aboutsummaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorEnrico Tassi2020-06-12 10:54:06 +0200
committerEnrico Tassi2020-06-12 10:54:06 +0200
commit13e8d04b2f080fbc7ca169bc39e53c8dd091d279 (patch)
tree4a430fe3e8d1b7f0e21e6296e3739399c5db9744 /test-suite
parent96d206a9b249f28d489a453eb6a6ed627a5aa49b (diff)
parent213c9284ad5164f39df90da757ebfed44179f851 (diff)
Merge PR #12357: [declare] Remove some unused `fix_exn`
Reviewed-by: gares
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/interactive/ParalITP_fail_on_qed.v54
1 files changed, 54 insertions, 0 deletions
diff --git a/test-suite/interactive/ParalITP_fail_on_qed.v b/test-suite/interactive/ParalITP_fail_on_qed.v
new file mode 100644
index 0000000000..37692ed254
--- /dev/null
+++ b/test-suite/interactive/ParalITP_fail_on_qed.v
@@ -0,0 +1,54 @@
+(* Some boilerplate *)
+Fixpoint fib n := match n with
+ | O => 1
+ | S m => match m with
+ | O => 1
+ | S o => fib o + fib m end end.
+
+Ltac sleep n :=
+ try (cut (fib n = S (fib n)); reflexivity).
+
+(* Tune that depending on your PC *)
+Let time := 10.
+
+
+(* Beginning of demo *)
+
+Section Demo.
+
+Variable i : True.
+
+Lemma a (n : nat) : nat.
+Proof using.
+ revert n.
+ fix f 1.
+ apply f.
+Qed.
+
+Lemma b : True.
+Proof using i.
+ sleep time.
+ idtac.
+ sleep time.
+ (* Here we use "a" *)
+ exact I.
+Qed.
+
+Lemma work_here : True /\ True.
+Proof using i.
+(* Jump directly here, Coq reacts immediately *)
+split.
+ exact b. (* We can use the lemmas above *)
+exact I.
+Qed.
+
+End Demo.
+
+From Coq Require Import Program.Tactics.
+Obligation Tactic := idtac.
+Program Definition foo : nat -> nat * nat :=
+ fix f (n : nat) := (0,_).
+
+Next Obligation.
+intros f n; apply (f n).
+Qed.