Module mathcomp.classical.internal_Eqdep_dec
Attributes deprecated(since="mathcomp-analysis 1.10.0",
note="This file is for internal purpose only and should not \
be imported nor used. It may be removed in the future.").
Import EqNotations.
Section Dependent_Equality.
Variables ( : Type) ( : U -> Type).
Inductive
Source code
Source code
Lemma
Source code
eq_dep p x q y -> eq_dep q y p x.
Proof.
Inductive
Source code
Source code
Lemma
Source code
eq_dep p x q y -> eq_dep1 p x q y.
Proof.
End Dependent_Equality.
Section Equivalences.
Variable : Type.
Definition
sigR : forall {U V : Type} {A : set V}, {fun [set: U] >-> A} -> U -> A sigR is not universe polymorphic Arguments sigR {U V}%type_scope {A}%classical_set_scope f u / The reduction tactics unfold sigR when applied to 5 arguments sigR is transparent Expands to: Constant mathcomp.classical.functions.sigR Declared in library mathcomp.classical.functions, line 2010, characters 11-15
Source code
forall ( : p = p), x = eq_rect p Q x p h.
Definition
valR : forall {U V : Type} {A : set V}, (U -> A) -> U -> V valR is not universe polymorphic Arguments valR {U V}%type_scope {A}%classical_set_scope f%function_scope x valR is transparent Expands to: Constant mathcomp.classical.functions.valR Declared in library mathcomp.classical.functions, line 2014, characters 11-15
Source code
Definition
valR_fun : forall {U V : Type} {A : set V}, (U -> A) -> {fun [set: U] >-> A} valR_fun is not universe polymorphic Arguments valR_fun {U V}%type_scope {A}%classical_set_scope f%function_scope valR_fun is transparent Expands to: Constant mathcomp.classical.functions.valR_fun Declared in library mathcomp.classical.functions, line 2017, characters 11-19
Source code
forall ( : P p), eq_dep _ _ p x p y -> x = y.
Definition
sigLR : forall {U V : Type} {A : set U} {B : set V}, {fun A >-> B} -> A -> B sigLR is not universe polymorphic Arguments sigLR {U V}%type_scope {A B}%classical_set_scope x u sigLR is transparent Expands to: Constant mathcomp.classical.functions.sigLR Declared in library mathcomp.classical.functions, line 2244, characters 11-16
Source code
Definition
valLR : forall {U V : Type}, V -> forall {A : set U} {B : set V}, (A -> B) -> U -> V valLR is not universe polymorphic Arguments valLR {U V}%type_scope v {A B}%classical_set_scope _%function_scope _ valLR is transparent Expands to: Constant mathcomp.classical.functions.valLR Declared in library mathcomp.classical.functions, line 2249, characters 11-16
Source code
P (eq_refl x) -> forall : x = x, P p.
Definition
valLRfun : forall {U V : Type}, V -> forall {A : set U} {B : set V}, (A -> B) -> {fun A >-> B} valLRfun is not universe polymorphic Arguments valLRfun {U V}%type_scope v {A B}%classical_set_scope _%function_scope valLRfun is transparent Expands to: Constant mathcomp.classical.functions.valLRfun Declared in library mathcomp.classical.functions, line 2250, characters 11-19
Source code
Lemma
Source code
Eq_rect_eq_on p P y -> forall ( : P p), eq_dep1 _ _ p x p y -> x = y.
Proof.
Lemma
Source code
Eq_rect_eq -> forall (:U->Type) (:U) ( :P p), eq_dep1 _ _ p x p y -> x = y.
Proof (fun
Source code
@eq_rect_eq_on__eq_dep1_eq_on p P x (eq_rect_eq p P x) y).
Lemma
Source code
Eq_rect_eq_on p P x -> Eq_dep_eq_on P p x.
Proof.
symmetry; apply (eq_rect_eq_on__eq_dep1_eq_on _ _ _ eq_rect_eq).
apply eq_dep_sym in H; apply eq_dep_dep1; trivial.
Qed.
Source code
Proof (fun
Source code
@eq_rect_eq_on__eq_dep_eq_on p P x (eq_rect_eq p P x) y).
Lemma
Source code
Streicher_K_on_ p (fun => x = rew -> [P] h in x) -> Eq_rect_eq_on p P x.
Proof.
Source code
Proof.
Set SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Section EqdepDec.
Variable : Type.
Let
Source code
Source code
Source code
eq_ind _ (fun => a = y') eq2 _ eq1.
Remark
Source code
Proof.
Variables ( : A) (
Source code
Let (:A) (:x = y) : x = y :=
match eq_dec y with
| or_introl eqxy => eqxy
| or_intror neqxy => False_ind _ (neqxy u)
end.
#[local] Lemma
Source code
Let
Source code
Remark
Source code
Proof.
Theorem
Source code
Proof.
elim (nu_left_inv_on p2).
elim nu_constant with y p1 p2.
reflexivity.
Qed.
Theorem
Source code
Proof.
End EqdepDec.
Theorem
Source code
Source code
forall : x = x -> Prop, P (eq_refl x) -> forall : x = x, P p.
Proof.
Section Eq_dec.
Variables ( : Type) (
Source code
Theorem
Source code
P p.
Theorem
Source code
x = eq_rect p Q x p h.
Proof.
Unset Implicit Arguments.
Lemma
Source code
existT P p x = existT P q y -> eq_dep _ _ p x q y.
Proof.
Section Corollaries.
Variable : Type.
Definition
pinv_ : forall {T U : Type}, (U -> T) -> set T -> (T -> U) -> U -> T pinv_ is not universe polymorphic Arguments pinv_ {T U}%type_scope dflt%function_scope A%classical_set_scope f%function_scope _ pinv_ is transparent Expands to: Constant mathcomp.classical.functions.pinv_ Declared in library mathcomp.classical.functions, line 2473, characters 11-16
Source code
forall ( : P p), existT P p x = existT P p y -> x = y.
Definition
cst : forall {T T' : Type}, T' -> T -> T' cst is not universe polymorphic Arguments cst {T T'}%type_scope x _ / The reduction tactics unfold cst when applied to 4 arguments cst is transparent Expands to: Constant mathcomp.classical.functions.cst Declared in library mathcomp.classical.functions, line 2563, characters 11-14
Source code
Lemma
Source code
Eq_dep_eq_on U P p x -> Inj_dep_pair_on P p x.
Proof.
Source code
Proof (fun
Source code
@eq_dep_eq_on__inj_pair2_on P p x (eq_dep_eq P p x)).
End Corollaries.
Lemma
Source code
forall ( : A -> Type) ( : A) ( : P p), existT P p x = existT P p y -> x = y.
Proof.
apply eq_rect_eq__eq_dep_eq.
unfold Eq_rect_eq, Eq_rect_eq_on.
intros; apply eq_rect_eq_dec.
Qed.
End Eq_dec.