Fragments of L_{ω₁ω} #
The foundational fragment interface of issue #13, per the frozen audit
(docs/fragments-audit.md): a fragment is an arity-indexed set of formulas over Empty free
variables (parameters enter semantically, through tuples), closed under CONSTRUCTOR COMPONENTS
only — the direction every induction (A-elementarity, Tarski–Vaught, Löwenheim–Skolem, chain
unions) consumes. Deliberately absent, per the audit: atomic-formula membership (would force
countable fragments to have countable languages), formation closure under countable
connectives (destroys countability), syntactic substitution closure (subsumed by semantic
parameters), and formal-negation closure (an NNF concern, #14).
A fragment: an arity-indexed set of L_{ω₁ω}-formulas closed under constructor
components.
- toSet : Set ((n : ℕ) × L.BoundedFormulaω Empty n)
The member formulas, tagged by arity.
- imp_left_mem {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : ⟨n, φ.imp ψ⟩ ∈ self.toSet → ⟨n, φ⟩ ∈ self.toSet
Component closure: the antecedent of a member implication.
- imp_right_mem {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : ⟨n, φ.imp ψ⟩ ∈ self.toSet → ⟨n, ψ⟩ ∈ self.toSet
Component closure: the consequent of a member implication.
- all_mem {n : ℕ} {φ : L.BoundedFormulaω Empty (n + 1)} : ⟨n, φ.all⟩ ∈ self.toSet → ⟨n + 1, φ⟩ ∈ self.toSet
Component closure: the body of a member universal.
- iInf_mem {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaω.iInf φs⟩ ∈ self.toSet → ∀ (k : ℕ), ⟨n, φs k⟩ ∈ self.toSet
Component closure: every component of a member countable conjunction.
- iSup_mem {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaω.iSup φs⟩ ∈ self.toSet → ∀ (k : ℕ), ⟨n, φs k⟩ ∈ self.toSet
Component closure: every component of a member countable disjunction.
Instances For
Equations
- FirstOrder.Language.Fragment.instMembershipSigmaNatBoundedFormulaωEmpty = { mem := fun (A : L.Fragment) (p : (n : ℕ) × L.BoundedFormulaω Empty n) => p ∈ A.toSet }
The full fragment: every formula.
Equations
- FirstOrder.Language.Fragment.top = { toSet := Set.univ, imp_left_mem := ⋯, imp_right_mem := ⋯, all_mem := ⋯, iInf_mem := ⋯, iSup_mem := ⋯ }
Instances For
Generated fragments #
The component-closure of a set of formulas, as an inductive reachability predicate.
- base {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {p : (n : ℕ) × L.BoundedFormulaω Empty n} (h : p ∈ S) : GeneratedFrom S p
- imp_left {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : GeneratedFrom S ⟨n, φ.imp ψ⟩ → GeneratedFrom S ⟨n, φ⟩
- imp_right {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : GeneratedFrom S ⟨n, φ.imp ψ⟩ → GeneratedFrom S ⟨n, ψ⟩
- all_body {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {n : ℕ} {φ : L.BoundedFormulaω Empty (n + 1)} : GeneratedFrom S ⟨n, φ.all⟩ → GeneratedFrom S ⟨n + 1, φ⟩
- iInf_comp {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} (k : ℕ) : GeneratedFrom S ⟨n, BoundedFormulaω.iInf φs⟩ → GeneratedFrom S ⟨n, φs k⟩
- iSup_comp {L : Language} {S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)} {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} (k : ℕ) : GeneratedFrom S ⟨n, BoundedFormulaω.iSup φs⟩ → GeneratedFrom S ⟨n, φs k⟩
Instances For
The generated fragment: the smallest fragment containing S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Countability of generated fragments: the component-path encoding #
One component step, coded by a pair (tag, index).
Equations
- FirstOrder.Language.Fragment.componentStep ⟨n, φ.imp ψ⟩ (0, snd) = some ⟨n, φ⟩
- FirstOrder.Language.Fragment.componentStep ⟨n, φ.imp ψ⟩ (1, snd) = some ⟨n, ψ⟩
- FirstOrder.Language.Fragment.componentStep ⟨n, φ.all⟩ (2, snd) = some ⟨n + 1, φ⟩
- FirstOrder.Language.Fragment.componentStep ⟨n, FirstOrder.Language.BoundedFormulaω.iInf φs⟩ (3, k) = some ⟨n, φs k⟩
- FirstOrder.Language.Fragment.componentStep ⟨n, FirstOrder.Language.BoundedFormulaω.iSup φs⟩ (4, k) = some ⟨n, φs k⟩
- FirstOrder.Language.Fragment.componentStep x✝¹ x✝ = none
Instances For
Iterated component steps along a list of codes.
Equations
- One or more equations did not get rendered due to their size.
- FirstOrder.Language.Fragment.componentPath p [] = some p
Instances For
A single step lands inside the generated set.
The path characterization: the generated fragment is exactly what is reachable from
S by finitely many coded component steps.
The generated fragment of a single sentence — countable, no hypotheses.
Equations
Instances For
The generated fragment of a COUNTABLE theory (the sentence case is automatic; theory countability is an assumption, per the audit).
Equations
- FirstOrder.Language.Fragment.generatedTheory T = FirstOrder.Language.Fragment.generated ((fun (φ : L.BoundedFormulaω Empty 0) => ⟨0, φ⟩) '' T)