feat(hott): add wedge sum of pointed types, neutrality of wedging with the unit type
This commit is contained in:
parent
664132b845
commit
d8d3b0c0b2
1 changed files with 35 additions and 0 deletions
35
hott/homotopy/wedge.hlean
Normal file
35
hott/homotopy/wedge.hlean
Normal file
|
@ -0,0 +1,35 @@
|
|||
/-
|
||||
Copyright (c) 2016 Jakob von Raumer. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Jakob von Raumer
|
||||
|
||||
The Wedge Sum of Two Pointed Types
|
||||
-/
|
||||
import hit.pointed_pushout
|
||||
|
||||
open eq pushout pointed Pointed
|
||||
|
||||
namespace wedge
|
||||
section
|
||||
variables (A B : Type*)
|
||||
|
||||
definition Wedge : Type* := Pushout (pconst Unit A) (pconst Unit B)
|
||||
|
||||
-- TODO maybe find a cleaner proof
|
||||
protected definition unit : A ≃* Wedge Unit A :=
|
||||
begin
|
||||
fconstructor,
|
||||
{ fapply pmap.mk, intro a, apply pinr a, apply respect_pt },
|
||||
{ fapply is_equiv.adjointify, intro x, fapply pushout.elim_on x,
|
||||
exact λ x, Point A, exact id, intro u, reflexivity,
|
||||
intro x, fapply pushout.rec_on x, intro u, cases u, esimp, apply (glue unit.star)⁻¹,
|
||||
intro a, reflexivity,
|
||||
intro u, cases u, esimp, apply eq_pathover,
|
||||
refine _ ⬝hp !ap_id⁻¹, fapply eq_hconcat, apply ap_compose inr,
|
||||
krewrite elim_glue, fapply eq_hconcat, apply ap_idp, apply square_of_eq,
|
||||
apply con.left_inv,
|
||||
intro a, reflexivity },
|
||||
end
|
||||
|
||||
end
|
||||
end wedge
|
Loading…
Reference in a new issue