Skip to content

Commit 2780001

Browse files
committed
more direct proof for PO_flattening
Signed-off-by: Ali Caglayan <[email protected]>
1 parent 6c21cee commit 2780001

File tree

1 file changed

+33
-18
lines changed

1 file changed

+33
-18
lines changed

theories/Colimits/Colimit_Pushout_Flattening.v

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,31 +49,46 @@ Section POCase.
4949
Definition PO_flattening
5050
: PO (functor_sigma f f0) (functor_sigma g g0) <~> exists x, POCase_P x.
5151
Proof.
52-
assert (PO (functor_sigma f f0) (functor_sigma g g0)
53-
= Colimit (diagram_sigma POCase_E)). {
54-
unfold PO; apply ap.
52+
transitivity (Colimit (diagram_sigma POCase_E)).
53+
{ apply (equiv_transport Colimit).
5554
srapply path_diagram; cbn.
5655
- intros [|[]]; cbn. all: reflexivity.
5756
- intros [[]|[]] [[]|[]] [] x; cbn in *.
58-
all: reflexivity. }
59-
rewrite X; clear X.
57+
all: reflexivity. }
6058
transitivity (exists x, E' (span f g) POCase_E POCase_HE x).
6159
- apply flattening_lemma.
6260
- apply equiv_functor_sigma_id.
6361
intro x.
64-
assert (E' (span f g) POCase_E POCase_HE x = POCase_P x). {
65-
unfold E', POCase_P, PO_rec.
66-
f_ap. srapply path_cocone.
67-
- intros [[]|[]] y; cbn.
68-
1: apply path_universe_uncurried; apply g0.
69-
all: reflexivity.
70-
- intros [[]|[]] [[]|[]] []; cbn.
71-
+ intro y; simpl; hott_simpl.
72-
unfold path_universe.
73-
rewrite <- path_universe_V_uncurried.
74-
refine (path_universe_compose (f0 y)^-1 (g0 y))^.
75-
+ intros; apply concat_Vp. }
76-
rewrite X. reflexivity.
62+
snrapply Build_Equiv.
63+
+ revert x.
64+
snrapply PO_ind.
65+
1,2: intro; exact idmap.
66+
intros x.
67+
apply dpath_arrow.
68+
intros y.
69+
lhs nrapply transport_idmap_ap.
70+
lhs nrapply ap011.
71+
1: reflexivity.
72+
1: apply PO_rec_beta_pp.
73+
lhs nrapply transport_path_universe_uncurried.
74+
unfold popp.
75+
rhs nrapply (transport_pp (E' (span f g) POCase_E POCase_HE)
76+
(colimp (D:=span f g) (inl tt) (inr true) tt x)
77+
(colimp (D:=span f g) (inl tt) (inr false) tt x)^).
78+
rhs nrapply (transport_E'_V (span f g) POCase_E POCase_HE
79+
(i:=inl tt) (j:=inr false)).
80+
simpl; f_ap.
81+
rhs nrapply ap011.
82+
2: exact (eisretr (f0 x) y)^.
83+
2: reflexivity.
84+
symmetry.
85+
exact (transport_E' (span f g) POCase_E POCase_HE
86+
(i:=inl tt) (j:=inr true) tt x ((f0 x)^-1 y)).
87+
+ revert x.
88+
snrapply PO_ind.
89+
1,2: intro; apply isequiv_idmap.
90+
intro x.
91+
apply path_ishprop.
7792
Defined.
7893

7994
End POCase.

0 commit comments

Comments
 (0)