Documentation

Mathlib.ModelTheory.Infinitary.Syntax

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:

Main definitions #

inductive FirstOrder.Language.BoundedFormulaInf (L : Language) (ι : Type uι) (α : Type u') :
ℕ → Type (max u v u' uι)

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.

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

    A bounded formula of L_{ω₁ω}: the definitional ι := ℕ specialization of BoundedFormulaInf. Its universe is exactly that of the finitary BoundedFormula.

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

      An L_{∞ω} formula: a bounded formula with no free bound variables.

      Equations
      Instances For
        @[reducible, inline]
        abbrev FirstOrder.Language.SentenceInf (L : Language) (ι : Type uι) :
        Type (max u v uι)

        An L_{∞ω} sentence: a formula with no free variables at all.

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

          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
          Instances For
            @[reducible, inline]

            An L_{ω₁ω} sentence. Routed through Formulaω for the reason given there.

            Equations
            Instances For
              @[match_pattern]
              def FirstOrder.Language.BoundedFormulaInf.not {L : Language} {ι : Type uι} {α : Type u'} {n : ℕ} (φ : L.BoundedFormulaInf ι α n) :

              The negation of an infinitary formula.

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

                Existential quantification over the last bound variable.

                Equations
                Instances For
                  def FirstOrder.Language.BoundedFormulaInf.alls {L : Language} {ι : Type uι} {α : Type u'} {n : ℕ} :
                  L.BoundedFormulaInf ι α n → L.FormulaInf ι α

                  Places universal quantifiers on all in-scope bound variables of an infinitary bounded formula (mirrors the finitary BoundedFormula.alls).

                  Equations
                  Instances For
                    def FirstOrder.Language.BoundedFormulaInf.exs {L : Language} {ι : Type uι} {α : Type u'} {n : ℕ} :
                    L.BoundedFormulaInf ι α n → L.FormulaInf ι α

                    Places existential quantifiers on all in-scope bound variables of an infinitary bounded formula (mirrors the finitary BoundedFormula.exs).

                    Equations
                    Instances For
                      def FirstOrder.Language.BoundedFormula.toInf {L : Language} {ι : Type uι} {α : Type u'} {n : ℕ} :
                      L.BoundedFormula α n → L.BoundedFormulaInf ι α n

                      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
                      Instances For
                        @[reducible, inline]

                        The embedding of finitary bounded formulas into L_{ω₁ω}.

                        Equations
                        Instances For