Other Agda modules in this section (27)
- ConeFramings
- ConeIdentifications
- ConePasting
- ConeTransport
- ConeUniversality
- Cones
- CoproductDescent
- DiagonalPullbacks
- DisjointCoproducts
- Distributivity
- EmbeddingCharacterizations
- Embeddings
- MappingPullbacks
- NestedPullbacks
- PastingLemma
- PullbackArrowChange
- PullbackAssociativity
- PullbackCancellation
- PullbackConstructions
- PullbackFunctoriality
- PullbackSquares
- Pullbacks
- Representability
- RepresentabilityDiagonal
- SectionBaseChange
- UniversalConeIdentifications
- UniversalCoproducts
Chapter 1, rebuild2, checked 14 October 2026 · source revision b982f5a.
# Transferring a universal cone A comparison of cone descriptions has an equivalence on the chosen vertices and converts cones on anima parameters. It preserves and reflects complete cone identifications, including their matching squares. The induced-cone comparison relates this conversion to restriction along the vertex functor. These are data of a comparison, not additional axioms. No identity or composition law for the conversion is needed for the transfer argument. ```agda {-# OPTIONS --without-K #-} module SCT.VolumeI.Chapter01.Section06.PullbackTransfer where open import SCT.VolumeI.Chapter01.Section01.Vocabulary open Operations open import SCT.VolumeI.Chapter01.Section06.Cones open import SCT.VolumeI.Chapter01.Section06.ConeIdentifications open import SCT.VolumeI.Chapter01.Section06.Pullbacks open import SCT.VolumeI.Chapter01.Section06.PullbackSquares import SCT.VolumeI.Chapter01.Section03.Factorizations as Fact open import SCT.VolumeI.Chapter01.Section03.Equivalences using (equiv-reflect) module _ {Γ : Context} where record ConeComparison {C D E S C′ D′ E′ S′ : CAT Γ} {f : MAP C E} {g : MAP D E} {f′ : MAP C′ E′} {g′ : MAP D′ E′} (s : Cone f g S) (t : Cone f′ g′ S′) : Set (c ⊔ m ⊔ a) where field vertex : MAP S S′ vertex-isEquiv : IsEquiv vertex convert : {X : CAT Γ} → isAn X → Cone f g X → Cone f′ g′ X preserve : {X : CAT Γ} (xAn : isAn X) {p q : Cone f g X} → ConeIdentification₁ p q → ConeIdentification₁ (convert xAn p) (convert xAn q) reflect : {X : CAT Γ} (xAn : isAn X) (p q : Cone f g X) → ConeIdentification₁ (convert xAn p) (convert xAn q) → ConeIdentification₁ p q induced : {X : CAT Γ} (xAn : isAn X) (h : MAP X S) → ConeIdentification₁ (convert xAn (cone-restrict h s)) (cone-restrict (vertex ∘ h) t) ``` The target universal cone first supplies a factor. Factoring that map through the vertex equivalence supplies the source factor. Reflecting the pasted target beta gives its complete cone identification. ```agda module Transfer {C D E S C′ D′ E′ S′ : CAT Γ} {f : MAP C E} {g : MAP D E} {f′ : MAP C′ E′} {g′ : MAP D′ E′} {s : Cone f g S} {t : Cone f′ g′ S′} (comparison : ConeComparison s t) (target-isPullback : IsPullback t) where private module Change = ConeComparison comparison module Known = UniversalCone t target-isPullback module Factor {X : CAT Γ} (xAn : isAn X) (p : Cone f g X) where private chosen : Fact.Factorization Change.vertex (Known.factor (Change.convert xAn p)) chosen = Fact.factor-through-equiv Change.vertex-isEquiv (Known.factor (Change.convert xAn p)) factor : MAP X S factor = Fact.factor chosen β : ConeIdentification₁ (cone-restrict factor s) p β = Change.reflect xAn _ _ (cone-compose (Known.β (Change.convert xAn p)) (cone-compose (cone-action-One t (Fact.triangle chosen)) (Change.induced xAn factor))) reflect : {X : CAT Γ} (xAn : isAn X) (h k : MAP X S) → ConeIdentification₁ (cone-restrict h s) (cone-restrict k s) → h =₁ k reflect xAn h k Φ = equiv-reflect Change.vertex-isEquiv h k (Known.reflect (Change.vertex ∘ h) (Change.vertex ∘ k) (cone-compose (Change.induced xAn k) (cone-compose (Change.preserve xAn Φ) (cone-inverse (Change.induced xAn h))))) ``` Recognition needs only the factor of the chosen pullback cone and reflection at the source vertex. Since conversion is available only on anima parameters, both of these vertices must explicitly be animae. ```agda source-isPullback : isAn S → isAn (Pullback f g) → IsPullback s source-isPullback sAn pAn = isPullback-from-factor-and-reflection s (Factor.factor pAn (pullback-cone f g)) (Factor.β pAn (pullback-cone f g)) (reflect sAn) ```