Countability Predicates for L∞ω Formulas #
This file defines predicates characterizing when an L∞ω formula belongs to specific cardinality-bounded fragments.
Main Definitions #
BoundedFormulaInf.IsCountable: A formula is countable if all index types in iSup/iInf constructors are countable. This characterizes membership in Lω₁ω.BoundedFormulaInf.IsKappa: A formula has cardinality < κ if all index types have cardinality < κ. This characterizes membership in Lκω.
A formula is countable if all index types in iSup/iInf constructors are countable. This characterizes membership in Lω₁ω.
- falsum {L : Language} {α : Type u'} {n : ℕ} : BoundedFormulaInf.falsum.IsCountable
- equal {L : Language} {α : Type u'} {n : ℕ} (t₁ t₂ : L.Term (α ⊕ Fin n)) : (BoundedFormulaInf.equal t₁ t₂).IsCountable
- rel {L : Language} {α : Type u'} {n l : ℕ} (R : L.Relations l) (ts : Fin l → L.Term (α ⊕ Fin n)) : (BoundedFormulaInf.rel R ts).IsCountable
- imp {L : Language} {α : Type u'} {n : ℕ} {φ ψ : L.BoundedFormulaInf α n} : φ.IsCountable → ψ.IsCountable → (φ.imp ψ).IsCountable
- all {L : Language} {α : Type u'} {n : ℕ} {φ : L.BoundedFormulaInf α (n + 1)} : φ.IsCountable → φ.all.IsCountable
- iSup {L : Language} {α : Type u'} {n : ℕ} {ι : Type} [Countable ι] {φs : ι → L.BoundedFormulaInf α n} : (∀ (i : ι), (φs i).IsCountable) → (BoundedFormulaInf.iSup φs).IsCountable
- iInf {L : Language} {α : Type u'} {n : ℕ} {ι : Type} [Countable ι] {φs : ι → L.BoundedFormulaInf α n} : (∀ (i : ι), (φs i).IsCountable) → (BoundedFormulaInf.iInf φs).IsCountable
Instances For
A formula has all index types with cardinality < κ. This characterizes membership in Lκω.
- falsum {L : Language} {α : Type u'} {κ : Cardinal.{0}} {x✝ : ℕ} : IsKappa κ BoundedFormulaInf.falsum
- equal {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n : ℕ} (t₁ t₂ : L.Term (α ⊕ Fin n)) : IsKappa κ (BoundedFormulaInf.equal t₁ t₂)
- rel {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n l : ℕ} (R : L.Relations l) (ts : Fin l → L.Term (α ⊕ Fin n)) : IsKappa κ (BoundedFormulaInf.rel R ts)
- imp {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n : ℕ} {φ ψ : L.BoundedFormulaInf α n} : IsKappa κ φ → IsKappa κ ψ → IsKappa κ (φ.imp ψ)
- all {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n : ℕ} {φ : L.BoundedFormulaInf α (n + 1)} : IsKappa κ φ → IsKappa κ φ.all
- iSup {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n : ℕ} {ι : Type} {φs : ι → L.BoundedFormulaInf α n} : Cardinal.mk ι < κ → (∀ (i : ι), IsKappa κ (φs i)) → IsKappa κ (BoundedFormulaInf.iSup φs)
- iInf {L : Language} {α : Type u'} {κ : Cardinal.{0}} {n : ℕ} {ι : Type} {φs : ι → L.BoundedFormulaInf α n} : Cardinal.mk ι < κ → (∀ (i : ι), IsKappa κ (φs i)) → IsKappa κ (BoundedFormulaInf.iInf φs)
Instances For
IsKappa is monotonic in κ.
Countable types have cardinality < ℵ₁.
Types with cardinality < ℵ₁ are countable.
IsCountable implies IsKappa ℵ₁.
IsKappa ℵ₁ implies IsCountable.
IsCountable is equivalent to IsKappa ℵ₁.
The supremum of cardinalities of all index types appearing in iSup/iInf constructors. This bounds the "size" of the formula's infinitary structure.
Equations
- FirstOrder.Language.BoundedFormulaInf.falsum.indexBound = 0
- (FirstOrder.Language.BoundedFormulaInf.equal t₁ t₂).indexBound = 0
- (FirstOrder.Language.BoundedFormulaInf.rel R ts).indexBound = 0
- (φ.imp ψ).indexBound = max φ.indexBound ψ.indexBound
- φ.all.indexBound = φ.indexBound
- (FirstOrder.Language.BoundedFormulaInf.iSup φs).indexBound = max (Cardinal.mk ι) (⨆ (i : ι), (φs i).indexBound)
- (FirstOrder.Language.BoundedFormulaInf.iInf φs).indexBound = max (Cardinal.mk ι) (⨆ (i : ι), (φs i).indexBound)
Instances For
Every formula belongs to L_(indexBound φ + 1)ω.
Every L∞ω formula belongs to some Lκω. This establishes L∞ω as the union of all Lκω.