lib.graph-embeddings.Map.Face.Example.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
{-# OPTIONS --without-K --exact-split #-}
module lib.graph-embeddings.Map.Face.Example
where
open import foundations.Core
open import lib.graph-definitions.Graph
open import lib.graph-transformations.U
open Graph
open import lib.graph-embeddings.Map
open import lib.graph-classes.UnitGraph
open import foundations.Cyclic using (CyclicSet; cyclic-set)
open import foundations.Fin
open import foundations.Nat
open import lib.graph-embeddings.Map
open import lib.graph-definitions.Graph
open import lib.graph-homomorphisms.Hom
open import lib.graph-homomorphisms.classes.EdgeInjective
open import lib.graph-transformations.U
open import lib.graph-classes.CyclicGraph
open import lib.graph-classes.CyclicGraph.Stuff
open import lib.graph-embeddings.Map.Face
open import lib.graph-embeddings.Planar
open import lib.graph-classes.EmptyGraph
empty-is-planar : Planar (π-graph lzero)
empty-is-planar = Ξ» {()}
β : Level
β = lzero
β = π-graph lzero
open import foundations.Fin
open import lib.graph-classes.UnitGraph
open import lib.graph-classes.EmptyGraph
open import foundations.Cyclic
open import foundations.UnivalenceAxiom
open CyclicSet-is-set
open import lib.graph-classes.CyclicGraph
open CyclicGraph-is-set
star-π : (Star (π-graph β) β β Fin β 0)
star-π = qinv-β (Ξ» { (_ , inl ()) ; (_ , inr ())})
((Ξ» { (zero , ()) ; (succ _ , ())}) ,
(Ξ» { (zero , ()) ; (succ _ , ())}) , Ξ» { (_ , inl ()) ; (_ , inr ())})
zero-is-only-once-cyclic : isProp (CyclicSet β (Fin β 0))
zero-is-only-once-cyclic p q = rapply (lemma-2-13 β {A = Fin β 0} p q)
(pi-is-prop (Ξ» _ β isProp-β (π-β-β¦0β§ β) π-is-prop) _ _)
π-map : Map (π-graph β )
π-map β = cyclic-set id 0 β£ star-π , funext (Ξ» { (fstβ , inl ()) ; (fstβ , inr ())}) β£
where
open import foundations.FunExtAxiom
π-has-prop-map : isProp (Map (π-graph β))
π-has-prop-map = (pi-is-prop (Ξ» {* β tr (Ξ» o β isProp (CyclicSet β o)) (! ua star-π)
zero-is-only-once-cyclic}))
π-graph-is-cyclic : CyclicGraph β (π-graph β)
π-graph-is-cyclic = cyclic-graph (id-hom (π-graph β)) 0 β£ idp β£
π-hom : Hom (π-graph β) (U (π-graph β))
π-hom = hom id (Ξ» _ _ abs β inl abs)
π-hom-prop' : isProp (Hom (π-graph β) (π-graph β))
π-hom-prop' = isProp-β (β-sym (Hom-β-β (π-graph β) (π-graph β)))
(β-prop (pi-is-prop (Ξ» _ β π-is-prop))
(Ξ» {_ β pi-is-prop
(Ξ» _ β pi-is-prop (Ξ» _ β pi-is-prop
(Ξ» _ β π-is-prop )))}))
π-hom-prop : isProp (Hom (π-graph β) (U (π-graph β)))
π-hom-prop = isProp-β (β-sym (Hom-β-β (π-graph β) (U (π-graph β))))
(β-prop (pi-is-prop (Ξ» _ β π-is-prop))
(Ξ» {_ β pi-is-prop
(Ξ» _ β pi-is-prop (Ξ» _ β pi-is-prop
(Ξ» _ β +-prop π-is-prop π-is-prop (Ξ» {()}))))}))
π-graph-cyclic-prop : isProp (CyclicGraph β (π-graph β))
π-graph-cyclic-prop = isProp-β CyclicGraph-β-βs
(β-prop π-hom-prop' Ξ» {_ (n , c) (m , d)
β pair= (instances-have-same-natural β (π-graph β)
(cyclic-graph _ n c)
(cyclic-graph _ m d)
, trunc-is-prop _ d) })
π-face : Face (π-graph β) π-map
π-face = face (π-graph β) π-graph-is-cyclic π-hom
(Ξ» {()}) (Ξ» _ β id) (Ξ» {_ _ ()})
helper : β {A : Graph β}
β isProp (Hom A (U (π-graph β)))
helper {A} = isProp-β ( β-sym (Hom-β-β A _))
(β-prop (pi-is-prop Ξ» _ β π-is-prop)
Ξ» _ β pi-is-prop (Ξ» _ β pi-is-prop (Ξ» _
β pi-is-prop (Ξ» _ β +-prop π-is-prop π-is-prop (Ξ» {()})))))
open import lib.graph-relations.Isomorphic
Uπ-β
-π : U (π-graph β) β
π-graph β
Uπ-β
-π = idEqv , Ξ» _ _ β prop-ext-β (+-prop π-is-prop π-is-prop (Ξ» {()})) π-is-prop
((Ξ» { (inl ()) ; (inr ())}) , Ξ» {()})
-- TODO: FIX the lemmas below:
-- hom-implies-equals-to-π
-- : (A : Graph β) β Hom A (U (π-graph β)) β A β
U (π-graph β)
-- hom-implies-equals-to-π A (hom Ξ± Ξ²)
-- = {!!} , {!Ξ±!}
-- π-face-data-is-prop : isProp (faceData (π-graph β) π-map)
-- π-face-data-is-prop (a , c , f) (b , d , g)
-- = {!!}
-- π-has-at-most-one-face : isProp (Face' (π-graph β) π-map)
-- π-has-at-most-one-face
-- = β-prop π-face-data-is-prop
-- (Ξ» d β faceCond-is-prop {β} (π-graph β) {π-map} d)
open import lib.graph-embeddings.Map.Face.Walk.Homotopy
open HomotopyWalks
open import lib.graph-embeddings.Map.Spherical
open import lib.graph-walks.Walk
M-is-spherical : isSphericalMap β π-map
M-is-spherical β .β β¨ .β β© β¨ .β β© _ _ = β£ hwalk-refl β£
M-is-spherical x .x β¨ .x β© (inl e β w) = π-elim e
M-is-spherical x .x β¨ .x β© (inr e β w) = π-elim e
M-is-spherical x y (inl e β w1) w2 = π-elim e
M-is-spherical x y (inr e β w1) w2 = π-elim e
open import lib.graph-classes.ConnectedGraph
β-is-connected : (U β) is-connected-graph
β-is-connected β β = β£ β¨ β β© β£
β-is-planar : Planar β
β-is-planar = Ξ» _ β β-is-connected , π-map , M-is-spherical , π-face
(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