module Implicit.Language.Ground.Base where

open import Implicit.Language.Base
open import Implicit.Language.Shift.Base
open import Implicit.Language.Lookup.Base
open import Implicit.Language.EnvOps.Base

-- this only works on the subtyping environment
infix 3 _≫_⇘_
data _≫_⇘_ : Env n m  Type m  Type m  Set
data _≫_⇘_ where
  grd-int : Δ  Int  Int
  grd-var= : Δ  X := A
            Δ  ( X)  A
  grd-var∙ : Δ ∋∙ X
           Δ  ( X)  ( X)
  grd-arr : Δ  A  A%
           Δ  B  B%
           Δ  (A `→ B)  A% `→ B%
  grd-∀   : Δ ,∙  A  A%
           Δ  `∀ A  `∀ A%