Documentation

InfinitaryLogic.Lomega1omega.Syntax

Lω₁ω Syntax #

This file defines the syntax of the infinitary logic Lω₁ω, which extends first-order logic with countable conjunctions and disjunctions.

Main Definitions #

Implementation Notes #

The formulas are defined inductively with constructors for the standard first-order connectives plus ℕ-indexed conjunction (iInf) and disjunction (iSup). The einf and esup variants handle general countable indices via Encodable.

The derived connectives (and, or, ex) are defined classically via De Morgan laws. This matches Mathlib's BoundedFormula conventions and ensures compatibility with classical semantics.

inductive FirstOrder.Language.BoundedFormulaω (L : Language) (α : Type u') :
Type (max u v u')

Lω₁ω bounded formulas: first-order formulas extended with countable conjunctions and disjunctions. BoundedFormulaω L α n has free variables indexed by α and n bound variables.

Instances For
    @[reducible, inline]
    abbrev FirstOrder.Language.Formulaω (L : Language) (α : Type u') :
    Type (max u v u')

    Lω₁ω formulas with no bound variables in scope.

    Equations
    Instances For
      @[reducible, inline]

      Lω₁ω sentences: formulas with no free or bound variables in scope.

      Equations
      Instances For
        @[match_pattern]

        Negation of a formula.

        Equations
        Instances For
          @[match_pattern]

          Conjunction of two formulas, defined via De Morgan.

          Equations
          Instances For
            @[match_pattern]

            Disjunction of two formulas.

            Equations
            Instances For
              @[match_pattern]
              def FirstOrder.Language.BoundedFormulaω.ex {L : Language} {α : Type u'} {n : } (φ : L.BoundedFormulaω α (n + 1)) :

              Existential quantification.

              Equations
              Instances For

                Biconditional between formulas.

                Equations
                Instances For
                  def FirstOrder.Language.BoundedFormulaω.einf {L : Language} {α : Type u'} {n : } {ι : Type u_1} [Encodable ι] (φs : ιL.BoundedFormulaω α n) :

                  Indexed conjunction over any Encodable type. This extends iInf from ℕ-indexed to general countable indices by encoding.

                  Equations
                  Instances For
                    def FirstOrder.Language.BoundedFormulaω.esup {L : Language} {α : Type u'} {n : } {ι : Type u_1} [Encodable ι] (φs : ιL.BoundedFormulaω α n) :

                    Indexed disjunction over any Encodable type. This extends iSup from ℕ-indexed to general countable indices by encoding.

                    Equations
                    Instances For