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.EquivalenceSectionFrames
- SquareCalculus.FramedCornerCalculus
- SquareCalculus.ParameterSquareNaturality
- SquareCalculus.ParameterSquarePasting
- SquareCalculus.ParameterSquareUnits
- SquareCalculus.ProjectionSquares
- SquareCalculus.RetainedParameterChangeProjections
- SquareCalculus.SectionFrames
- SquareCalculus.SplitProjectionCalculus
- 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.
# Evaluation along a square of split projections A square between two chosen sections induces a comparison between the corresponding evaluations. Its first projection equation supplies all coherence needed below; the section witnesses remain specified. ```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.Section03.ProductCalculus.PairingNaturality as PN module SCT.VolumeI.Chapter01.Section04.SquareCalculus.SplitProjectionNaturality {c m a : Level} (𝒯 : Theory c m a) (M : Mapping.MappingAnimae 𝒯) where open import SCT.VolumeI.Chapter01.Section04.Setup 𝒯 open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.SplitProjectionCalculus 𝒯 open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.ProjectionSquares 𝒯 using (compose-base; lift-base; lift-compose; lift-square; Square) open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.SquareEvaluation 𝒯 M using (evaluate-square) open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.InverseCalculus 𝒯 using (pre-inverse) open PN vocabulary terminal products productLaws composition vertical whiskering using (cancel-right) open import SCT.VolumeI.Chapter01.Section04.ProductCalculus.ProductAssociativity 𝒯 M using (cancel-inverse-tail) open import SCT.VolumeI.Chapter01.Section02.Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural open Structural vocabulary terminal products productLaws composition whiskering using (preWhisker-comp-at; preWhisker-id-at) abstract section-natural : {X K C : CAT} (π : MAP K X) (i : MAP X K) (b : (π ∘ i) =₁ (id X)) {h k : MAP X C} (η : h =₁ k) → (section-image π i b k ∙ ((η ▷ π) ▷ i)) =₂ (η ∙ section-image π i b h) section-natural π i b {h} {k} η = paste-squares (lift-base h π i b) (lift-base k π i b) (comp-unitʳ h) (comp-unitʳ k) ((η ▷ π) ▷ i) (η ▷ id _) η (paste-squares (comp-assoc i π h) (comp-assoc i π k) (h ◁ b) (k ◁ b) ((η ▷ π) ▷ i) (η ▷ (π ∘ i)) (η ▷ id _) (preWhisker-comp-at η π i) ((interchange-at η b) ⁻¹)) (preWhisker-id-at η) module Along {X Y K L C : CAT} (π : MAP L Y) (ρ : MAP K X) (i : MAP X K) (j : MAP Y L) (bi : (ρ ∘ i) =₁ (id X)) (bj : (π ∘ j) =₁ (id Y)) (r : MAP X Y) (R : MAP K L) (bR : (π ∘ R) =₁ (r ∘ ρ)) (α : (j ∘ r) =₁ (R ∘ i)) (square : Square π (compose-base π j bj r (comp-unitˡ r)) (compose-base π R bR i (section-image ρ i bi r)) α) (h : MAP Y C) where A = comp-assoc ρ r h B = lift-base h π R bR D = A ⁻¹ ∙ B E = evaluate-square (h ∘ π) r R i j α Si = section-image ρ i bi (h ∘ r) Sj = section-image π j bj h outgoing = compose-base π R bR i (section-image ρ i bi r) incoming = compose-base π j bj r (comp-unitˡ r) T = comp-assoc i R (h ∘ π) U = comp-assoc r j (h ∘ π) abstract section-cancel : (Si ∙ (A ⁻¹ ▷ i)) =₂ (lift-base h (r ∘ ρ) i (section-image ρ i bi r)) section-cancel = cancel-right (A ▷ i) _ ∙ isoComp-cong (section-comp ρ i bi r h) (pre-inverse A i) output-left : (Si ∙ (D ▷ i)) =₂ (lift-base h (r ∘ ρ) i (section-image ρ i bi r) ∙ (B ▷ i)) output-left = isoComp-cong section-cancel (idIso (B ▷ i)) ∙ ((isoComp-assoc-at Si (A ⁻¹ ▷ i) (B ▷ i)) ⁻¹ ∙ isoComp-cong (idIso Si) (preWhisker-isoComp-at (A ⁻¹) B i)) output-right : (lift-base h π (R ∘ i) outgoing ∙ T) =₂ (lift-base h (r ∘ ρ) i (section-image ρ i bi r) ∙ (B ▷ i)) output-right = isoComp-cong (idIso _) (cancel-inverse-tail (B ▷ i) T) ∙ (isoComp-assoc-at _ ((B ▷ i) ∙ T ⁻¹) T ∙ isoComp-cong ((lift-compose h π R i bR (section-image ρ i bi r)) ⁻¹) (idIso T)) output-normal : (Si ∙ (D ▷ i)) =₂ (lift-base h π (R ∘ i) outgoing ∙ T) output-normal = output-right ⁻¹ ∙ output-left comparison : ((Si ∙ (D ▷ i)) ∙ E) =₂ (Sj ▷ r) comparison = cancel-inverse-tail (Sj ▷ r) U ∙ (isoComp-cong (isoComp-unitˡ-at _ ∙ (section-pre π j bj r h) ⁻¹) (idIso U) ∙ (isoComp-cong (lift-square h π incoming outgoing α square) (idIso U) ∙ ((isoComp-assoc-at _ ((h ∘ π) ◁ α) U) ⁻¹ ∙ (isoComp-cong (idIso _) (cancel-inverse T (((h ∘ π) ◁ α) ∙ U)) ∙ (isoComp-assoc-at _ T E ∙ isoComp-cong output-normal (idIso E)))))) ```