# The circle ```agda module synthetic-homotopy-theory.circle where ``` <details><summary>Imports</summary> ```agda open import foundation.0-connected-types open import foundation.action-on-identifications-dependent-functions open import foundation.action-on-identifications-functions open import foundation.commuting-squares-of-identifications open import foundation.contractible-types open import foundation.coproduct-types open import foundation.dependent-identifications open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.function-types open import foundation.homotopies open import foundation.identity-types open import foundation.mere-equality open import foundation.negated-equality open import foundation.negation open import foundation.propositional-truncations open import foundation.propositions open import foundation.retractions open import foundation.sections open import foundation.transport-along-identifications open import foundation.universe-levels open import foundation.whiskering-identifications-concatenation open import higher-group-theory.higher-groups open import structured-types.pointed-types open import synthetic-homotopy-theory.dependent-suspension-structures open import synthetic-homotopy-theory.free-loops open import synthetic-homotopy-theory.spheres open import synthetic-homotopy-theory.suspension-structures open import synthetic-homotopy-theory.suspensions-of-types open import synthetic-homotopy-theory.universal-cover-circle open import synthetic-homotopy-theory.universal-property-circle open import univalent-combinatorics.standard-finite-types ``` </details> ## Idea **The circle** is the initial type equipped with a base point and a [loop](synthetic-homotopy-theory.loop-spaces.md). ## Postulates ```agda postulate πΒΉ : UU lzero postulate base-πΒΉ : πΒΉ postulate loop-πΒΉ : base-πΒΉ οΌ base-πΒΉ free-loop-πΒΉ : free-loop πΒΉ free-loop-πΒΉ = base-πΒΉ , loop-πΒΉ πΒΉ-Pointed-Type : Pointed-Type lzero πΒΉ-Pointed-Type = πΒΉ , base-πΒΉ postulate ind-πΒΉ : induction-principle-circle free-loop-πΒΉ ``` ## Properties ### The dependent universal property of the circle ```agda dependent-universal-property-πΒΉ : dependent-universal-property-circle free-loop-πΒΉ dependent-universal-property-πΒΉ = dependent-universal-property-induction-principle-circle free-loop-πΒΉ ind-πΒΉ uniqueness-dependent-universal-property-πΒΉ : {l : Level} {P : πΒΉ β UU l} (k : free-dependent-loop free-loop-πΒΉ P) β is-contr ( Ξ£ ( (x : πΒΉ) β P x) ( Ξ» h β Eq-free-dependent-loop free-loop-πΒΉ P ( ev-free-loop-Ξ free-loop-πΒΉ P h) k)) uniqueness-dependent-universal-property-πΒΉ {l} {P} = uniqueness-dependent-universal-property-circle free-loop-πΒΉ dependent-universal-property-πΒΉ module _ {l : Level} (P : πΒΉ β UU l) (p0 : P base-πΒΉ) (Ξ± : tr P loop-πΒΉ p0 οΌ p0) where Ξ -πΒΉ : UU l Ξ -πΒΉ = Ξ£ ( (x : πΒΉ) β P x) ( Ξ» h β Eq-free-dependent-loop free-loop-πΒΉ P ( ev-free-loop-Ξ free-loop-πΒΉ P h) (p0 , Ξ±)) apply-dependent-universal-property-πΒΉ : Ξ -πΒΉ apply-dependent-universal-property-πΒΉ = center (uniqueness-dependent-universal-property-πΒΉ (p0 , Ξ±)) function-apply-dependent-universal-property-πΒΉ : (x : πΒΉ) β P x function-apply-dependent-universal-property-πΒΉ = pr1 apply-dependent-universal-property-πΒΉ base-dependent-universal-property-πΒΉ : function-apply-dependent-universal-property-πΒΉ base-πΒΉ οΌ p0 base-dependent-universal-property-πΒΉ = pr1 (pr2 apply-dependent-universal-property-πΒΉ) loop-dependent-universal-property-πΒΉ : ( apd function-apply-dependent-universal-property-πΒΉ loop-πΒΉ β base-dependent-universal-property-πΒΉ) οΌ ( ap (tr P loop-πΒΉ) base-dependent-universal-property-πΒΉ β Ξ±) loop-dependent-universal-property-πΒΉ = pr2 (pr2 apply-dependent-universal-property-πΒΉ) ``` ### The universal property of the circle ```agda universal-property-πΒΉ : universal-property-circle free-loop-πΒΉ universal-property-πΒΉ = universal-property-dependent-universal-property-circle ( free-loop-πΒΉ) ( dependent-universal-property-πΒΉ) uniqueness-universal-property-πΒΉ : {l : Level} {X : UU l} (Ξ± : free-loop X) β is-contr ( Ξ£ ( πΒΉ β X) ( Ξ» h β Eq-free-loop (ev-free-loop free-loop-πΒΉ X h) Ξ±)) uniqueness-universal-property-πΒΉ {l} {X} = uniqueness-universal-property-circle free-loop-πΒΉ universal-property-πΒΉ X module _ {l : Level} {X : UU l} (x : X) (Ξ± : x οΌ x) where Map-πΒΉ : UU l Map-πΒΉ = Ξ£ ( πΒΉ β X) ( Ξ» h β Eq-free-loop (ev-free-loop free-loop-πΒΉ X h) (x , Ξ±)) apply-universal-property-πΒΉ : Map-πΒΉ apply-universal-property-πΒΉ = center (uniqueness-universal-property-πΒΉ (x , Ξ±)) map-apply-universal-property-πΒΉ : πΒΉ β X map-apply-universal-property-πΒΉ = pr1 apply-universal-property-πΒΉ base-universal-property-πΒΉ : map-apply-universal-property-πΒΉ base-πΒΉ οΌ x base-universal-property-πΒΉ = pr1 (pr2 apply-universal-property-πΒΉ) loop-universal-property-πΒΉ : ap map-apply-universal-property-πΒΉ loop-πΒΉ β base-universal-property-πΒΉ οΌ base-universal-property-πΒΉ β Ξ± loop-universal-property-πΒΉ = pr2 (pr2 apply-universal-property-πΒΉ) ``` ### The loop of the circle is nontrivial ```agda is-nontrivial-loop-πΒΉ : loop-πΒΉ β refl is-nontrivial-loop-πΒΉ = is-nontrivial-loop-dependent-universal-property-circle ( free-loop-πΒΉ) ( dependent-universal-property-πΒΉ) ``` ### The circle is 0-connected ```agda mere-eq-πΒΉ : (x y : πΒΉ) β mere-eq x y mere-eq-πΒΉ = function-apply-dependent-universal-property-πΒΉ ( Ξ» x β (y : πΒΉ) β mere-eq x y) ( function-apply-dependent-universal-property-πΒΉ ( mere-eq base-πΒΉ) ( refl-mere-eq base-πΒΉ) ( eq-is-prop is-prop-type-trunc-Prop)) ( eq-is-prop (is-prop-Ξ (Ξ» y β is-prop-type-trunc-Prop))) is-0-connected-πΒΉ : is-0-connected πΒΉ is-0-connected-πΒΉ = is-0-connected-mere-eq base-πΒΉ (mere-eq-πΒΉ base-πΒΉ) ``` ### The circle as a higher group ```agda πΒΉ-β-Group : β-Group lzero pr1 πΒΉ-β-Group = πΒΉ-Pointed-Type pr2 πΒΉ-β-Group = is-0-connected-πΒΉ ``` ### The circle is equivalent to the 1-sphere The [1-sphere](synthetic-homotopy-theory.spheres.md) is defined as the [suspension](synthetic-homotopy-theory.suspensions-of-types.md) of the [0-sphere](synthetic-homotopy-theory.spheres.md). We may understand this as the 1-sphere having two points `N` and `S` and two [identifications](foundation-core.identity-types.md) (meridians) `e, w : N = S` between them. The following shows that the 1-sphere and the circle are [equivalent](foundation-core.equivalences.md). #### The map from the circle to the 1-sphere The map from the circle to the 1-sphere is defined by mapping the basepoint to `N` and the loop to the composite of `e` and the inverse of `w`, which forms a loop at `N`. The choice of which meridian to start with is arbitrary, but informs the rest of the construction hereafter. ```agda north-sphere-1-loop : north-sphere 1 οΌ north-sphere 1 north-sphere-1-loop = ( meridian-sphere 0 (zero-Fin 1)) β ( inv (meridian-sphere 0 (one-Fin 1))) sphere-1-circle : πΒΉ β sphere 1 sphere-1-circle = map-apply-universal-property-πΒΉ (north-sphere 1) north-sphere-1-loop sphere-1-circle-base-πΒΉ-eq-north-sphere-1 : sphere-1-circle base-πΒΉ οΌ north-sphere 1 sphere-1-circle-base-πΒΉ-eq-north-sphere-1 = base-universal-property-πΒΉ (north-sphere 1) north-sphere-1-loop sphere-1-circle-base-πΒΉ-eq-south-sphere-1 : sphere-1-circle base-πΒΉ οΌ south-sphere 1 sphere-1-circle-base-πΒΉ-eq-south-sphere-1 = ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) β ( meridian-sphere 0 (one-Fin 1)) ``` #### The map from the 1-sphere to the circle The map from the 1-sphere to the circle is defined by mapping both `N` and `S` to the basepoint, `e` to the loop and `w` to `refl` at the basepoint. Were we to map both meridians to the loop, we would wrap the 1-sphere twice around the circle, which would not form an equivalence. ```agda map-sphere-0-eq-base-πΒΉ : (sphere 0) β base-πΒΉ οΌ base-πΒΉ map-sphere-0-eq-base-πΒΉ (inl n) = loop-πΒΉ map-sphere-0-eq-base-πΒΉ (inr n) = refl suspension-structure-sphere-0-πΒΉ : suspension-structure (sphere 0) πΒΉ pr1 suspension-structure-sphere-0-πΒΉ = base-πΒΉ pr1 (pr2 suspension-structure-sphere-0-πΒΉ) = base-πΒΉ pr2 (pr2 suspension-structure-sphere-0-πΒΉ) = map-sphere-0-eq-base-πΒΉ circle-sphere-1 : sphere 1 β πΒΉ circle-sphere-1 = cogap-suspension ( suspension-structure-sphere-0-πΒΉ) circle-sphere-1-north-sphere-1-eq-base-πΒΉ : circle-sphere-1 (north-sphere 1) οΌ base-πΒΉ circle-sphere-1-north-sphere-1-eq-base-πΒΉ = compute-north-cogap-suspension ( suspension-structure-sphere-0-πΒΉ) circle-sphere-1-south-sphere-1-eq-base-πΒΉ : circle-sphere-1 (south-sphere 1) οΌ base-πΒΉ circle-sphere-1-south-sphere-1-eq-base-πΒΉ = compute-south-cogap-suspension ( suspension-structure-sphere-0-πΒΉ) ``` #### The map from the circle to the 1-sphere has a section Some care needs to be taken when proving this part of the equivalence. The point `N` is mapped to the basepoint and then back to `N`, but so is the point `S`. It needs to be further identified back with `S` using the meridian `w`. The meridian `w` is thus mapped to `refl` and then back to `w β refl = w`, while the meridian `e` is mapped to the loop and then back to `w β wβ»ΒΉβ e = e`. ```agda sphere-1-circle-sphere-1-north-sphere-1 : ( sphere-1-circle (circle-sphere-1 (north-sphere 1))) οΌ ( north-sphere 1) sphere-1-circle-sphere-1-north-sphere-1 = ( ap sphere-1-circle circle-sphere-1-north-sphere-1-eq-base-πΒΉ) β ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) sphere-1-circle-sphere-1-south-sphere-1 : ( sphere-1-circle (circle-sphere-1 (south-sphere 1))) οΌ ( south-sphere 1) sphere-1-circle-sphere-1-south-sphere-1 = ( ap sphere-1-circle circle-sphere-1-south-sphere-1-eq-base-πΒΉ) β ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1) apply-up-suspension-meridian-suspension-sphere-1-circle-sphere-1 : ( n : Fin 2) β coherence-square-identifications ( ap ( sphere-1-circle) ( ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) β ( map-sphere-0-eq-base-πΒΉ n))) ( ap sphere-1-circle (ap circle-sphere-1 (meridian-suspension n))) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1) ( sphere-1-circle-sphere-1-south-sphere-1) apply-up-suspension-meridian-suspension-sphere-1-circle-sphere-1 n = ( inv ( assoc ( ap sphere-1-circle (ap circle-sphere-1 (meridian-suspension n))) ( ap sphere-1-circle circle-sphere-1-south-sphere-1-eq-base-πΒΉ) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1))) β ( right-whisker-concat ( inv ( ap-concat ( sphere-1-circle) ( ap circle-sphere-1 (meridian-sphere 0 n)) ( circle-sphere-1-south-sphere-1-eq-base-πΒΉ))) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1)) β ( ap ( Ξ» x β ( ap sphere-1-circle x) β ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1)) ( compute-meridian-cogap-suspension ( suspension-structure-sphere-0-πΒΉ) ( n))) apply-loop-universal-property-πΒΉ-sphere-1-circle-sphere-1 : coherence-square-identifications ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( ap sphere-1-circle loop-πΒΉ) ( meridian-sphere 0 (zero-Fin 1)) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1) apply-loop-universal-property-πΒΉ-sphere-1-circle-sphere-1 = ( inv ( assoc ( ap sphere-1-circle loop-πΒΉ) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( meridian-sphere 0 (one-Fin 1)))) β ( right-whisker-concat ( loop-universal-property-πΒΉ ( north-sphere 1) ( north-sphere-1-loop)) ( meridian-sphere 0 (one-Fin 1))) β ( assoc ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( north-sphere-1-loop) ( meridian-sphere 0 (one-Fin 1))) β ( left-whisker-concat ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( is-section-inv-concat' ( meridian-sphere 0 (one-Fin 1)) ( meridian-sphere 0 (zero-Fin 1)))) map-sphere-1-circle-sphere-1-meridian : ( n : Fin 2) β ( dependent-identification ( Ξ» x β (sphere-1-circle (circle-sphere-1 x)) οΌ x) ( meridian-suspension-structure ( suspension-structure-suspension (Fin 2)) ( n)) ( sphere-1-circle-sphere-1-north-sphere-1) ( sphere-1-circle-sphere-1-south-sphere-1)) map-sphere-1-circle-sphere-1-meridian (inl (inr n)) = map-compute-dependent-identification-eq-value-comp-id ( sphere-1-circle) ( circle-sphere-1) ( meridian-sphere 0 (inl (inr n))) ( sphere-1-circle-sphere-1-north-sphere-1) ( sphere-1-circle-sphere-1-south-sphere-1) ( ( apply-up-suspension-meridian-suspension-sphere-1-circle-sphere-1 ( inl (inr n))) β ( right-whisker-concat ( ap-concat ( sphere-1-circle) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) ( loop-πΒΉ)) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1)) β ( assoc ( ap sphere-1-circle (circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) ( ap sphere-1-circle loop-πΒΉ) ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1)) β ( left-whisker-concat ( ap sphere-1-circle (circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) ( apply-loop-universal-property-πΒΉ-sphere-1-circle-sphere-1)) β ( inv ( assoc ( ap sphere-1-circle (circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( meridian-sphere 0 (zero-Fin 1))))) map-sphere-1-circle-sphere-1-meridian (inr n) = map-compute-dependent-identification-eq-value-comp-id ( sphere-1-circle) ( circle-sphere-1) ( meridian-sphere 0 (inr n)) ( sphere-1-circle-sphere-1-north-sphere-1) ( sphere-1-circle-sphere-1-south-sphere-1) ( ( apply-up-suspension-meridian-suspension-sphere-1-circle-sphere-1 ( inr n)) β ( ap ( Ξ» x β ( ap sphere-1-circle x) β ( sphere-1-circle-base-πΒΉ-eq-south-sphere-1)) ( right-unit {p = circle-sphere-1-north-sphere-1-eq-base-πΒΉ})) β ( inv ( assoc ( ap sphere-1-circle circle-sphere-1-north-sphere-1-eq-base-πΒΉ) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( meridian-sphere 0 (one-Fin 1))))) dependent-suspension-structure-sphere-1-circle-sphere-1 : dependent-suspension-structure ( Ξ» x β (sphere-1-circle (circle-sphere-1 x)) οΌ x) ( suspension-structure-suspension (Fin 2)) pr1 dependent-suspension-structure-sphere-1-circle-sphere-1 = sphere-1-circle-sphere-1-north-sphere-1 pr1 (pr2 dependent-suspension-structure-sphere-1-circle-sphere-1) = sphere-1-circle-sphere-1-south-sphere-1 pr2 (pr2 dependent-suspension-structure-sphere-1-circle-sphere-1) = map-sphere-1-circle-sphere-1-meridian sphere-1-circle-sphere-1 : section sphere-1-circle pr1 sphere-1-circle-sphere-1 = circle-sphere-1 pr2 sphere-1-circle-sphere-1 = dependent-cogap-suspension ( Ξ» x β (sphere-1-circle (circle-sphere-1 x)) οΌ x) ( dependent-suspension-structure-sphere-1-circle-sphere-1) ``` #### The map from the circle to the 1-sphere has a retraction The basepoint is mapped to `N` and then back to the basepoint, while the loop is mapped to `wβ»ΒΉβ e` and then back to `reflβ»ΒΉ β loop = loop`. ```agda circle-sphere-1-circle-base-πΒΉ : circle-sphere-1 (sphere-1-circle base-πΒΉ) οΌ base-πΒΉ circle-sphere-1-circle-base-πΒΉ = ( ap circle-sphere-1 sphere-1-circle-base-πΒΉ-eq-north-sphere-1) β ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) apply-up-suspension-meridian-one-suspension-circle-sphere-1-circle : coherence-square-identifications ( refl) ( ap circle-sphere-1 (inv (meridian-sphere 0 (one-Fin 1)))) ( circle-sphere-1-south-sphere-1-eq-base-πΒΉ) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) apply-up-suspension-meridian-one-suspension-circle-sphere-1-circle = ( right-whisker-concat ( ap-inv ( circle-sphere-1) ( meridian-suspension (one-Fin 1))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( inv right-unit) β ( assoc ( inv (ap circle-sphere-1 (meridian-suspension (one-Fin 1)))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) ( refl)) β ( left-whisker-concat ( inv (ap circle-sphere-1 (meridian-suspension (one-Fin 1)))) ( inv ( compute-meridian-cogap-suspension ( suspension-structure-sphere-0-πΒΉ) ( one-Fin 1)))) β ( inv ( assoc ( inv (ap circle-sphere-1 (meridian-suspension (one-Fin 1)))) ( ap circle-sphere-1 (meridian-suspension (one-Fin 1))) ( circle-sphere-1-south-sphere-1-eq-base-πΒΉ))) β ( right-whisker-concat ( left-inv (ap circle-sphere-1 (meridian-suspension (one-Fin 1)))) ( circle-sphere-1-south-sphere-1-eq-base-πΒΉ)) apply-up-suspension-meridian-zero-suspension-circle-sphere-1-circle : coherence-square-identifications ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) ( ap (circle-sphere-1) (north-sphere-1-loop)) ( loop-πΒΉ) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) apply-up-suspension-meridian-zero-suspension-circle-sphere-1-circle = ( right-whisker-concat ( ap-concat ( circle-sphere-1) ( meridian-sphere 0 (zero-Fin 1)) ( inv (meridian-suspension (one-Fin 1)))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( assoc ( ap circle-sphere-1 (meridian-suspension (zero-Fin 1))) ( ap circle-sphere-1 (inv ( meridian-sphere 0 (one-Fin 1)))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( left-whisker-concat ( ap circle-sphere-1 (meridian-suspension (zero-Fin 1))) ( apply-up-suspension-meridian-one-suspension-circle-sphere-1-circle)) β ( compute-meridian-cogap-suspension ( suspension-structure-sphere-0-πΒΉ) ( zero-Fin 1)) circle-sphere-1-circle-loop-πΒΉ : coherence-square-identifications ( circle-sphere-1-circle-base-πΒΉ) ( ap circle-sphere-1 (ap sphere-1-circle loop-πΒΉ)) ( loop-πΒΉ) ( circle-sphere-1-circle-base-πΒΉ) circle-sphere-1-circle-loop-πΒΉ = ( inv ( assoc ( ap circle-sphere-1 (ap sphere-1-circle loop-πΒΉ)) ( ap ( circle-sphere-1) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1)) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( right-whisker-concat ( inv ( ap-concat ( circle-sphere-1) ( ap sphere-1-circle loop-πΒΉ) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( right-whisker-concat ( ap ( ap circle-sphere-1) ( loop-universal-property-πΒΉ ( north-sphere 1) ( north-sphere-1-loop))) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( right-whisker-concat ( ap-concat ( circle-sphere-1) ( sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( north-sphere-1-loop)) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( assoc ( ap circle-sphere-1 sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( ap circle-sphere-1 north-sphere-1-loop) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ)) β ( left-whisker-concat ( ap circle-sphere-1 sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( apply-up-suspension-meridian-zero-suspension-circle-sphere-1-circle)) β ( inv ( assoc ( ap circle-sphere-1 sphere-1-circle-base-πΒΉ-eq-north-sphere-1) ( circle-sphere-1-north-sphere-1-eq-base-πΒΉ) ( loop-πΒΉ)))) circle-sphere-1-circle : retraction sphere-1-circle pr1 circle-sphere-1-circle = circle-sphere-1 pr2 circle-sphere-1-circle = function-apply-dependent-universal-property-πΒΉ ( Ξ» x β (circle-sphere-1 (sphere-1-circle x)) οΌ x) ( circle-sphere-1-circle-base-πΒΉ) ( map-compute-dependent-identification-eq-value-comp-id ( circle-sphere-1) ( sphere-1-circle) ( loop-πΒΉ) ( circle-sphere-1-circle-base-πΒΉ) ( circle-sphere-1-circle-base-πΒΉ) ( circle-sphere-1-circle-loop-πΒΉ)) ``` #### The equivalence between the circle and the 1-sphere ```agda is-equiv-sphere-1-circle : is-equiv sphere-1-circle pr1 is-equiv-sphere-1-circle = sphere-1-circle-sphere-1 pr2 is-equiv-sphere-1-circle = circle-sphere-1-circle equiv-sphere-1-circle : πΒΉ β sphere 1 pr1 equiv-sphere-1-circle = sphere-1-circle pr2 equiv-sphere-1-circle = is-equiv-sphere-1-circle ``` ## See also ### Table of files related to cyclic types, groups, and rings {{#include tables/cyclic-types.md}}