module A201605.AltArtemov.Old.Common.Ty.WithReset where open import A201605.AltArtemov.Try2.Tm public data Ty : ℕ → Set where ⊥ : Ty 0 _⊃_ : ∀ {n n′} → Ty n → Ty n′ → Ty 0 _∧_ : ∀ {n n′} → Ty n → Ty n′ → Ty 0 _∶_ : ∀ {g n} → Tm g n → Ty n → Ty (suc n) infixr 5 _⊃_ infixr 15 _∶_ tm : ∀ {n} → Ty (suc n) → ∃ (λ g → Tm g n) tm (t ∶ A) = (_ , t) -- --A : Ty n --B : Ty n′ -- --A ⊃ A : Ty 0 --A ⊃ B ⊃ A : Ty 0 -- --f ∶ (A ⊃ B) : Ty 1 --x ∶ A : Ty (n + 1) --APP f x ∶ B : Ty (n′ + 1) --x ∶ A ⊃ (APP f x) ∶ B : Ty 0 --f ∶ (A ⊃ B) ⊃ x ∶ A ⊃ (APP f x) ∶ B : Ty 0