Documentation

InfinitaryLogic.Methods.GeneratedSublanguage

The function-generated sublanguage of an L_{ω₁ω} formula #

Countability plumbing for the Morley–Hanf chain: the local EM tower requires countably many function symbols, but the honest residual statements assume only countably many relation symbols. This file removes the gap: every L_{ω₁ω} formula mentions only countably many function symbols (functionsIn + functionsIn_countable — formulas are countably-branching well-founded trees), so the construction can run in the generated sublanguage funSublang F (the mentioned functions as a subtype, ALL relations kept — their countability is ambient), and the formula restricts to it (restrictFuns) with mapLanguage (funSublangIncl F) as a left inverse. Downstream (LocalEMOmegaResidual.lean) the sublanguage EM model is expanded back to the full language.

Pure syntax + set-countability; no EM, no local stack, no Conditional/.

Function symbols mentioned by a term / formula #

def FirstOrder.Language.Term.functionsIn {L : Language} {α : Type} :
L.Term αSet ((n : ) × L.Functions n)

The function symbols occurring in a term.

Equations
Instances For

    The generated sublanguage #

    The sublanguage of L generated by a set F of function symbols: the functions of F (as a subtype) and all of L's relations. Keeping the relations whole means relation-symbol countability transports from L unchanged, and only the function side — the one the local EM tower needs and the honest residuals do not assume — is cut down to F.

    Equations
    Instances For

      The inclusion of the generated sublanguage.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The generated sublanguage of a countable symbol set has countably many function symbols — the certificate the local EM tower needs, now provable rather than assumed.

        theorem FirstOrder.Language.funSublang_rel_countable {L : Language} (F : Set ((n : ) × L.Functions n)) [h : Countable ((l : ) × L.Relations l)] :

        Relation-symbol countability transports to the generated sublanguage (definitionally the same relation symbols).

        Restriction of terms and formulas into the generated sublanguage #

        def FirstOrder.Language.Term.restrictFuns {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} (t : L.Term α) :
        t.functionsInF(funSublang F).Term α

        Restrict a term whose function symbols lie in F to the generated sublanguage.

        Equations
        Instances For
          theorem FirstOrder.Language.Term.onTerm_restrictFuns {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} (t : L.Term α) (h : t.functionsInF) :

          The inclusion is a left inverse of term restriction.

          theorem FirstOrder.Language.BoundedFormulaω.mapLanguage_restrictFuns {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} {n : } (φ : L.BoundedFormulaω α n) (h : φ.functionsInF) :

          The inclusion is a left inverse of formula restriction: the restricted formula maps back to the original. The bridge that lets the sublanguage EM model realize the original formulas.

          The simultaneous symbol-generated sublanguage #

          The schema route needs BOTH symbol sorts countable (its completion enumerates atoms over the relation symbols too), while the definitive Morley–Hanf endpoint assumes neither. So alongside the function-only sublanguage above, this section cuts BOTH sorts down to the (countable) symbols a formula mentions: relationsIn + countability, the two-sorted symbSublang, its inclusion, restriction restrictSymbols, and the left-inverse law.

          def FirstOrder.Language.symbSublang {L : Language} (F : Set ((n : ) × L.Functions n)) (R : Set ((n : ) × L.Relations n)) :

          The sublanguage of L generated by a set F of function symbols AND a set R of relation symbols, both as subtypes.

          Equations
          Instances For
            def FirstOrder.Language.symbSublangIncl {L : Language} (F : Set ((n : ) × L.Functions n)) (R : Set ((n : ) × L.Relations n)) :

            The inclusion of the two-sorted generated sublanguage.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem FirstOrder.Language.symbSublang_fun_countable {L : Language} {F : Set ((n : ) × L.Functions n)} (hF : F.Countable) (R : Set ((n : ) × L.Relations n)) :
              Countable ((n : ) × (symbSublang F R).Functions n)

              Function-symbol countability of the two-sorted generated sublanguage.

              theorem FirstOrder.Language.symbSublang_rel_countable {L : Language} (F : Set ((n : ) × L.Functions n)) {R : Set ((n : ) × L.Relations n)} (hR : R.Countable) :
              Countable ((n : ) × (symbSublang F R).Relations n)

              Relation-symbol countability of the two-sorted generated sublanguage.

              def FirstOrder.Language.Term.restrictSymbols {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} (R : Set ((n : ) × L.Relations n)) (t : L.Term α) :
              t.functionsInF(symbSublang F R).Term α

              Restrict a term whose function symbols lie in F to the two-sorted sublanguage.

              Equations
              Instances For
                theorem FirstOrder.Language.Term.onTerm_restrictSymbols {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} {R : Set ((n : ) × L.Relations n)} (t : L.Term α) (h : t.functionsInF) :

                The inclusion is a left inverse of two-sorted term restriction.

                def FirstOrder.Language.BoundedFormulaω.restrictSymbols {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} {R : Set ((n : ) × L.Relations n)} {n : } (φ : L.BoundedFormulaω α n) :
                φ.functionsInFφ.relationsInR(symbSublang F R).BoundedFormulaω α n

                Restrict a formula whose function AND relation symbols lie in F/R to the two-sorted generated sublanguage.

                Equations
                Instances For
                  theorem FirstOrder.Language.BoundedFormulaω.mapLanguage_restrictSymbols {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} {R : Set ((n : ) × L.Relations n)} {n : } (φ : L.BoundedFormulaω α n) (hF : φ.functionsInF) (hR : φ.relationsInR) :

                  The inclusion is a left inverse of two-sorted formula restriction.

                  theorem FirstOrder.Language.BoundedFormulaω.universalSigned_restrictSymbols {L : Language} {α : Type} {F : Set ((n : ) × L.Functions n)} {R : Set ((n : ) × L.Relations n)} (s : Bool) {n : } (φ : L.BoundedFormulaω α n) (hF : φ.functionsInF) (hR : φ.relationsInR) :

                  Restriction preserves the quantifier class. No new induction: restriction is inverted by the inclusion language map, and language maps transport the signed class exactly.