{-# OPTIONS --safe --without-K #-} module Core where open import Level open import Data.Nat open import Data.List variable a b c′ i o j ℓ ℓ′ : Level A : Set a B : Set b C : Set c′ I : Set i O : Set o J : Set j P Q : A → Set ℓ n m k : ℕ Pred : (A : Set ℓ) → Set (Level.suc ℓ) Pred {ℓ} A = A → Set ℓ Ctx = List module _ (T : Set) where data Cell : Set where value : (s : T) → Cell closure : (s t : T) → Cell Sto : Set Sto = List Cell open import Data.List.Relation.Unary.All Env : ∀ {I} → (T → Pred {0ℓ} I) → Ctx T → Pred I Env V Γ Σ = All (λ t → V t Σ) Γ open import Box public open import Data.List.Relation.Binary.Sublist.Propositional instance sto-rel : ∀ {A : Set} → Rel₂ _ (Sto A) Rel₂.R sto-rel = _⊆_ Rel₂.refl sto-rel = ⊆-refl Rel₂.trans sto-rel = ⊆-trans