Library Rational.Quotient.quotient
Parameter MK_QUO : forall (A : Set) (R : A -> A -> Prop), Set.
Definition Compat (A : Set) (R : A -> A -> Prop) (B : Set)
(f : A -> B) := forall x y : A, R x y -> f x = f y.
Definition Compat_prop (A : Set) (R : A -> A -> Prop)
(P : A -> Prop) := forall x y : A, R x y -> (P x <-> P y).
Axiom
lift :
forall (A : Set) (R : A -> A -> Prop) (B : Set) (f : A -> B),
Compat A R B f -> MK_QUO A R -> B.
Axiom
lift_prop :
forall (A : Set) (R : A -> A -> Prop) (P : A -> Prop),
Compat_prop A R P -> MK_QUO A R -> Prop.
Parameter In : forall (A : Set) (R : A -> A -> Prop), A -> MK_QUO A R.
Axiom
From_R_to_L :
forall (A : Set) (R : A -> A -> Prop) (x y : A),
R x y -> In A R x = In A R y.
Axiom
From_L_to_R :
forall (A : Set) (R : A -> A -> Prop) (x y : A),
In A R x = In A R y -> R x y.
Axiom
Reduce :
forall (A : Set) (R : A -> A -> Prop) (B : Set)
(f : A -> B) (c : Compat A R B f) (a : A),
lift A R B f c (In A R a) = f a.
Axiom
Reduce_prop :
forall (A : Set) (R : A -> A -> Prop) (f : A -> Prop)
(c : Compat_prop A R f) (a : A), lift_prop A R f c (In A R a) = f a.
Axiom
Closure :
forall (A : Set) (R : A -> A -> Prop) (X : MK_QUO A R)
(P : MK_QUO A R -> Set), (forall x : A, P (In A R x)) -> P X.
Axiom
Closure_prop :
forall (A : Set) (R : A -> A -> Prop) (X : MK_QUO A R)
(P : MK_QUO A R -> Prop), (forall x : A, P (In A R x)) -> P X.
Axiom
Ext : forall (A B : Set) (f g : A -> B), (forall x : A, f x = g x) -> f = g.
Notation "| c |" := (In _ _ c) (at level 20, c at level 0).
Notation "c / c2" := (MK_QUO c c2).
