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
subfun : forall {T : Type} {A B : set T}, (A `<=` B)%classic -> A -> B subfun is not universe polymorphic Arguments subfun {T}%_type_scope {A B}%_classical_set_scope AB a subfun is transparent Expands to: Constant mathcomp.classical.functions.subfun Declared in library mathcomp.classical.functions, line 1320, characters 11-17
Source code
forall ( : p = p), x = eq_rect p Q x p h.
Definition
seteqfun : forall {T : Type} {A B : set T}, A = B -> A -> B seteqfun is not universe polymorphic Arguments seteqfun {T}%_type_scope {A B}%_classical_set_scope AB a seteqfun is transparent Expands to: Constant mathcomp.classical.functions.seteqfun Declared in library mathcomp.classical.functions, line 1360, characters 11-19
Source code
Definition
incl : forall {T : Type} {A B : set T}, (A `<=` B)%classic -> T -> T incl is not universe polymorphic Arguments incl {T}%_type_scope {A B}%_classical_set_scope AB x incl is transparent Expands to: Constant mathcomp.classical.functions.incl Declared in library mathcomp.classical.functions, line 1375, characters 11-15
Source code
forall ( : P p), eq_dep _ _ p x p y -> x = y.
Definition
eqincl : forall {T : Type} {A B : set T}, A = B -> T -> T eqincl is not universe polymorphic Arguments eqincl {T}%_type_scope {A B}%_classical_set_scope AB x eqincl is transparent Expands to: Constant mathcomp.classical.functions.eqincl Declared in library mathcomp.classical.functions, line 1382, characters 11-17
Source code
Definition
mkfun : forall {aT rT : Type} {A : set aT} {B : set rT} [f : aT -> rT], {homo f : x / A x >-> B x} -> aT -> rT mkfun is not universe polymorphic Arguments mkfun {aT rT}%_type_scope {A B}%_classical_set_scope [f]%_function_scope fAB _ mkfun is transparent Expands to: Constant mathcomp.classical.functions.mkfun Declared in library mathcomp.classical.functions, line 1396, characters 11-16
Source code
P (eq_refl x) -> forall : x = x, P p.
Definition
mkfun_fun : forall {aT rT : Type} {A : set aT} {B : set rT} [f : aT -> rT], {homo f : x / A x >-> B x} -> {fun A >-> B} mkfun_fun is not universe polymorphic Arguments mkfun_fun {aT rT}%_type_scope {A B}%_classical_set_scope [f]%_function_scope fAB mkfun_fun is transparent Expands to: Constant mathcomp.classical.functions.mkfun_fun Declared in library mathcomp.classical.functions, line 1398, characters 11-20
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.
Unset 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
set_val : forall {T : Type} {A : set T}, A -> T set_val is not universe polymorphic Arguments set_val {T}%_type_scope {A}%_classical_set_scope _ set_val is transparent Expands to: Constant mathcomp.classical.functions.set_val Declared in library mathcomp.classical.functions, line 1412, characters 11-18
Source code
forall ( : P p), existT P p x = existT P p y -> x = y.
Definition
ssquash : forall {T : Type}, {splitsurj [set: T] >-> [set: $| T |]} ssquash is not universe polymorphic Arguments ssquash {T}%_type_scope ssquash is transparent Expands to: Constant mathcomp.classical.functions.ssquash Declared in library mathcomp.classical.functions, line 1426, characters 11-18
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.