Functoriality of the fiber operation on directed trees
module trees.functoriality-fiber-directed-tree where
Imports
open import foundation.dependent-pair-types open import foundation.equivalences open import foundation.functoriality-dependent-pair-types open import foundation.identity-types open import foundation.universe-levels open import graph-theory.walks-directed-graphs open import trees.directed-trees open import trees.equivalences-directed-trees open import trees.fibers-directed-trees open import trees.morphisms-directed-trees
Idea
Any morphism f : S → T
of directed trees induces for any node x ∈ S
a
morphism of fibers of directed trees.
Definitions
The action on fibers of morphisms of directed trees
module _ {l1 l2 l3 l4 : Level} (S : Directed-Tree l1 l2) (T : Directed-Tree l3 l4) (f : hom-Directed-Tree S T) (x : node-Directed-Tree S) where node-fiber-hom-Directed-Tree : node-fiber-Directed-Tree S x → node-fiber-Directed-Tree T (node-hom-Directed-Tree S T f x) node-fiber-hom-Directed-Tree = map-Σ ( λ y → walk-Directed-Tree T y (node-hom-Directed-Tree S T f x)) ( node-hom-Directed-Tree S T f) ( λ y → walk-hom-Directed-Tree S T f {y} {x}) edge-fiber-hom-Directed-Tree : (y z : node-fiber-Directed-Tree S x) → edge-fiber-Directed-Tree S x y z → edge-fiber-Directed-Tree T ( node-hom-Directed-Tree S T f x) ( node-fiber-hom-Directed-Tree y) ( node-fiber-hom-Directed-Tree z) edge-fiber-hom-Directed-Tree (y , v) (z , w) = map-Σ ( λ e → walk-hom-Directed-Tree S T f v = cons-walk-Directed-Graph e (walk-hom-Directed-Tree S T f w)) ( edge-hom-Directed-Tree S T f) ( λ e → ap (walk-hom-Directed-Tree S T f)) fiber-hom-Directed-Tree : hom-Directed-Tree ( fiber-Directed-Tree S x) ( fiber-Directed-Tree T (node-hom-Directed-Tree S T f x)) pr1 fiber-hom-Directed-Tree = node-fiber-hom-Directed-Tree pr2 fiber-hom-Directed-Tree = edge-fiber-hom-Directed-Tree
The action on fibers of equivalences of directed trees
module _ {l1 l2 l3 l4 : Level} (S : Directed-Tree l1 l2) (T : Directed-Tree l3 l4) (f : equiv-Directed-Tree S T) (x : node-Directed-Tree S) where equiv-node-fiber-equiv-Directed-Tree : node-fiber-Directed-Tree S x ≃ node-fiber-Directed-Tree T (node-equiv-Directed-Tree S T f x) equiv-node-fiber-equiv-Directed-Tree = equiv-Σ ( λ y → walk-Directed-Tree T y (node-equiv-Directed-Tree S T f x)) ( equiv-node-equiv-Directed-Tree S T f) ( λ y → equiv-walk-equiv-Directed-Tree S T f {y} {x}) node-fiber-equiv-Directed-Tree : node-fiber-Directed-Tree S x → node-fiber-Directed-Tree T (node-equiv-Directed-Tree S T f x) node-fiber-equiv-Directed-Tree = map-equiv equiv-node-fiber-equiv-Directed-Tree equiv-edge-fiber-equiv-Directed-Tree : (y z : node-fiber-Directed-Tree S x) → edge-fiber-Directed-Tree S x y z ≃ edge-fiber-Directed-Tree T ( node-equiv-Directed-Tree S T f x) ( node-fiber-equiv-Directed-Tree y) ( node-fiber-equiv-Directed-Tree z) equiv-edge-fiber-equiv-Directed-Tree (y , v) (z , w) = equiv-Σ ( λ e → walk-equiv-Directed-Tree S T f v = cons-walk-Directed-Graph e (walk-equiv-Directed-Tree S T f w)) ( equiv-edge-equiv-Directed-Tree S T f y z) ( λ e → equiv-ap ( equiv-walk-equiv-Directed-Tree S T f) ( v) ( cons-walk-Directed-Graph e w)) edge-fiber-equiv-Directed-Tree : (y z : node-fiber-Directed-Tree S x) → edge-fiber-Directed-Tree S x y z → edge-fiber-Directed-Tree T ( node-equiv-Directed-Tree S T f x) ( node-fiber-equiv-Directed-Tree y) ( node-fiber-equiv-Directed-Tree z) edge-fiber-equiv-Directed-Tree y z = map-equiv (equiv-edge-fiber-equiv-Directed-Tree y z) fiber-equiv-Directed-Tree : equiv-Directed-Tree ( fiber-Directed-Tree S x) ( fiber-Directed-Tree T (node-equiv-Directed-Tree S T f x)) pr1 fiber-equiv-Directed-Tree = equiv-node-fiber-equiv-Directed-Tree pr2 fiber-equiv-Directed-Tree = equiv-edge-fiber-equiv-Directed-Tree