Other Agda modules in this section (54)
- AbsoluteObjects
- Contractible
- CoproductDomain
- CoreOfFun
- Currying
- Evaluation
- EvaluationCalculus.CoreViaFunctorCategories
- EvaluationCalculus.EvaluatedAssociativitySquare
- EvaluationCalculus.EvaluatedProjectionNormalization
- EvaluationCalculus.EvaluatedRightUnit
- EvaluationCalculus.EvaluatedSeparationChange
- EvaluationCalculus.EvaluatedUnitSquare
- EvaluationCalculus.EvaluationNaturality
- EvaluationCalculus.IteratedCompatibility
- EvaluationCalculus.MappingCompatibility
- EvaluationCalculus.MappingProofs
- EvaluationCalculus.MappingSubstitution
- EvaluationCalculus.MappingTests
- EvaluationCalculus.NestedCoordinateNaturality
- EvaluationCalculus.PostcompositionTriangleFrames
- EvaluationCalculus.PostcompositionUnitFrame
- EvaluationCalculus.PrecompositionMiddleEvaluation
- EvaluationCalculus.PrecompositionMiddleRestriction
- EvaluationCalculus.PrecompositionOuterFrame
- EvaluationCalculus.PrecompositionProductFrameComparison
- EvaluationCalculus.PrecompositionRestrictedOuterFrame
- EvaluationCalculus.PrecompositionTriangleFrames
- EvaluationCalculus.PrecompositionUnitEvaluation
- EvaluationCalculus.ProductSeparationUnits
- EvaluationCalculus.Representation
- EvaluationCalculus.RestrictedFrameNaturality
- EvaluationCalculus.RestrictedFrames
- EvaluationCalculus.SubstitutionCoherence
- EvaluationCalculus.UncurryingAction
- EvaluationCalculus.UncurryingUnits
- Everything
- ExponentialLaw
- FunctorCategories
- FunctorProducts
- FunctorPullbacks
- Functoriality
- MappingComparison
- PullbackCalculus.ConeCurrying
- PullbackCalculus.ConeReflection
- PullbackCalculus.ConeUncurrying
- PullbackCalculus.ConeUncurryingNormalization
- PullbackCalculus.ConeUncurryingPre
- PullbackCalculus.MappedCones
- PullbackCalculus.PullbackMappingTests
- PullbackCalculus.UncurryingCones
- PullbackCalculus.UncurryingSquares
- Setup
- TerminalDomain
- Uniqueness
Complete compiler-highlighted source. Follow a symbol to its declaration.
Corresponding book passages
# Lifting isomorphisms through uncurrying The actual product-and-evaluation action on isomorphism animae is an equivalence. This is derived from the stated mapping-anima universal property by the naturality theorem for evaluation. Its lifts retain their image witnesses, including for higher identifications. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section04.MappingAnimae as Mapping import SCT.VolumeI.Chapter01.Section07.FunctorCategories as Categories module SCT.VolumeI.Chapter01.Section07.EvaluationCalculus.IsomorphismLifting {c m a : Level} (𝒯 : Theory c m a) (M : Mapping.MappingAnimae 𝒯) (ℱ : Categories.FunctorCategories 𝒯 M) where open import SCT.VolumeI.Chapter01.Section07.Setup 𝒯 M ℱ open import SCT.VolumeI.Chapter01.Section07.EvaluationCalculus.EvaluationNaturality 𝒯 M using (evaluation-isoMap-isEquiv) funUncurry-isoMap-isEquiv : {T C D : CAT} (f g : MAP T (Fun C D)) → IsEquiv (funUncurry-isoMap f g) funUncurry-isoMap-isEquiv {T} {C} {D} f g = evaluation-isoMap-isEquiv funEval T (funUniversal C D T) f g abstract funUncurry-lift : {T C D : CAT} (f g : MAP T (Fun C D)) (α : (funUncurry f) =₁ (funUncurry g)) → FunctorLift (funUncurry-isoMap f g) α funUncurry-lift f g = equiv-lift (funUncurry-isoMap-isEquiv f g) funIsoReflect : {T C D : CAT} (f g : MAP T (Fun C D)) → (funUncurry f) =₁ (funUncurry g) → f =₁ g funIsoReflect f g α = FunctorLift.lift (funUncurry-lift f g α) funIsoReflect-β : {T C D : CAT} (f g : MAP T (Fun C D)) (α : (funUncurry f) =₁ (funUncurry g)) → (funUncurryIso (funIsoReflect f g α)) =₂ α funIsoReflect-β f g α = FunctorLift.comparison (funUncurry-lift f g α) funReflect-Iso₂ : {T C D : CAT} {f g : MAP T (Fun C D)} (α β : f =₁ g) → (funUncurryIso α) =₂ (funUncurryIso β) → α =₂ β funReflect-Iso₂ {f = f} {g} α β = equiv-reflect (funUncurry-isoMap-isEquiv f g) α β funUncurry-Iso₂-lift : {T C D : CAT} {f g : MAP T (Fun C D)} (α β : f =₁ g) (p : (funUncurryIso α) =₂ (funUncurryIso β)) → FunctorLift (postWhisker (funUncurry-isoMap f g)) p funUncurry-Iso₂-lift {f = f} {g} α β = postWhisker-lift (funUncurry-isoMap f g) (funUncurry-isoMap-isEquiv f g) ```