Definition f := pi_phant.Definition E := erefl f.Definition f := pi_phant.Definition E := erefl f.Definition f := repr_of.Definition E := erefl f.(*******************)
(* Fancy Notations *)
(*******************)

Notation repr := Repr.f.Notation "{eq_quot e }" :=
(@EquivQuot.type_of _ _ _ _ _ _ (Phantom (rel _) e)) : quotient_scope.Canonical mpi_unlock := Unlockable MPi.E.Canonical pi_unlock := Unlockable Pi.E.Canonical repr_unlock := Unlockable Repr.E.Notation QuotType Q m := (@QuotTypePack _ Q m).Notation "[ 'equiv_rel' 'of' e ]" := (@equiv_pack _ _ e _ id)
 (at level 0, format "[ 'equiv_rel'  'of'  e ]") : form_scope.

(* Specifications: *)
Lemma reprK : cancel repr \pi_qT.
Lemma piP (x : T) : pi_spec x (repr (\pi_qT x)).
Lemma quotW P : (forall y : T, P (\pi_qT y)) -> forall x : qT, P x.
Lemma quotP P : (forall y : T, repr (\pi_qT y) = y -> P (\pi_qT y)) -> forall x : qT, P x.