Other Agda modules in this section (76)
- AbsoluteObjects
- Coherence
- Composition
- CompositionCalculus.CompositionInputBaseCalculus
- CompositionCalculus.CompositionInputCalculus
- CompositionCalculus.CompositionInputParameterChange
- CompositionCalculus.CompositionNaturality
- CompositionCalculus.CompositionParameterChange
- CompositionCalculus.CompositionRestrictionCalculus
- CompositionCalculus.InternalCoherence
- CompositionCalculus.InternalPentagon
- CompositionCalculus.RetainedComparisonLaws
- CompositionCalculus.RetainedCompositionBaseChange
- CompositionCalculus.RetainedCompositionParameterChange
- CompositionCalculus.RetainedCompositionRoutes
- CompositionCalculus.UniversalAssociatorRestriction
- CompositionCalculus.UniversalCoherence
- CompositionCalculus.UniversalCoherenceCalculus
- CompositionCalculus.UniversalUnitCalculus
- CompositionCalculus.UniversalUnitChange
- Core
- Currying
- EquivalenceDetection
- Everything
- Functoriality
- MappingAnimae
- MappingProducts
- Points
- ProductCalculus.PairSectionEvaluation
- ProductCalculus.ProductAssociativity
- ProductCalculus.ProductPairingComparisons
- ProductCalculus.ProductSecondCoordinate
- ProductCalculus.ProductSubstitution
- ProductCalculus.ProductSubstitutionPairing
- ProductCalculus.ProductSubstitutionUnits
- ProductCalculus.TerminalInsertion
- Setup
- SquareCalculus.FramedCornerCalculus
- SquareCalculus.ParameterSquareNaturality
- SquareCalculus.ParameterSquarePasting
- SquareCalculus.ParameterSquareUnits
- SquareCalculus.ProjectionSquares
- SquareCalculus.RetainedParameterChangeProjections
- SquareCalculus.SectionFrames
- SquareCalculus.SplitProjectionCalculus
- SquareCalculus.SplitProjectionNaturality
- SquareCalculus.SquareEvaluation
- SquareCalculus.SquareEvaluationPostcomposition
- SquareCalculus.SquareEvaluationVerticalPasting
- SquareCalculus.TriangleEvaluation
- Substitution.ApplicationRestriction
- Substitution.ApplicationRouteNormalization
- Substitution.CoherenceTransport
- Substitution.ComparisonCancellation
- Substitution.Compatibility
- Substitution.ConstantPointRestriction
- Substitution.ConstantSubstitution
- Substitution.DecodingNaturality
- Substitution.EvaluationInputChange
- Substitution.EvaluationParameterChange
- Substitution.IdentityParameterChange
- Substitution.IsomorphismReasoning
- Substitution.IteratedCompatibility
- Substitution.MappingProofCalculus
- Substitution.NestedApplicationRestriction
- Substitution.ParameterChange
- Substitution.ParameterChangeNaturality
- Substitution.PrecompositionNaturality
- Substitution.ProofCalculus
- Substitution.RetainedIdentityParameterChange
- Substitution.SectionComparisonEvaluation
- Substitution.SectionComparisonRestriction
- Substitution.Specialization
- Substitution.SubstitutionCoherence
- Substitution.UncurriedIdentityParameterChange
- Uncurrying
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Normalizing the inverse of an equivalence For an equivalence and a specified section identification, choose the other inverse identification with a prescribed image. Its second triangle follows by reflection along the equivalence and section-frame coherence. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) module SCT.VolumeI.Chapter01.Section04.SquareCalculus.EquivalenceSectionFrames {c m a : Level} (𝒯 : Theory c m a) where open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.SectionFrames 𝒯 public open import SCT.VolumeI.Chapter01.Section02.Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) open import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingUnits vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (cancel-right-reflect; triangle-whiskered) open import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural vocabulary terminal products productLaws composition whiskering using (whisker-mixed-at) module At {C D : CAT} (p : MAP C D) (ep : IsEquiv p) (s : MAP D C) (ρ : (p ∘ s) =₁ id D) where module F = WithSection p s ρ chosen = postWhisker-lift p ep (F.vertical-frame ⁻¹ ∙ comp-unitʳ p) χ : id C =₁ (s ∘ p) χ = FunctorLift.lift chosen private aa = F.section-frame vv = F.vertical-frame kk = comp-assoc s (s ∘ p) p jj = comp-assoc s (id C) p abstract image : (p ◁ χ) =₂ (vv ⁻¹ ∙ comp-unitʳ p) image = FunctorLift.comparison chosen base-triangle : (vv ∙ (p ◁ χ)) =₂ comp-unitʳ p base-triangle = cancel-inverse vv (comp-unitʳ p) ∙ isoComp-cong (idIso vv) image section-frame-tail : ((p ◁ aa) ∙ kk) =₂ (vv ▷ s) section-frame-tail = isoComp-unitʳ-at (vv ▷ s) ∙ (isoComp-cong (idIso (vv ▷ s)) (isoComp-inverseˡ-at kk) ∙ (isoComp-assoc-at (vv ▷ s) (kk ⁻¹) kk ∙ isoComp-cong F.section-frame-image (idIso kk))) section-image-tail : ((p ◁ (aa ∙ (χ ▷ s))) ∙ jj) =₂ (comp-unitʳ p ▷ s) section-image-tail = (preWhisker s ◁ base-triangle) ∙ ((preWhisker-isoComp-at vv (p ◁ χ) s) ⁻¹ ∙ (isoComp-cong section-frame-tail (idIso ((p ◁ χ) ▷ s)) ∙ ((isoComp-assoc-at (p ◁ aa) kk ((p ◁ χ) ▷ s)) ⁻¹ ∙ (isoComp-cong (idIso (p ◁ aa)) ((whisker-mixed-at χ s p) ⁻¹) ∙ (isoComp-assoc-at (p ◁ aa) (p ◁ (χ ▷ s)) jj ∙ isoComp-cong (postWhisker-isoComp-at p aa (χ ▷ s)) (idIso jj)))))) section-triangle : (aa ∙ (χ ▷ s)) =₂ comp-unitˡ s section-triangle = FunctorLift.lift (postWhisker-Iso₂-lift p ep (aa ∙ (χ ▷ s)) (comp-unitˡ s) (cancel-right-reflect jj (triangle-whiskered s p ∙ section-image-tail))) ```