lib.graph-families.CycleGraph.RotHom.md.

Version of Sunday, January 22, 2023, 10:42 PM

Powered by agda version 2.6.2.2-442c76b and pandoc 2.14.0.3


Investigations on graph-theoretical constructions in Homotopy type theory

Jonathan Prieto-Cubides j.w.w. Håkon Robbestad Gylterud

Department of Informatics

University of Bergen, Norway

{-# OPTIONS --without-K --exact-split #-}
open import foundations.Core using (Level)
module lib.graph-families.CycleGraph.RotHom ( : Level)
  where
  open import foundations.Core
  open import lib.graph-definitions.Graph
  open import lib.graph-homomorphisms.Hom
  open import lib.graph-families.CycleGraph
  open import lib.graph-classes.UnitGraph using (𝟙-graph)
  module rot-homs (n : )
    where
    open import foundations.Fin 
      renaming ( fin-pred       to α-rot
               ; fin-pred-equiv to α-rot-is-equiv
               ; fin-pred-inj   to α-rot-is-inj
               ) public
    private
      Cn : Graph 
      Cn = Cycle  (succ n)

    β-rot
      : (x y : Node Cn)
       Edge Cn x y
      -----------------------------
       Edge Cn (α-rot x) (α-rot y)
    β-rot x y p = ap α-rot p

    β-rot-back
      : (x y : Node Cn)
       Edge Cn (α-rot x) (α-rot y)
       Edge Cn x y
    β-rot-back x y e = α-rot-is-inj e

    β-rot-is-equiv
      :  (x y : Node Cn)
       Edge Cn x y   Edge Cn (α-rot x) (α-rot y)
    β-rot-is-equiv x y
      = qinv-≃ (β-rot _ _)
               (β-rot-back _ _
               ,  _  Fin-is-set _ _ _ _)
               , λ _  Fin-is-set _ _ _ _)

    rot' : Hom Cn Cn
    rot' =  α-rot , β-rot 


  rot : (n : )  Hom (Cycle  n) (Cycle  n)
  rot zero = id-hom (𝟙-graph )
  rot (succ n) =   α-rot , β-rot 
    where open rot-homs n
  open import lib.graph-homomorphisms.classes.Isomorphisms
  open import lib.graph-relations.Isomorphic

  rot-is-iso : (n : )  IsoHom (rot n)
  rot-is-iso zero = id-iso (𝟙-graph )
  rot-is-iso (succ n) = π₂ (α-rot-is-equiv)
             , λ x y  π₂ (β-rot-is-equiv _ _)
             where open rot-homs n

  rot-≅ : (n : )  Cycle  n  Cycle  n
  rot-≅ n = is-iso-to-≅ (rot n) (rot-is-iso n)

  -- open hom-from-iso (rot n) (rot-is-iso n)

  rot⁻¹ : (n : )  Hom (Cycle  n) (Cycle  n)
  rot⁻¹ zero = id-hom (𝟙-graph )
  rot⁻¹ (succ n) = inv-from-iso
    where open hom-from-iso (rot (succ n)) (rot-is-iso (succ n))

  rot⁻¹-is-iso : (n : )  IsoHom (rot⁻¹ n)
  rot⁻¹-is-iso zero = id-iso (𝟙-graph )
  rot⁻¹-is-iso (succ n) =  inv-from-iso-is-iso
   where open hom-from-iso (rot (succ n)) (rot-is-iso (succ n))



  rot⁻¹-≅ : (n : )  Cycle  n  Cycle  n
  rot⁻¹-≅ zero = is-iso-to-≅ (id-hom (𝟙-graph )) (id-iso (𝟙-graph ))
  rot⁻¹-≅ (succ n) = is-iso-to-≅ (rot⁻¹ (succ n)) (rot⁻¹-is-iso (succ n))
    where open import lib.graph-calculation-reasoning.Isos

  module _ (n : ) where
    open import lib.graph-calculation-reasoning.Isos

    rot-k-is-iso : (k : )  IsoHom (rot n ^-hom k )
    rot-k-is-iso zero     = id-iso (Cycle  n )
    rot-k-is-iso (succ k) = π₂ (≅-to-is-iso {G = Cycle  n}{H = Cycle  n} eq₂)
      where
      to-k-is-iso : IsoHom (rot n ^-hom k)
      to-k-is-iso = rot-k-is-iso k

      eq₁ : Cycle  n  Cycle  n
      eq₁ = is-iso-to-≅  (rot n ^-hom k) to-k-is-iso

      eq₂ : Cycle  n  Cycle  n
      eq₂ = ≅-trans {}{A = Cycle  n}{B = Cycle  n}{C = Cycle  n } eq₁ (rot-≅ n)

Latest changes

(2022-12-28)(57c278b4) Last updated: 2021-09-16 15:00:00 by jonathan.cubides
(2022-07-06)(d3a4a8cf) minors by jonathan.cubides
(2022-01-26)(4aef326b) [ reports ] added some revisions by jonathan.cubides
(2021-12-20)(049db6a8) Added code of cubical experiments. by jonathan.cubides
(2021-12-20)(961730c9) [ html ] regular update by jonathan.cubides
(2021-12-20)(e0ef9faa) Fixed compilation and format, remove hidden parts by jonathan.cubides
(2021-12-20)(5120e5d1) Added cubical experiment to the master by jonathan.cubides
(2021-12-17)(828fdd0a) More revisions added for CPP by jonathan.cubides
(2021-12-15)(0d6a99d8) Fixed some broken links and descriptions by jonathan.cubides
(2021-12-15)(662a1f2d) [ .gitignore ] add by jonathan.cubides
(2021-12-15)(0630ce66) Minor fixes by jonathan.cubides
(2021-12-13)(04f10eba) Fixed a lot of details by jonathan.cubides
(2021-12-10)(24195c9f) [ .gitignore ] ignore .zip and arxiv related files by jonathan.cubides
(2021-12-09)(538d2859) minor fixes before dinner by jonathan.cubides
(2021-12-09)(36a1a69f) [ planar.pdf ] w.i.p revisions to share on arxiv first by jonathan.cubides