Documentation

InfinitaryLogic.Lomega1omega.QuantifierClass

The universal and existential quantifier classes (issue #15, Unit 0) #

The ∀₁/∃₁ classes of Harrison-Trainor–Kretschmer §2 (their hierarchy for counting quantifier alternations in infinitary formulas), realized as a signed quantifier traversal on the existing syntax:

One Bool-parameterised recursion carries both classes, so their mutual dependence through negation is definitional rather than a second induction — the same design as Lomega1omega/Polarity.lean, and, as there, no negation-normal form is constructed anywhere.

This module is deliberately neutral: it depends only on the syntax layer and is intended to be reused by any preservation theorem (issue #15's interpolation and relative preservation, and issue #16's end extensions), not to live inside the interpolation development.

@[reducible, inline]

φ is universal (∀₁): every quantifier occurrence is a positive .

Equations
Instances For
    @[reducible, inline]

    φ is existential (∃₁): no quantifier occurrence is a positive , i.e. every one is an existential.

    Equations
    Instances For

      Constructor equations #

      @[simp]
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_equal {L : Language} {α : Type} {n : } (s : Bool) (t₁ t₂ : L.Term (α Fin n)) :
      universalSigned s (equal t₁ t₂)
      @[simp]
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_rel {L : Language} {α : Type} {n l : } (s : Bool) (R : L.Relations l) (ts : Fin lL.Term (α Fin n)) :
      @[simp]
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_iSup {L : Language} {α : Type} {n : } (s : Bool) (φs : L.BoundedFormulaω α n) :
      universalSigned s (iSup φs) ∀ (i : ), universalSigned s (φs i)
      @[simp]
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_iInf {L : Language} {α : Type} {n : } (s : Bool) (φs : L.BoundedFormulaω α n) :
      universalSigned s (iInf φs) ∀ (i : ), universalSigned s (φs i)

      The acceptance equations #

      @[simp]

      Negation exchanges the two classes.

      Dually to not_isExistential_all: an existential quantifier is a negative all, so ∃x φ is existential exactly when φ is, and never universal (unless it is vacuous, which this syntax does not distinguish).

      The derived connectives #

      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_einf {L : Language} {α : Type} {ι : Type u_1} [Encodable ι] {n : } (s : Bool) (φs : ιL.BoundedFormulaω α n) (h : ∀ (i : ι), universalSigned s (φs i)) :
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_esup {L : Language} {α : Type} {ι : Type u_1} [Encodable ι] {n : } (s : Bool) (φs : ιL.BoundedFormulaω α n) (h : ∀ (i : ι), universalSigned s (φs i)) :

      Stability under the variable operations #

      Quantifier class is invariant under language maps. mapLanguage rewrites terms and symbol tags only; every quantifier node is preserved, so the signed universal class is exact.

      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_relabel {L : Language} {α β : Type} {n : } (s : Bool) (g : αβ Fin n) {k : } (φ : L.BoundedFormulaω α k) :
      theorem FirstOrder.Language.BoundedFormulaω.universalSigned_subst {L : Language} {α β : Type} (s : Bool) {n : } (φ : L.BoundedFormulaω α n) (tf : αL.Term β) :