feat(red_susp): define pelim

This commit is contained in:
Floris van Doorn 2017-04-10 20:33:14 -04:00
parent c268731093
commit b998a49ec4

View file

@ -34,7 +34,7 @@ section
definition red_susp [constructor] : Type* := pointed.MK red_susp' base' definition red_susp [constructor] : Type* := pointed.MK red_susp' base'
parameter {A} parameter {A}
definition base : red_susp := definition base [reducible] : red_susp :=
base' base'
definition equator (a : A) : base = base := definition equator (a : A) : base = base :=
@ -94,6 +94,12 @@ attribute red_susp.rec_on red_susp.elim_on [unfold 3]
namespace red_susp namespace red_susp
protected definition pelim' [unfold 4] {A P : Type*} (f : A →* Ω P) : red_susp' A → P :=
red_susp.elim pt f (respect_pt f)
protected definition pelim [constructor] {A P : Type*} (f : A →* Ω P) : red_susp A →* P :=
pmap.mk (red_susp.pelim' f) idp
definition susp_of_red_susp [unfold 2] {A : Type*} (x : red_susp A) : susp A := definition susp_of_red_susp [unfold 2] {A : Type*} (x : red_susp A) : susp A :=
begin begin
induction x, induction x,