Infinitary first-order formulas #
This file defines the syntax of L_{∞ω}: first-order formulas with conjunctions and
disjunctions indexed by a fixed branching carrier ι, one per formula. L_{ω₁ω} is the
definitional specialization ι := ℕ.
Design #
The infinitary constructors iSup/iInf branch over the single type parameter ι rather than
quantifying over a fresh index type at every node. Consequences:
BoundedFormulaInf L ι α n : Type (max u v u' uι)— the syntax lives in themaxof its parameters' universes, with no+ 1bump. In particularBoundedFormulaω L α n := BoundedFormulaInf L ℕ α nhas exactly the universeType (max u v u')of the finitaryBoundedFormula.- An
ι-indexed conjunction at a larger carrierκ, and transport of whole formulas between carriers, are expressed through codings — seeInfinitary/Reindex.lean. In particular, Karp's theorem, the consumer that forces arbitrary index types, needs only the single carrierM ⊕ N.
Main definitions #
FirstOrder.Language.BoundedFormulaInf: infinitary formulas with carrierι, free variables inα, andnfree bound-variable slots.FirstOrder.Language.BoundedFormulaω: theι := ℕspecialization (anabbrev, so allBoundedFormulaInfAPI applies definitionally).- Derived connectives and quantifier closures (
not,⊤/⊥,ex,alls,exs), and the carrier-generic finitary embeddingBoundedFormula.toInf.
An infinitary bounded formula of L_{∞ω}, with infinitary conjunctions and disjunctions
branching over the fixed carrier ι, free variables indexed by α, and n additional bound
variables available.
- falsum
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
: L.BoundedFormulaInf ι α n
The false formula.
- equal
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
(t₁ t₂ : L.Term (α ⊕ Fin n))
: L.BoundedFormulaInf ι α n
Equality of two terms.
- rel
{L : Language}
{ι : Type uι}
{α : Type u'}
{n l : ℕ}
(R : L.Relations l)
(ts : Fin l → L.Term (α ⊕ Fin n))
: L.BoundedFormulaInf ι α n
A relation symbol applied to terms.
- imp
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
(φ ψ : L.BoundedFormulaInf ι α n)
: L.BoundedFormulaInf ι α n
Implication.
- all
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
(φ : L.BoundedFormulaInf ι α (n + 1))
: L.BoundedFormulaInf ι α n
Universal quantification over the last bound variable.
- iSup
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
(φs : ι → L.BoundedFormulaInf ι α n)
: L.BoundedFormulaInf ι α n
Infinitary disjunction over the carrier.
- iInf
{L : Language}
{ι : Type uι}
{α : Type u'}
{n : ℕ}
(φs : ι → L.BoundedFormulaInf ι α n)
: L.BoundedFormulaInf ι α n
Infinitary conjunction over the carrier.
Instances For
A bounded formula of L_{ω₁ω}: the definitional ι := ℕ specialization of
BoundedFormulaInf. Its universe is exactly that of the finitary BoundedFormula.
Equations
- L.BoundedFormulaω α n = L.BoundedFormulaInf ℕ α n
Instances For
An L_{∞ω} formula: a bounded formula with no free bound variables.
Equations
- L.FormulaInf ι α = L.BoundedFormulaInf ι α 0
Instances For
An L_{∞ω} sentence: a formula with no free variables at all.
Equations
- L.SentenceInf ι = L.FormulaInf ι Empty
Instances For
An L_{ω₁ω} formula.
Routed through BoundedFormulaω rather than stated as FormulaInf ℕ α, though the two are the
same type. Dot-notation resolution walks an abbreviation chain one unfolding at a time, trying
each head constant's namespace in turn, so this routing keeps declarations in a downstream
BoundedFormulaω namespace reachable as φ.op on an L_{ω₁ω} formula while the generic
BoundedFormulaInf namespace stays reachable at the end of the chain.
Equations
- L.Formulaω α = L.BoundedFormulaω α 0
Instances For
The negation of an infinitary formula.
Equations
Instances For
The true formula.
Equations
Instances For
Existential quantification over the last bound variable.