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