open import GpdCont.SymmetricContainer.Base
module GpdCont.SymmetricContainer.EvalHom where
open import GpdCont.Prelude
open import GpdCont.SymmetricContainer.Morphism
import GpdCont.SymmetricContainer.Eval as Eval
open import Cubical.Foundations.HLevels
private
variable
ℓ : Level
G H : SymmetricContainer ℓ
open Eval using (⟦_⟧ᵗ ; ⟦_⟧ ; ⟦_⟧-map ; ⟦-⟧ᵗ-Path ; shape ; label)
open Morphism
Hom⟦_⟧ᵗ : (α : Morphism G H) → (X : Type ℓ) → ⟦ G ⟧ᵗ X → ⟦ H ⟧ᵗ X
Hom⟦ α ⟧ᵗ X p .shape = α .shape-map (p .shape)
Hom⟦ α ⟧ᵗ X p .label = p .label ∘ (α .pos-map (p .shape))
Hom⟦_⟧₀ : (α : Morphism G H) → (X : hGroupoid ℓ) → ⟨ ⟦ G ⟧ X ⟩ → ⟨ ⟦ H ⟧ X ⟩
Hom⟦ α ⟧₀ (X , is-gpd-X) = Hom⟦ α ⟧ᵗ X
Hom⟦_⟧₀-natural : (α : Morphism G H) → (X Y : hGroupoid ℓ) (f : ⟨ X ⟩ → ⟨ Y ⟩) → (Hom⟦ α ⟧₀ Y ∘ ⟦ G ⟧-map X Y f) ≡ (⟦ H ⟧-map X Y f ∘ Hom⟦ α ⟧₀ X)
Hom⟦_⟧₀-natural α X Y f = refl
Hom⟦_⟧₀-id : ∀ (X : hGroupoid ℓ) x → Hom⟦ idMorphism G ⟧₀ X x ≡ x
Hom⟦_⟧₀-id {G = G} X q = refl