{-# OPTIONS --safe --without-K #-}

open import Term
open import Reduction

module Term.StrongNormalization.Base where

-- Strongly normalizing terms, i.e., those terms from which all reduction chains are finite
data SN : Γ  τ  Set where
  sn : {t : Γ  τ}  (∀ s  t  s  SN s)  SN t

-- multi step strong normalization, sometimes needed for Agda to see termination
data SN⁺ : Γ  τ  Set where
  sn : {t : Γ  τ}  (∀ s  t ▷⁺ s  SN⁺ s)  SN⁺ t