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
Equations
- FirstOrder.Language.BoundedFormulaInf.instInhabited = { default := ⊥ }
Existential quantification over the last bound variable.
Instances For
Places universal quantifiers on all in-scope bound variables of an infinitary bounded
formula (mirrors the finitary BoundedFormula.alls).
Instances For
Places existential quantifiers on all in-scope bound variables of an infinitary bounded
formula (mirrors the finitary BoundedFormula.exs).
Instances For
The embedding of finitary bounded formulas into the infinitary syntax. Since finitary
formulas have no infinitary nodes, the target carrier is arbitrary: there is one embedding for
all carriers and universes, rather than an embedding into L_{ω₁ω} followed by a lift.
Equations
- FirstOrder.Language.BoundedFormula.falsum.toInf = FirstOrder.Language.BoundedFormulaInf.falsum
- (FirstOrder.Language.BoundedFormula.equal t₁ t₂).toInf = FirstOrder.Language.BoundedFormulaInf.equal t₁ t₂
- (FirstOrder.Language.BoundedFormula.rel R ts).toInf = FirstOrder.Language.BoundedFormulaInf.rel R ts
- (φ.imp ψ).toInf = φ.toInf.imp ψ.toInf
- φ.all.toInf = φ.toInf.all
Instances For
The embedding of finitary bounded formulas into L_{ω₁ω}.