L∞ω Syntax #
This file defines the syntax of the infinitary logic L∞ω, which extends first-order logic with arbitrary (possibly uncountable) conjunctions and disjunctions.
Main Definitions #
FirstOrder.Language.BoundedFormulaInf: The type of L∞ω formulas with free variables inαand bound variables inFin n. Allows arbitrary index types for iSup/iInf.FirstOrder.Language.FormulaInf: Formulas with no bound variables.FirstOrder.Language.SentenceInf: Sentences (formulas with no free variables).
Implementation Notes #
L∞ω is the union of all Lκω for cardinals κ. Each formula belongs to some Lκω where κ bounds
the cardinality of all index sets used in infinitary connectives. The IsKappa predicate
characterizes membership in Lκω; IsCountable is the special case for Lω₁ω.
The formulas are parameterized by a universe uι for index types. All index types in iSup/iInf
must live in Type uι. Choose uι large enough for your application; for countable logic,
uι = 0 suffices.
L∞ω bounded formulas: first-order formulas extended with arbitrary conjunctions and
disjunctions. BoundedFormulaInf L α n has free variables indexed by α and n bound variables.
The index type ι for iSup/iInf lives in universe uι.
- falsum
{L : Language}
{α : Type u'}
{n : ℕ}
: L.BoundedFormulaInf α n
The false formula.
- equal
{L : Language}
{α : Type u'}
{n : ℕ}
(t₁ t₂ : L.Term (α ⊕ Fin n))
: L.BoundedFormulaInf α n
Equality of two terms.
- rel
{L : Language}
{α : Type u'}
{n l : ℕ}
(R : L.Relations l)
(ts : Fin l → L.Term (α ⊕ Fin n))
: L.BoundedFormulaInf α n
A relation applied to terms.
- imp
{L : Language}
{α : Type u'}
{n : ℕ}
(φ ψ : L.BoundedFormulaInf α n)
: L.BoundedFormulaInf α n
Implication between formulas.
- all
{L : Language}
{α : Type u'}
{n : ℕ}
(φ : L.BoundedFormulaInf α (n + 1))
: L.BoundedFormulaInf α n
Universal quantification.
- iSup
{L : Language}
{α : Type u'}
{n : ℕ}
{ι : Type uι}
(φs : ι → L.BoundedFormulaInf α n)
: L.BoundedFormulaInf α n
Arbitrary-indexed disjunction (supremum). The index type lives in universe
uι. - iInf
{L : Language}
{α : Type u'}
{n : ℕ}
{ι : Type uι}
(φs : ι → L.BoundedFormulaInf α n)
: L.BoundedFormulaInf α n
Arbitrary-indexed conjunction (infimum). The index type lives in universe
uι.
Instances For
L∞ω formulas with no bound variables in scope.
Equations
- L.FormulaInf α = L.BoundedFormulaInf α 0
Instances For
L∞ω sentences: formulas with no free or bound variables in scope.
Equations
- L.SentenceInf = L.FormulaInf Empty
Instances For
The true formula, defined as ¬⊥.
Equations
Instances For
Negation of a formula.
Instances For
Conjunction of two formulas, defined via De Morgan.
Instances For
Disjunction of two formulas.
Instances For
Existential quantification.
Instances For
Biconditional between formulas.
Instances For
Empty disjunction (equivalent to ⊥).
Equations
Instances For
Empty conjunction (equivalent to ⊤).
Equations
Instances For
Equations
- Linfomega.«term_⟹∞_» = Lean.ParserDescr.trailingNode `Linfomega.«term_⟹∞_» 62 63 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⟹∞ ") (Lean.ParserDescr.cat `term 62))
Instances For
Equations
- Linfomega.«term∀'∞_» = Lean.ParserDescr.node `Linfomega.«term∀'∞_» 110 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∀'∞ ") (Lean.ParserDescr.cat `term 110))
Instances For
Equations
- Linfomega.«term∼∞_» = Lean.ParserDescr.node `Linfomega.«term∼∞_» 1023 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∼∞") (Lean.ParserDescr.cat `term 1023))
Instances For
Equations
- Linfomega.«term∃'∞_» = Lean.ParserDescr.node `Linfomega.«term∃'∞_» 110 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∃'∞ ") (Lean.ParserDescr.cat `term 110))
Instances For
Equations
- Linfomega.«term_⇔∞_» = Lean.ParserDescr.trailingNode `Linfomega.«term_⇔∞_» 61 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⇔∞ ") (Lean.ParserDescr.cat `term 62))