Skip to content

Instantly share code, notes, and snippets.

@JasonGross
Created December 24, 2013 01:22
Show Gist options
  • Select an option

  • Save JasonGross/8107450 to your computer and use it in GitHub Desktop.

Select an option

Save JasonGross/8107450 to your computer and use it in GitHub Desktop.
IsEquiv (ap f)
Require Import HoTT.
Local Open Scope path_scope.
Local Open Scope equiv_scope.
Section ap.
Variables A B : Type.
Variables x y : A.
Variable f : A -> B.
Context `{IsEquiv _ _ f}.
Goal IsEquiv (@ap _ _ f x y).
Proof.
apply (isequiv_adjointify
(ap f)
(fun H' => (eissect _ _)^ @ ap (f^-1) H' @ eissect _ _));
hnf;
[ intro
| intros [];
edestruct (eissect f _);
reflexivity ].
rewrite !ap_pp.
rewrite !ap_V.
rewrite <- !eisadj.
generalize dependent (f x).
generalize dependent (f y).
intros.
path_induction.
simpl.
edestruct (eisretr f _).
reflexivity.
Qed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment