Fragments of L_{ω₁ω} #
A fragment is a set of L_{ω₁ω} formulas without free variables, each tagged by its number of
bound-variable slots, that is closed under taking constructor components: both sides of an
implication, the body of a universal quantifier, and every member of a countable conjunction or
disjunction. In this syntax, where bound variables are slots, the component relation is the
subformula relation.
A fragment is not required to contain any atomic formula. Consequently the fragment generated by a countable set of formulas is countable over every language, however many symbols it has: each member is reached from a generator by a finite path of component steps, each indexed by a natural number. Closure under the formation of formulas is a separate condition, not imposed here.
Main definitions #
FirstOrder.Language.Fragment: fragments ofL_{ω₁ω}, with theirSetLikeand complete lattice structure, meets being intersections and joins unions.FirstOrder.Language.Fragment.GeneratedFrom: reachability from a set of formulas by component steps.FirstOrder.Language.Fragment.generated: the least fragment containing a set of formulas.FirstOrder.Language.Fragment.ofSentence,FirstOrder.Language.Fragment.ofTheory: the fragments generated by a sentence and by a set of sentences.
Main results #
FirstOrder.Language.Fragment.generated_le_iffandFirstOrder.Language.Fragment.gc: the generated fragment is the least fragment containing its generators.FirstOrder.Language.Fragment.generated_countable: a countable set generates a countable fragment, with no hypothesis on the language.
References #
- D. Marker, Lectures on Infinitary Model Theory, Cambridge University Press, 2016, Chapter 1.
- Ported from
cameronfreer/infinitary-logicat commit518a366cba97b1ae8c4dc64a297a396939bc3e0b,InfinitaryLogic/Lomega1omega/Fragment.lean. - Divergences from that source: fragments form a complete lattice, built from arbitrary
intersections, rather than carrying only a top element, binary meets and an order; the
generated fragment is characterized by a Galois connection; the fragments of a sentence and of
a theory are named
ofSentenceandofTheory.
A fragment of L_{ω₁ω}: a set of formulas without free variables, tagged by their number
of bound-variable slots, closed under taking constructor components. No atomic formula is required
to belong.
- toSet : Set ((n : ℕ) × L.BoundedFormulaω Empty n)
The formulas of the fragment, tagged by their number of bound-variable slots.
- imp_left_mem' {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaInf.imp φ ψ⟩ ∈ self.toSet → ⟨n, φ⟩ ∈ self.toSet
The antecedent of a member implication is a member.
- imp_right_mem' {n : ℕ} {φ ψ : L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaInf.imp φ ψ⟩ ∈ self.toSet → ⟨n, ψ⟩ ∈ self.toSet
The consequent of a member implication is a member.
- all_mem' {n : ℕ} {φ : L.BoundedFormulaω Empty (n + 1)} : ⟨n, BoundedFormulaInf.all φ⟩ ∈ self.toSet → ⟨n + 1, φ⟩ ∈ self.toSet
The body of a member universal quantification is a member.
- iInf_mem' {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaInf.iInf φs⟩ ∈ self.toSet → ∀ (k : ℕ), ⟨n, φs k⟩ ∈ self.toSet
Every conjunct of a member countable conjunction is a member.
- iSup_mem' {n : ℕ} {φs : ℕ → L.BoundedFormulaω Empty n} : ⟨n, BoundedFormulaInf.iSup φs⟩ ∈ self.toSet → ∀ (k : ℕ), ⟨n, φs k⟩ ∈ self.toSet
Every disjunct of a member countable disjunction is a member.
Instances For
Closure under components #
The antecedent of a member implication is a member.
The consequent of a member implication is a member.
The complete lattice of fragments #
Fragments are ordered by inclusion of their underlying sets.
The intersection of a family of fragments is a fragment.
Fragments form a complete lattice, whose meets are intersections.
Every formula belongs to the top fragment.
The underlying set of the meet of two fragments is the intersection.
The underlying set of the join of two fragments is the union.
No formula belongs to the bottom fragment.
Generated fragments #
Reachability from a set S of formulas by finitely many component steps.
- base
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{p : (n : ℕ) × L.BoundedFormulaω Empty n}
(h : p ∈ S)
: GeneratedFrom S p
Every generator is reachable.
- imp_left
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{n : ℕ}
{φ ψ : L.BoundedFormulaω Empty n}
: GeneratedFrom S ⟨n, BoundedFormulaInf.imp φ ψ⟩ → GeneratedFrom S ⟨n, φ⟩
The antecedent of a reachable implication is reachable.
- imp_right
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{n : ℕ}
{φ ψ : L.BoundedFormulaω Empty n}
: GeneratedFrom S ⟨n, BoundedFormulaInf.imp φ ψ⟩ → GeneratedFrom S ⟨n, ψ⟩
The consequent of a reachable implication is reachable.
- all_body
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{n : ℕ}
{φ : L.BoundedFormulaω Empty (n + 1)}
: GeneratedFrom S ⟨n, BoundedFormulaInf.all φ⟩ → GeneratedFrom S ⟨n + 1, φ⟩
The body of a reachable universal quantification is reachable.
- iInf_comp
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{n : ℕ}
{φs : ℕ → L.BoundedFormulaω Empty n}
(k : ℕ)
: GeneratedFrom S ⟨n, BoundedFormulaInf.iInf φs⟩ → GeneratedFrom S ⟨n, φs k⟩
Every conjunct of a reachable countable conjunction is reachable.
- iSup_comp
{L : Language}
{S : Set ((n : ℕ) × L.BoundedFormulaω Empty n)}
{n : ℕ}
{φs : ℕ → L.BoundedFormulaω Empty n}
(k : ℕ)
: GeneratedFrom S ⟨n, BoundedFormulaInf.iSup φs⟩ → GeneratedFrom S ⟨n, φs k⟩
Every disjunct of a reachable countable disjunction is reachable.
Instances For
The fragment generated by a set of formulas: the formulas reachable from it by component steps.
Instances For
Membership in the generated fragment is reachability by component steps.
The generators belong to the generated fragment.
Generation and the underlying set form a Galois connection.
The generated fragment is monotone in its generators.
Countability #
Countability. A countable set of formulas generates a countable fragment, over any language: every member is reached from a generator along a finite list of component steps, each coded by a pair of natural numbers.
The fragments of a sentence and of a theory #
The fragment generated by a sentence.
Instances For
A sentence belongs to the fragment it generates.
The fragment generated by a sentence is countable, over any language.
The fragment of a single sentence, as a set of sentences, is the fragment of the sentence.
Arity slices #
The formulas of A with exactly n bound-variable slots.
Instances For
Inclusion of fragments induces inclusion of each arity slice. The corresponding map on
slice subtypes is Set.inclusion (slice_mono hAB n).