diff options
| author | Georges Gonthier | 2015-12-04 15:39:27 +0000 |
|---|---|---|
| committer | Georges Gonthier | 2015-12-04 15:39:27 +0000 |
| commit | 672865bc8133d9cd60637f4cf696ed1388166d0a (patch) | |
| tree | dc9998bd97b9555b5fb143be35e17f389263ccb0 /mathcomp/ssrtest | |
| parent | 732a8c3856f639d723b83fd2e29fe35563120917 (diff) | |
| parent | e6076b24bd95046f82f84c21f205388c17d2e7c8 (diff) | |
Merge branch 'master' of https://github.com/math-comp/math-comp
Diffstat (limited to 'mathcomp/ssrtest')
| -rw-r--r-- | mathcomp/ssrtest/abstract_var2.v | 16 | ||||
| -rw-r--r-- | mathcomp/ssrtest/derive_inversion.v | 19 | ||||
| -rw-r--r-- | mathcomp/ssrtest/explain_match.v | 12 |
3 files changed, 47 insertions, 0 deletions
diff --git a/mathcomp/ssrtest/abstract_var2.v b/mathcomp/ssrtest/abstract_var2.v new file mode 100644 index 0000000..5372c5c --- /dev/null +++ b/mathcomp/ssrtest/abstract_var2.v @@ -0,0 +1,16 @@ +Require Import ssreflect. + +Set Implicit Arguments. + +Axiom P : nat -> nat -> Prop. + +Axiom tr : + forall x y z, P x y -> P y z -> P x z. + +Lemma test a b c : P a c -> P a b. +Proof. +intro H. +Fail have [: s1 s2] H1 : P a b := @tr _ _ _ s1 s2. +have [: w s1 s2] H1 : P a b := @tr _ w _ s1 s2. +Abort. + diff --git a/mathcomp/ssrtest/derive_inversion.v b/mathcomp/ssrtest/derive_inversion.v new file mode 100644 index 0000000..71257d8 --- /dev/null +++ b/mathcomp/ssrtest/derive_inversion.v @@ -0,0 +1,19 @@ +Require Import ssreflect ssrbool. + +Set Implicit Arguments. + + Inductive wf T : bool -> option T -> Type := + | wf_f : wf false None + | wf_t : forall x, wf true (Some x). + + Derive Inversion wf_inv with (forall T b (o : option T), wf b o) Sort Prop. + + Lemma Problem T b (o : option T) : + wf b o -> + match b with + | true => exists x, o = Some x + | false => o = None + end. + Proof. + by case: b; elim/wf_inv=>//;case: o=>// a *; exists a. + Qed. diff --git a/mathcomp/ssrtest/explain_match.v b/mathcomp/ssrtest/explain_match.v new file mode 100644 index 0000000..b79453b --- /dev/null +++ b/mathcomp/ssrtest/explain_match.v @@ -0,0 +1,12 @@ +Require Import ssreflect ssrbool ssrnat. + +Definition addnAC := (addnA, addnC). + +Lemma test x y z : x + y + z = x + y. + +ssrinstancesoftpat (_ + _). +ssrinstancesofruleL2R addnC. +ssrinstancesofruleR2L addnA. +ssrinstancesofruleR2L addnAC. +Fail ssrinstancesoftpat (_ + _ in RHS). (* Not implemented *) +Admitted.
\ No newline at end of file |
