module Chapter5.AlgebraicOrnament.Examples.Interval where 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 import Chapter5.AlgebraicOrnament α+m : Nat → Alg NatD (λ _ → Nat) α+m m {tt} (zero , tt) = m α+m m {tt} (suc zero , n , tt) = su n α+m m {tt} (suc (suc ()) , _) [_∶_] : Nat → Nat → Set [ m ∶ n ] = μ algOrnD (tt , n) where open Chapter5.AlgebraicOrnament NatD (α+m m) ize : ∀{m} → [ m ∶ m ] ize = ⟨ (zero , tt) , refl , tt ⟩ isu : ∀{m n} → [ m ∶ n ] → [ m ∶ su n ] isu {m}{n} ik = ⟨ (suc zero , n , tt) , refl , ik , tt ⟩