aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAssia Mahboubi2018-03-21 23:32:13 +0100
committerGitHub2018-03-21 23:32:13 +0100
commitc17414bbef21bb3d0b96ee004c29ef7d56e55e2e (patch)
tree550d3df7837b8b2ee9ffdc03a4d4e6c4283f2d60
parentae8e96a37644a4d1cded1b13acf031d1325b68b4 (diff)
parentc6139d34289b95b0f5ea30133daaf7c4cb13a49d (diff)
Merge pull request #187 from anton-trunov/fix-some-inj-to-use-it-as-a-view
Declare prenex implicits for `Some_inj`
-rw-r--r--mathcomp/ssreflect/plugin/v8.5/ssrfun.v5
-rw-r--r--mathcomp/ssreflect/plugin/v8.6/ssrfun.v5
2 files changed, 8 insertions, 2 deletions
diff --git a/mathcomp/ssreflect/plugin/v8.5/ssrfun.v b/mathcomp/ssreflect/plugin/v8.5/ssrfun.v
index 48cf417..c517b92 100644
--- a/mathcomp/ssreflect/plugin/v8.5/ssrfun.v
+++ b/mathcomp/ssreflect/plugin/v8.5/ssrfun.v
@@ -181,7 +181,7 @@ Require Import ssreflect.
(* rev_right_loop inv op <-> op, inv obey the inverse loop reverse right *)
(* axiom: (x op y) op (inv y) = x for all x, y. *)
(* Note that familiar "cancellation" identities like x + y - y = x or *)
-(* x - y + x = x are respectively instances of right_loop and rev_right_loop *)
+(* x - y + y = x are respectively instances of right_loop and rev_right_loop *)
(* The corresponding lemmas will use the K and NK/VK suffixes, respectively. *)
(* *)
(* - Morphisms for functions and relations: *)
@@ -732,6 +732,9 @@ End Injections.
Lemma Some_inj {T} : injective (@Some T). Proof. by move=> x y []. Qed.
+(* Forcing implicit arguments to be added when used as a view *)
+Prenex Implicits Some_inj.
+
(* cancellation lemmas for dependent type casts. *)
Lemma esymK T x y : cancel (@esym T x y) (@esym T y x).
Proof. by case: y /. Qed.
diff --git a/mathcomp/ssreflect/plugin/v8.6/ssrfun.v b/mathcomp/ssreflect/plugin/v8.6/ssrfun.v
index 48cf417..c517b92 100644
--- a/mathcomp/ssreflect/plugin/v8.6/ssrfun.v
+++ b/mathcomp/ssreflect/plugin/v8.6/ssrfun.v
@@ -181,7 +181,7 @@ Require Import ssreflect.
(* rev_right_loop inv op <-> op, inv obey the inverse loop reverse right *)
(* axiom: (x op y) op (inv y) = x for all x, y. *)
(* Note that familiar "cancellation" identities like x + y - y = x or *)
-(* x - y + x = x are respectively instances of right_loop and rev_right_loop *)
+(* x - y + y = x are respectively instances of right_loop and rev_right_loop *)
(* The corresponding lemmas will use the K and NK/VK suffixes, respectively. *)
(* *)
(* - Morphisms for functions and relations: *)
@@ -732,6 +732,9 @@ End Injections.
Lemma Some_inj {T} : injective (@Some T). Proof. by move=> x y []. Qed.
+(* Forcing implicit arguments to be added when used as a view *)
+Prenex Implicits Some_inj.
+
(* cancellation lemmas for dependent type casts. *)
Lemma esymK T x y : cancel (@esym T x y) (@esym T y x).
Proof. by case: y /. Qed.