Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

funExt is an equivalence. #1070

Merged
merged 12 commits into from
Nov 2, 2023
13 changes: 13 additions & 0 deletions Cubical/Foundations/Equiv.agda
Original file line number Diff line number Diff line change
Expand Up @@ -316,3 +316,16 @@ isEquiv-isEquiv'-Iso f .leftInv p i .equiv-proof = p .equiv-proof

isEquiv≃isEquiv' : (f : A → B) → isEquiv f ≃ isEquiv' f
isEquiv≃isEquiv' f = isoToEquiv (isEquiv-isEquiv'-Iso f)

-- funExt is an equivalence
mortberg marked this conversation as resolved.
Show resolved Hide resolved

funExt≃ : {B : A → I → Type ℓ'} {f : (x : A) → B x i0} {g : (x : A) → B x i1} →
mortberg marked this conversation as resolved.
Show resolved Hide resolved
((x : A) → PathP (B x) (f x) (g x)) ≃ PathP (λ i → (x : A) → B x i) f g
mortberg marked this conversation as resolved.
Show resolved Hide resolved
funExt≃ {A = A}{B = B} {f = f} {g = g} = isoToEquiv e
mortberg marked this conversation as resolved.
Show resolved Hide resolved
where
mortberg marked this conversation as resolved.
Show resolved Hide resolved
open Iso
mortberg marked this conversation as resolved.
Show resolved Hide resolved
e : Iso ((x : A) → PathP (B x) (f x) (g x)) (PathP (λ i → (x : A) → B x i) f g)
mortberg marked this conversation as resolved.
Show resolved Hide resolved
fun e p = funExt p
mortberg marked this conversation as resolved.
Show resolved Hide resolved
inv e p = funExt⁻ p
mortberg marked this conversation as resolved.
Show resolved Hide resolved
rightInv e p = refl
mortberg marked this conversation as resolved.
Show resolved Hide resolved
leftInv e p = refl
mortberg marked this conversation as resolved.
Show resolved Hide resolved
Loading