Documentation

InfinitaryLogic.Lomega1omega.FiniteQuantification

Finite quantifier blocks for Lω₁ω formulas #

Finite blocks of existential and universal quantifiers over the last k bound variables, with their realization semantics in Fin.append form.

Main Definitions #

Main Results #

Implementation Notes #

The environment in the realization lemmas is the plain Fin.append xs ys (well-typed since Fin (n + k) is the formula's bound-variable index); the successor step is the standard Fin.snoc (Fin.append xs ys) y = Fin.append xs (Fin.snoc ys y) exchange. This is reusable syntax infrastructure independent of any particular application.

Existentially quantify the last k bound variables of a formula, by iterating ex.

Equations
Instances For

    Universally quantify the last k bound variables of a formula, by iterating all.

    Equations
    Instances For
      theorem FirstOrder.Language.BoundedFormulaω.realize_existsBlock {L : Language} {M : Type w} [L.Structure M] {α : Type u'} {n : } {v : αM} {xs : Fin nM} {k : } (φ : L.BoundedFormulaω α (n + k)) :
      φ.existsBlock.Realize v xs ∃ (ys : Fin kM), φ.Realize v (Fin.append xs ys)

      Realization of a finite existential block: witnesses for the last k bound variables, in Fin.append form.

      theorem FirstOrder.Language.BoundedFormulaω.realize_forallBlock {L : Language} {M : Type w} [L.Structure M] {α : Type u'} {n : } {v : αM} {xs : Fin nM} {k : } (φ : L.BoundedFormulaω α (n + k)) :
      φ.forallBlock.Realize v xs ∀ (ys : Fin kM), φ.Realize v (Fin.append xs ys)

      Realization of a finite universal block: all values of the last k bound variables, in Fin.append form.