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 #
The function symbols occurring in a term.
Equations
- (FirstOrder.Language.var a).functionsIn = ∅
- (FirstOrder.Language.func f ts).functionsIn = insert ⟨l, f⟩ (⋃ (i : Fin l), (ts i).functionsIn)
Instances For
The function symbols occurring in a formula (through all countable connectives).
Equations
- FirstOrder.Language.BoundedFormulaω.falsum.functionsIn = ∅
- (FirstOrder.Language.BoundedFormulaω.equal t u).functionsIn = t.functionsIn ∪ u.functionsIn
- (FirstOrder.Language.BoundedFormulaω.rel R ts).functionsIn = ⋃ (i : Fin l), (ts i).functionsIn
- (φ.imp ψ).functionsIn = φ.functionsIn ∪ ψ.functionsIn
- φ.all.functionsIn = φ.functionsIn
- (FirstOrder.Language.BoundedFormulaω.iSup φs).functionsIn = ⋃ (i : ℕ), (φs i).functionsIn
- (FirstOrder.Language.BoundedFormulaω.iInf φs).functionsIn = ⋃ (i : ℕ), (φs i).functionsIn
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.
Relation-symbol countability transports to the generated sublanguage (definitionally the same relation symbols).
Restriction of terms and formulas into the generated sublanguage #
Restrict a term whose function symbols lie in F to the generated sublanguage.
Equations
- (FirstOrder.Language.var x_2).restrictFuns x_3 = FirstOrder.Language.var x_2
- (FirstOrder.Language.func f ts).restrictFuns h = FirstOrder.Language.func ⟨f, ⋯⟩ fun (i : Fin l) => (ts i).restrictFuns ⋯
Instances For
The inclusion is a left inverse of term restriction.
Restrict a formula whose function symbols lie in F to the generated sublanguage (relations
pass through unchanged).
Equations
- FirstOrder.Language.BoundedFormulaω.falsum.restrictFuns x_4 = FirstOrder.Language.BoundedFormulaω.falsum
- (FirstOrder.Language.BoundedFormulaω.equal t u).restrictFuns h = FirstOrder.Language.BoundedFormulaω.equal (t.restrictFuns ⋯) (u.restrictFuns ⋯)
- (FirstOrder.Language.BoundedFormulaω.rel R ts).restrictFuns h = FirstOrder.Language.BoundedFormulaω.rel R fun (i : Fin l) => (ts i).restrictFuns ⋯
- (φ.imp ψ).restrictFuns h = (φ.restrictFuns ⋯).imp (ψ.restrictFuns ⋯)
- φ.all.restrictFuns h = (φ.restrictFuns h).all
- (FirstOrder.Language.BoundedFormulaω.iSup φs).restrictFuns h = FirstOrder.Language.BoundedFormulaω.iSup fun (i : ℕ) => (φs i).restrictFuns ⋯
- (FirstOrder.Language.BoundedFormulaω.iInf φs).restrictFuns h = FirstOrder.Language.BoundedFormulaω.iInf fun (i : ℕ) => (φs i).restrictFuns ⋯
Instances For
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.
The relation symbols occurring in a formula (through all countable connectives).
Equations
- FirstOrder.Language.BoundedFormulaω.falsum.relationsIn = ∅
- (FirstOrder.Language.BoundedFormulaω.equal t u).relationsIn = ∅
- (FirstOrder.Language.BoundedFormulaω.rel R ts).relationsIn = {⟨l, R⟩}
- (φ.imp ψ).relationsIn = φ.relationsIn ∪ ψ.relationsIn
- φ.all.relationsIn = φ.relationsIn
- (FirstOrder.Language.BoundedFormulaω.iSup φs).relationsIn = ⋃ (i : ℕ), (φs i).relationsIn
- (FirstOrder.Language.BoundedFormulaω.iInf φs).relationsIn = ⋃ (i : ℕ), (φs i).relationsIn
Instances For
Restrict a term whose function symbols lie in F to the two-sorted sublanguage.
Equations
- FirstOrder.Language.Term.restrictSymbols R (FirstOrder.Language.var x_2) x_3 = FirstOrder.Language.var x_2
- FirstOrder.Language.Term.restrictSymbols R (FirstOrder.Language.func f ts) h = FirstOrder.Language.func ⟨f, ⋯⟩ fun (i : Fin l) => FirstOrder.Language.Term.restrictSymbols R (ts i) ⋯
Instances For
Restrict a formula whose function AND relation symbols lie in F/R to the two-sorted
generated sublanguage.
Equations
- One or more equations did not get rendered due to their size.
- FirstOrder.Language.BoundedFormulaω.falsum.restrictSymbols x_5 x_6 = FirstOrder.Language.BoundedFormulaω.falsum
- (FirstOrder.Language.BoundedFormulaω.rel Rl ts).restrictSymbols hF hR = FirstOrder.Language.BoundedFormulaω.rel ⟨Rl, ⋯⟩ fun (i : Fin l) => FirstOrder.Language.Term.restrictSymbols R (ts i) ⋯
- (φ.imp ψ).restrictSymbols hF hR = (φ.restrictSymbols ⋯ ⋯).imp (ψ.restrictSymbols ⋯ ⋯)
- φ.all.restrictSymbols hF hR = (φ.restrictSymbols hF hR).all
- (FirstOrder.Language.BoundedFormulaω.iSup φs).restrictSymbols hF hR = FirstOrder.Language.BoundedFormulaω.iSup fun (i : ℕ) => (φs i).restrictSymbols ⋯ ⋯
- (FirstOrder.Language.BoundedFormulaω.iInf φs).restrictSymbols hF hR = FirstOrder.Language.BoundedFormulaω.iInf fun (i : ℕ) => (φs i).restrictSymbols ⋯ ⋯
Instances For
The inclusion is a left inverse of two-sorted formula restriction.
Restriction preserves the quantifier class. No new induction: restriction is inverted by the inclusion language map, and language maps transport the signed class exactly.