lib.graph-embeddings.Finiteness.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.Finiteness where open import foundations.Core open import foundations.HLevelLemmas open import foundations.NaturalsType open import foundations.Nat open import lib.graph-embeddings.Map open import lib.graph-embeddings.Map.Face open import lib.graph-definitions.Graph open Graph open import lib.graph-transformations.U open import lib.graph-homomorphisms.Hom open Hom open import lib.graph-classes.CyclicGraph open CyclicGraph open import lib.graph-classes.CyclicGraph.Stuff open import foundations.Cyclic open import lib.graph-classes.FiniteGraph open import foundations.Finite open import lib.graph-homomorphisms.classes.EdgeInjective module _ {ℓ : Level} (G : Graph ℓ) (G-is-finite : isFiniteGraph G) where Nodes-is-finite = isFiniteGraph.NodeDec G-is-finite Edges-is-finite = isFiniteGraph.EdgeDec G-is-finite _≟Node_ : (x y : Node G) → (x ≡ y) + (x ≠ y) _≟Node_ = isFinite-→-isDec Nodes-is-finite -- open WR G (_≟Node_) Ng : ℕ Ng = cardinal (Node G) Nodes-is-finite module finiteness-lemmas -- The following are well-known lemmas about finite types. (+-finite : ∀ {A B : Type ℓ} → isFinite A → isFinite B → isFinite (A + B)) (∏-finite : ∀ {ℓ₁ ℓ₂} {A : Type ℓ₁} {B : A → Type ℓ₂} → isFinite A → ((a : A) → isFinite (B a)) → isFinite (∏ A B)) (∑-finite : ∀ {ℓ₁ ℓ₂} {A : Type ℓ₁} {B : A → Type ℓ₂} → isFinite A → ((a : A) → isFinite (B a)) → isFinite (∑ A B)) where U-finite : isFiniteGraph (U G) U-finite = U-preserves-finiteness +-finite G G-is-finite UNode-is-finite : isFinite (Node (U G)) UNode-is-finite = isFiniteGraph.NodeDec U-finite UEdge-is-finite : ∀ (x y : Node (U G)) → isFinite (Edge (U G) x y) UEdge-is-finite x y = isFiniteGraph.EdgeDec U-finite x y finite-stars : (x : Node G) → isFinite (Star G x) finite-stars x = ∑-finite Nodes-is-finite (λ _ → UEdge-is-finite _ _) finite-maps : isFinite (Map G) finite-maps = ∏-finite Nodes-is-finite λ x → cyclic-set-is-finite ℓ ∏-finite ∑-finite (finite-stars x)
We want to prove that the collection of
module _ (A : Graph ℓ) (A-is-cyclic : CyclicGraph ℓ A) where A-is-finite-graph : isFiniteGraph A A-is-finite-graph = CyclicGraph-is-finite A A-is-cyclic where open import lib.graph-classes.CyclicGraph.isFiniteGraph Node-A-is-finite : isFinite (Node A) Node-A-is-finite = isFiniteGraph.NodeDec A-is-finite-graph Edge-A-is-finite : (x y : Node A) → isFinite (Edge A x y) Edge-A-is-finite x y = isFiniteGraph.EdgeDec A-is-finite-graph _ _ finite-hom : isFinite (Hom A (U G)) finite-hom = equiv-preserves-finiteness (≃-sym (Hom-≃-∑ A (U G))) (∑-finite (∏-finite Node-A-is-finite λ _ → UNode-is-finite) λ _ → ∏-finite Node-A-is-finite λ _ → ∏-finite Node-A-is-finite λ _ → ∏-finite (Edge-A-is-finite _ _) λ _ → UEdge-is-finite _ _)
(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