Source code on Githubopen import Prelude.Init; open SetAsType
open L.Mem
open import Prelude.DecEq
module Nominal.New (Atom : Type) ⦃ _ : DecEq Atom ⦄ where
И : Pred (Pred Atom ℓ) ℓ
И φ = ∃ λ (xs : List Atom) → (∀ y → y ∉ xs → φ y)
И⅁ : Pred (Atom → Atom → Type ℓ) ℓ
И⅁ φ = ∃ λ (xs : List Atom) →
(∀ y z → y ∉ xs → z ∈ xs → φ y z)
И^_ : (n : ℕ) → Pred (Pred (Vec Atom n) ℓ) ℓ
(И^ n) φ = ∃ λ (xs : List Atom) → (∀ ys → V.All.All (_∉ xs) ys → φ ys)
И² : Pred (Atom → Atom → Type ℓ) ℓ
И² φ = ∃ λ (xs : List Atom) → (∀ y z → y ∉ xs → z ∉ xs → φ y z)
И³ : Pred (Atom → Atom → Atom → Type ℓ) ℓ
И³ φ = ∃ λ (xs : List Atom) → (∀ y z w → y ∉ xs → z ∉ xs → w ∉ xs → φ y z w)