qiitConTy
data ( Con : U
; Ty : El Con → U
; nil : El Con
; ext : (gamma : El Con) → El (Ty gamma) → El Con
; unit : (gamma : El Con) → El (Ty gamma)
; arr : (gamma : El Con) → El (Ty gamma) → El (Ty gamma) → El (Ty gamma) )
def g1 : El Con ≔ ext nil (unit nil)
def g2 : El Con ≔ ext g1 (arr g1 (unit g1) (unit g1))
def clen : El Con → ℕ ≔
λg. ConElim (λw. ℕ) (λg. λw. ℕ)
Z
(λg. λihg. λA. λihA. S ihg)
(λg. λihg. S Z)
(λg. λihg. λA. λihA. λB. λihB. S ihA)
g
def clenG2 : clen g2 ≡ S (S Z) ∈ _ ≔ ⋆
def tsize : (g : El Con) → El (Ty g) → ℕ ≔
λg. λt. TyElim (λw. ℕ) (λg. λw. ℕ)
Z
(λg. λihg. λA. λihA. S ihg)
(λg. λihg. S Z)
(λg. λihg. λA. λihA. λB. λihB. S ihA)
g t
def tsizeArr : tsize g1 (arr g1 (unit g1) (unit g1)) ≡ S (S Z) ∈ _ ≔ ⋆