Documentation

LeanPool.InfinitaryLogic.Lomega1omega.QuantifierOccurrence

Signed quantifier occurrence (issue #15, budget gate 1) #

QuantifierClass.lean answers "is every quantifier of this sign admissible?"; Feferman's separator budgets need the dual, positive question: "does a quantifier of this sign occur?".

Defining occurrence as ¬ IsUniversal / ¬ IsExistential would work extensionally but makes every budget calculation a double-negation exercise. So occurrence is given its own signed recursion, with exact constructor equations, and the two are then related by an exact bridge:

universalSigned s φ ↔ ¬ hasQuantSigned (!s) φ
IsUniversal φ ↔ ¬ HasExistential φ      IsExistential φ ↔ ¬ HasUniversal φ

The sign discipline is the same as in QuantifierClass.lean and Polarity.lean: an antecedent flips, iSup/iInf preserve and are not quantifiers, and all is a universal occurrence at the positive sign only. Nothing here mentions interpolation; the set-level versions at the end are what the separator budgets are stated against.

@[reducible, inline]

An existential quantifier occurs in φ.

Equations
Instances For

    Constructor equations #

    @[simp]
    theorem FirstOrder.Language.BoundedFormulaω.hasQuantSigned_equal {L : Language} {α : Type} {n : } (s : Bool) (t₁ t₂ : L.Term (α Fin n)) :
    ¬hasQuantSigned s (equal t₁ t₂)
    @[simp]
    theorem FirstOrder.Language.BoundedFormulaω.hasQuantSigned_rel {L : Language} {α : Type} {n l : } (s : Bool) (R : L.Relations l) (ts : Fin lL.Term (α Fin n)) :
    @[simp]
    theorem FirstOrder.Language.BoundedFormulaω.hasQuantSigned_iSup {L : Language} {α : Type} {n : } (s : Bool) (φs : L.BoundedFormulaω α n) :
    hasQuantSigned s (iSup φs) ∃ (i : ), hasQuantSigned s (φs i)
    @[simp]
    theorem FirstOrder.Language.BoundedFormulaω.hasQuantSigned_iInf {L : Language} {α : Type} {n : } (s : Bool) (φs : L.BoundedFormulaω α n) :
    hasQuantSigned s (iInf φs) ∃ (i : ), hasQuantSigned s (φs i)
    @[simp]

    Negation exchanges the two occurrence notions.

    The exact bridge to the quantifier classes #

    The bridge. Being of a class is exactly the absence of an occurrence of the opposite sign.

    Stability under the variable operations #

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

    Set-level occurrence: the budget sources #

    A quantifier of sign s occurs somewhere in the set — the source of a separator budget.

    Equations
    Instances For

      Non-growth: inserting a sentence whose s-occurrences are already licensed does not enlarge the budget. This is the shape every consistency-property branch step needs.