module Chapter5.AlgebraicOrnament.Examples.Vec (A : Set) where open import Function open import Data.Unit open import Data.Nat open import Data.Fin open import Data.Product open import Relation.Binary.PropositionalEquality open import Chapter2.IDesc open import Chapter2.IDesc.Fixpoint open import Chapter2.IDesc.InitialAlgebra open import Chapter2.IDesc.Examples.Nat open import Chapter5.Ornament open import Chapter5.Ornament.Examples.List open import Chapter5.Ornament.Algebra (ListO A) open import Chapter5.AlgebraicOrnament (⟦ ListO A ⟧orn) ornAlgebra Vec : Nat → Set Vec n = μ algOrnD (tt , n) vnil : Vec ze vnil = ⟨ (zero , tt) , refl , tt ⟩ vcons : ∀{n} → A → Vec n → Vec (su n) vcons {n} a xs = ⟨ (suc zero , a , n , tt) , refl , xs , tt ⟩