diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-09-08 11:27:17 +0200 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2015-09-08 12:02:50 +0200 |
commit | 9510a3994210f545119ea35cdad43facededb6a2 (patch) | |
tree | 08dd8bb0dd3f16894ec96b5df332d1bf7bd35a60 /test-suite/success/shrink_obligations.v | |
parent | 99e3bdda7572725f929b77f7349d0a1e06294e94 (diff) |
Documenting the new behaviour of the Shrink Obligations flag.
Diffstat (limited to 'test-suite/success/shrink_obligations.v')
-rw-r--r-- | test-suite/success/shrink_obligations.v | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test-suite/success/shrink_obligations.v b/test-suite/success/shrink_obligations.v new file mode 100644 index 000000000..676b97878 --- /dev/null +++ b/test-suite/success/shrink_obligations.v @@ -0,0 +1,28 @@ +Require Program. + +Obligation Tactic := idtac. + +Set Shrink Obligations. + +Program Definition foo (m : nat) (p := S m) (n : nat) (q := S n) : unit := +let bar : {r | n < r} := _ in +let qux : {r | p < r} := _ in +let quz : m = n -> True := _ in +tt. +Next Obligation. +intros m p n q. +exists (S n); constructor. +Qed. +Next Obligation. +intros m p n q. +exists (S (S m)); constructor. +Qed. +Next Obligation. +intros m p n q ? ? H. +destruct H. +constructor. +Qed. + +Check (foo_obligation_1 : forall n, {r | n < r}). +Check (foo_obligation_2 : forall m, {r | (S m) < r}). +Check (foo_obligation_3 : forall m n, m = n -> True). |