Other Agda modules in this section (135)
- ConeCalculus.BaseChangeInclusion
- ConeCalculus.ComparisonEquivalences
- ConeCalculus.ComparisonSquares
- ConeCalculus.Comparisons
- ConeCalculus.CompositeCones
- ConeCalculus.CompositePasting
- ConeCalculus.ConeAction
- ConeCalculus.ConeArrowChange
- ConeCalculus.ConeComparisonEncoding
- ConeCalculus.ConeIdentificationTransport
- ConeCalculus.ConePasting
- ConeCalculus.ConeRestriction
- ConeCalculus.ConeSymmetry
- ConeCalculus.ConeTransportPullbacks
- ConeCalculus.CospanAction
- ConeCalculus.CospanPullbacks
- ConeCalculus.CospanPullbacksLeft
- ConeCalculus.CospanRestriction
- ConeCalculus.CospanSymmetry
- ConeCalculus.FramedEdgeCones
- ConeCalculus.HigherComparisons
- ConeCalculus.HigherLifting
- ConeCalculus.HigherReflection
- ConeCalculus.InverseCalculus
- ConeCalculus.LeftLifts
- ConeCalculus.Operations
- ConeCalculus.ParameterizedCones
- ConeCalculus.ParameterizedPullbacks
- ConeCalculus.PointEvaluationNaturality
- ConeCalculus.PullbackLifting
- ConeCalculus.PullbackReindexing
- ConeCalculus.QuotientComparisons
- ConeCalculus.SplitComparisonLifts
- ConeCalculus.SplitRetractionMatching
- ConeCalculus.SquareRotation
- ConeCalculus.SquareTransport
- ConeCalculus.TriangleCones
- ConeCalculus.UniversalBaseChangeEquivalences
- ConeCalculus.UniversalConeComparison
- ConeCalculus.UniversalConeLifting
- ConeCalculus.UniversalFactorComparisons
- Cones
- Coordinates.BoundaryTransport
- Coordinates.DiagonalCoordinates
- Coordinates.DiagonalPullbacks
- Coordinates.DiagonalRestriction
- Coordinates.FramedProjectionRestriction
- Coordinates.PairedConeCoordinates
- Coordinates.PointDiagonalCoordinates
- Coordinates.PointDiagonalRestriction
- Coordinates.PointFrameRestriction
- Coordinates.PointProductSquares
- Coordinates.ProductConeFrames
- Coordinates.ProductCones
- Coordinates.ProductFamilyFrames
- Coordinates.ProductPullbacks
- Coordinates.ProductSquares
- Coordinates.ProjectedCones
- Coordinates.ProjectedSquareRestriction
- Coordinates.ProjectionFibers
- Coordinates.ProjectionRestriction
- Coordinates.UniversalConeProjectionCalculus
- CoproductCalculus.ContractibleCoproduct
- CoproductCalculus.CoproductCones
- CoproductCalculus.CoproductDescentSquare
- CoproductCalculus.InitialPullbacks
- CoproductCalculus.ParametrizedCases
- CoproductCalculus.UniversalCoproductDescent
- CoproductDescent
- Cospans.ConeAction
- Cospans.CospanCartesian
- Cospans.CospanEquivalences
- Cospans.EquivalentCospanCone
- Cospans.FamilyChange
- Cospans.FiberImageFamilyChange
- Cospans.FiberImages
- Cospans.FiberInterchange
- Cospans.FiberInterchangeProjections
- Cospans.FiberInterchangeSquare
- Cospans.Fibers
- Cospans.FixedBaseConeAction
- Cospans.FixedParameterConeAction
- Cospans.PairedMaps
- Cospans.PairedSquares
- Cospans.ProjectedImages
- Cospans.SquareSubstitution
- DisjointCoproducts
- Distributivity
- EmbeddingCalculus.ConeLifting
- EmbeddingCalculus.CospanEmbeddings
- EmbeddingCalculus.EmbeddingCalculus
- EmbeddingCalculus.EmbeddingCancellation
- EmbeddingCalculus.EmbeddingConeInvariance
- EmbeddingCalculus.PrescribedLifting
- EmbeddingCalculus.PullbackProjections
- EmbeddingCharacterizations
- Embeddings
- Everything
- Fibers
- MappingCalculus.ConeCurrying
- MappingCalculus.ConeReflection
- MappingCalculus.ConeUncurrying
- MappingCalculus.ConeUncurryingNormalization
- MappingCalculus.ConeUncurryingPre
- MappingCalculus.EvaluationSubstitution
- MappingCalculus.MappedCones
- MappingCalculus.MappingCompatibility
- MappingCalculus.MappingProofs
- MappingCalculus.MappingSubstitution
- MappingCalculus.TerminalPullbackTest
- MappingPullbacks
- Pasting.BaseChangeConeRecovery
- Pasting.BaseChangeSquares
- Pasting.ComparisonCancellation
- Pasting.ComparisonPasting
- Pasting.FactoredComposition
- Pasting.NestedPullbacks
- Pasting.UniversalNestedPullbacks
- Pasting.VerticalPasting
- PastingLemma
- PullbackArrowChange
- PullbackAssociativity
- PullbackComparison
- PullbackCriterion
- PullbackData
- PullbackEquivalences
- PullbackFunctor
- PullbackLaws
- PullbackProducts
- PullbackSquares
- PullbackSymmetry
- Representability
- RepresentabilityDiagonal
- SectionBaseChange
- UniversalCoproducts
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Fibers of a pullback cube Fiber interchange applies to arbitrary chosen presentations of the top and bottom pullbacks. A whole cube comparison determines the comparison between their maps to the canonical pullbacks. Its lifted matching retains the entire cube through the existing `FactorWithSource` computation. The resulting fiber cone uses the component fibers of the canonically represented bottom family. Comparisons with a differently framed family or with a previously specified fiber cone remain separate obligations. ```agda {-# OPTIONS --safe --without-K --lossy-unification #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section06.PullbackLaws as Laws module SCT.VolumeI.Chapter01.Section06.Cospans.PullbackCubeFibers {c m a : Level} (𝒯 : Theory c m a) (P : Laws.PullbackStructure 𝒯) where open import SCT.VolumeI.Chapter01.Section04.Setup 𝒯 open Laws.PullbackStructure P open import SCT.VolumeI.Chapter01.Section06.PullbackFunctor 𝒯 P using (CospanMap) open import SCT.VolumeI.Chapter01.Section06.PullbackSquares 𝒯 P open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.ConeAction 𝒯 using (cone-action) import SCT.VolumeI.Chapter01.Section06.Cospans.CospanEquivalences as Equivalences import SCT.VolumeI.Chapter01.Section06.Cospans.Fibers as Fibers import SCT.VolumeI.Chapter01.Section06.Cospans.FiberInterchange as FiberInterchange private transport-restriction : {C D E X Y Z : CAT} {f : MAP C E} {g : MAP D E} (t : Cone f g Z) (s : Cone f g Y) (q : Cone f g X) (a : MAP Y Z) (b : MAP X Y) (c : MAP X Z) → ConeIso (conePre a t) s → (a ∘ b) =₁ c → ConeIso (conePre c t) q → ConeIso (conePre b s) q transport-restriction t s q a b c Φ θ Ψ = coneIso-compose Ψ (coneIso-compose (cone-action t θ) (coneIso-compose (conePre-assoc b a t) (coneIso-inverse (coneIso-pre b Φ)))) module Cube {C D E C′ D′ E′ S T : CAT} {f : MAP C E} {g : MAP D E} {f′ : MAP C′ E′} {g′ : MAP D′ E′} (F : CospanMap f g f′ g′) (s : Cone f g S) (t : Cone f′ g′ T) (h : MAP S T) (cube : ConeIso (conePre h t) (CospanMap.mapCone F s)) where source-comparison : MAP S (Pullback f g) source-comparison = pullbackLift s target-comparison : MAP T (Pullback f′ g′) target-comparison = pullbackLift t private module Represented = Fibers.At 𝒯 P F target-comparison using (module FactorWithSource) family-comparison : ConeIso (CospanMap.mapCone F s) (conePre h (conePre target-comparison (pullbackCone f′ g′))) family-comparison = coneIso-compose (coneIso-pre h (coneIso-inverse (pullbackLift-β t))) (coneIso-inverse cube) module CubeLift = Represented.FactorWithSource s h family-comparison source-comparison (pullbackLift-β s) using (comparison; comparison-image; prescribed) comparison : (CospanMap.pullbackMap F ∘ source-comparison) =₁ (target-comparison ∘ h) comparison = CubeLift.comparison open CubeLift public using (comparison-image) module At {Γ : CAT} (x : MAP Γ T) where represented-family : MAP Γ (Pullback f′ g′) represented-family = target-comparison ∘ x family-computation : ConeIso (conePre represented-family (pullbackCone f′ g′)) (conePre x t) family-computation = coneIso-compose (coneIso-pre x (pullbackLift-β t)) (coneIso-inverse (conePre-assoc x target-comparison (pullbackCone f′ g′))) fiber-cospan : CospanMap h x (CospanMap.pullbackMap F) represented-family fiber-cospan = record { left = source-comparison ; right = id Γ ; base = target-comparison ; leftSquare = comparison ; rightSquare = comp-unitʳ represented-family } to-represented-fiber : MAP (Pullback h x) (Pullback (CospanMap.pullbackMap F) represented-family) to-represented-fiber = CospanMap.pullbackMap fiber-cospan to-represented-fiber-computation : ConeIso (conePre to-represented-fiber (pullbackCone (CospanMap.pullbackMap F) represented-family)) (CospanMap.mapCone fiber-cospan (pullbackCone h x)) to-represented-fiber-computation = CospanMap.pullbackMap-β fiber-cospan private module Components = Fibers.At 𝒯 P F represented-family using (left-family; right-family; base-family; matching; left-fiber; right-fiber; base-fiber; left-map; right-map) open Components public using (left-family; right-family; base-family; matching; left-fiber; right-fiber; base-fiber; left-map; right-map) module Universal (es : IsPullback s) (et : IsPullback t) where private module FiberEquivalence = Equivalences.CospanEquivalence 𝒯 P fiber-cospan es (id-isEquiv Γ) et using (pullbackMap-isEquiv) module Interchange = FiberInterchange.At 𝒯 P F represented-family using (component-pullback; component-pullback-cone; fiber-comparison; fiber-comparison-isEquiv; fiber-cone; fiber-comparison-computation) to-represented-fiber-isEquiv : IsEquiv to-represented-fiber to-represented-fiber-isEquiv = FiberEquivalence.pullbackMap-isEquiv private chosen : FunctorLift Interchange.fiber-comparison to-represented-fiber chosen = equiv-lift Interchange.fiber-comparison-isEquiv to-represented-fiber component-map-calculation : MAP (Pullback h x) Interchange.component-pullback component-map-calculation = FunctorLift.lift chosen abstract to-component-pullback : MAP (Pullback h x) Interchange.component-pullback to-component-pullback = component-map-calculation to-component-pullback-computation : to-component-pullback =₁ component-map-calculation to-component-pullback-computation = idIso component-map-calculation factor-comparison : (Interchange.fiber-comparison ∘ to-component-pullback) =₁ to-represented-fiber factor-comparison = FunctorLift.comparison chosen to-component-pullback-isEquiv : IsEquiv to-component-pullback to-component-pullback-isEquiv = equiv-cancel-left to-component-pullback Interchange.fiber-comparison Interchange.fiber-comparison-isEquiv (equiv-transport (factor-comparison ⁻¹) to-represented-fiber-isEquiv) cone : Cone Components.left-map Components.right-map (Pullback h x) cone = conePre to-component-pullback Interchange.component-pullback-cone isPullback : IsPullback cone isPullback = pullback-restrict-equivalence Interchange.component-pullback-cone to-component-pullback (pullbackCone-isPullback Components.left-map Components.right-map) to-component-pullback-isEquiv fiber-computation : ConeIso (conePre to-component-pullback Interchange.fiber-cone) (CospanMap.mapCone fiber-cospan (pullbackCone h x)) fiber-computation = transport-restriction (pullbackCone (CospanMap.pullbackMap F) represented-family) Interchange.fiber-cone (CospanMap.mapCone fiber-cospan (pullbackCone h x)) Interchange.fiber-comparison to-component-pullback to-represented-fiber Interchange.fiber-comparison-computation factor-comparison to-represented-fiber-computation ```