Zermelo set theory #
reference: Ralf Schindler, "Set Theory, Exploring Independence and Truth" [Sch14]
Axiom of extentionality #
theorem
LO.FirstOrder.SetTheory.mem_ext
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
:
Alias of the reverse direction of LO.FirstOrder.SetTheory.mem_ext_iff.
theorem
LO.FirstOrder.SetTheory.subset_antisymm
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
(hxy : x ⊆ y)
(hyx : y ⊆ x)
:
theorem
LO.FirstOrder.SetTheory.SSubset.exists_not_mem
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
(hxy : x ⊊ y)
:
∃ z ∈ y, z ∉ x
theorem
LO.FirstOrder.SetTheory.SSubset.of_subset_of_not_mem_of_mem
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y z : V}
(ss : x ⊆ y)
(hzx : z ∉ x)
(hzy : z ∈ y)
:
Axiom of empty set #
theorem
LO.FirstOrder.SetTheory.empty_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
∃ (e : V), IsEmpty e
noncomputable def
LO.FirstOrder.SetTheory.instEmptyCollection
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Equations
- LO.FirstOrder.SetTheory.instEmptyCollection = { emptyCollection := Classical.choose! ⋯ }
Instances For
@[simp]
theorem
LO.FirstOrder.SetTheory.IsEmpty.empty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.not_mem_empty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x : V}
:
x ∉ ∅
@[simp]
theorem
LO.FirstOrder.SetTheory.ne_empty_iff_isNonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x : V}
:
theorem
LO.FirstOrder.SetTheory.eq_empty_or_isNonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.empty_subset
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
Axiom of pairing #
noncomputable def
LO.FirstOrder.SetTheory.doubleton
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
V
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.doubleton.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.doubleton.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
instance
LO.FirstOrder.SetTheory.doubleton_isNonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
IsNonempty (doubleton x y)
noncomputable def
LO.FirstOrder.SetTheory.singleton
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
V
Equations
Instances For
noncomputable def
LO.FirstOrder.SetTheory.instSingleton
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Singleton V V
Equations
Instances For
instance
LO.FirstOrder.SetTheory.singleton.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.singleton.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
instance
LO.FirstOrder.SetTheory.singleton_isNonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
Axiom of union #
theorem
LO.FirstOrder.SetTheory.union_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
noncomputable def
LO.FirstOrder.SetTheory.sUnion
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
V
Equations
- ⋃ˢ x = Classical.choose! ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.sUnion.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.sUnion.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.IsNonempty_sUnion_iff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x : V}
:
theorem
LO.FirstOrder.SetTheory.subset_sUnion_of_mem
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
(h : x ∈ y)
:
Union of two sets #
noncomputable def
LO.FirstOrder.SetTheory.union
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
V
Equations
Instances For
noncomputable def
LO.FirstOrder.SetTheory.instUnion
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Union V
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.union.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.union.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.union_self_eq
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
theorem
LO.FirstOrder.SetTheory.union_comm
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.union_empty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.empty_union
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.IsNonempty_union_iff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
:
@[simp]
theorem
LO.FirstOrder.SetTheory.subset_union_left
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.subset_union_right
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
Insert #
noncomputable def
LO.FirstOrder.SetTheory.insert
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
V
Equations
- LO.FirstOrder.SetTheory.insert x y = {x} ∪ y
Instances For
noncomputable def
LO.FirstOrder.SetTheory.instInsert
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Insert V V
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.insert.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.insert.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.subset_insert
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
@[simp]
instance
LO.FirstOrder.SetTheory.insert_isNonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
IsNonempty (insert x y)
@[simp]
theorem
LO.FirstOrder.SetTheory.insert_eq_self_of_mem
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
(hx : x ∈ y)
:
Axiom of power set #
theorem
LO.FirstOrder.SetTheory.power_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
noncomputable def
LO.FirstOrder.SetTheory.power
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
V
Equations
- ℘ x = Classical.choose! ⋯
Instances For
Equations
- LO.FirstOrder.SetTheory.term℘_ = Lean.ParserDescr.node `LO.FirstOrder.SetTheory.term℘_ 110 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "℘ ") (Lean.ParserDescr.cat `term 110))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.power.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.power.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.empty_mem_power
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.self_mem_power
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
instance
LO.FirstOrder.SetTheory.power_nonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
IsNonempty (℘ x)
Aussonderungsaxiom #
theorem
LO.FirstOrder.SetTheory.separation_exists_eval
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
(φ : Semiformula ℒₛₑₜ V 1)
:
theorem
LO.FirstOrder.SetTheory.separation_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
(P : V → Prop)
(hP : ℒₛₑₜ-predicate P)
:
noncomputable def
LO.FirstOrder.SetTheory.sep
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
(P : V → Prop)
(hP : ℒₛₑₜ-predicate P)
:
V
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.SetTheory.mem_sep_iff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{P : V → Prop}
{hP : ℒₛₑₜ-predicate P}
{z x : V}
:
@[simp]
theorem
LO.FirstOrder.SetTheory.sep_empty_eq
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(P : V → Prop)
(hP : ℒₛₑₜ-predicate P)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.sep_subset
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{P : V → Prop}
{hP : ℒₛₑₜ-predicate P}
{x : V}
:
Set-builder notation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Intersection #
noncomputable def
LO.FirstOrder.SetTheory.sInter
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
V
Equations
- ⋂ˢ x = LO.FirstOrder.SetTheory.sep (⋃ˢ x) (fun (z : V) => ∀ y ∈ x, z ∈ y) ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.SetTheory.mem_sInter_iff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{z x : V}
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.sInter.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.sInter.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.mem_sInter_iff_of_nonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{z x : V}
[hx : IsNonempty x]
:
theorem
LO.FirstOrder.SetTheory.sInter_subset_of_mem_of_nonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
[IsNonempty y]
(h : x ∈ y)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.subset_sInter_iff_of_nonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
[IsNonempty y]
:
Intersection of two sets #
noncomputable def
LO.FirstOrder.SetTheory.inter
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
V
Instances For
noncomputable instance
LO.FirstOrder.SetTheory.instInter
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Inter V
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.inter.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.inter.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.inter_self
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
theorem
LO.FirstOrder.SetTheory.inter_comm
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.sInter_insert
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
[hy : IsNonempty y]
:
Set difference #
noncomputable def
LO.FirstOrder.SetTheory.sdiff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
V
Equations
- LO.FirstOrder.SetTheory.sdiff x y = LO.FirstOrder.SetTheory.sep x (fun (z : V) => z ∉ y) ⋯
Instances For
noncomputable instance
LO.FirstOrder.SetTheory.instSDiff
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
SDiff V
Equations
theorem
LO.FirstOrder.SetTheory.sdiff_def
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x y : V)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.sdiff.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.sdiff.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.sdiff_empty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
theorem
LO.FirstOrder.SetTheory.isNonempty_sdiff_of_ssubset
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
:
x ⊊ y → IsNonempty (y \ x)
Kuratowski's ordered pair #
⟨x, y, z, ...⟩ₖ notation for kpair
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.SetTheory.kpair.π₁
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(z : V)
:
V
Equations
Instances For
noncomputable def
LO.FirstOrder.SetTheory.kpair.π₂
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(z : V)
:
V
Equations
- LO.FirstOrder.SetTheory.kpair.π₂ z = ⋃ˢ LO.FirstOrder.SetTheory.sep (⋃ˢ z) (fun (x : V) => x ∈ ⋂ˢ z → ⋃ˢ z = ⋂ˢ z) ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.kpair.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.kpair.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.kpair.π₁.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.kpair.π₁.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.kpair.π₂.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.kpair.π₂.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Product #
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.prod.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.prod.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
Axiom of infinity #
noncomputable def
LO.FirstOrder.SetTheory.succ
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
V
Equations
Instances For
@[reducible, inline]
Instances For
instance
LO.FirstOrder.SetTheory.succ.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.succ.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.mem_succ_self
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
@[simp]
theorem
LO.FirstOrder.SetTheory.mem_subset_refl
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
def
LO.FirstOrder.SetTheory.IsInductive
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
Equations
- LO.FirstOrder.SetTheory.IsInductive x = (∅ ∈ x ∧ ∀ y ∈ x, LO.FirstOrder.SetTheory.succ y ∈ x)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.SetTheory.IsInductive.defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
instance
LO.FirstOrder.SetTheory.IsInductive.definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
theorem
LO.FirstOrder.SetTheory.IsInductive.zero
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{I : V}
(hI : IsInductive I)
:
theorem
LO.FirstOrder.SetTheory.IsInductive.succ
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{I : V}
(hI : IsInductive I)
{x : V}
(hx : x ∈ I)
:
theorem
LO.FirstOrder.SetTheory.isInductive_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
∃ (I : V), IsInductive I
theorem
LO.FirstOrder.SetTheory.omega_existsUnique
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
noncomputable def
LO.FirstOrder.SetTheory.ω
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
V
Equations
Instances For
theorem
LO.FirstOrder.SetTheory.mem_ω_iff_mem_all_inductive
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x : V}
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.FirstOrder.SetTheory.empty_mem_ω
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
instance
LO.FirstOrder.SetTheory.ω_nonempty
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.ω_isInductive
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
theorem
LO.FirstOrder.SetTheory.IsInductive.ω_subset
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{I : V}
(hI : IsInductive I)
:
noncomputable def
LO.FirstOrder.SetTheory.ofNat
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
ℕ → V
Equations
Instances For
noncomputable def
LO.FirstOrder.SetTheory.instOfNat
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(n : ℕ)
:
OfNat V n
Equations
- LO.FirstOrder.SetTheory.instOfNat n = { ofNat := LO.FirstOrder.SetTheory.ofNat n }
Instances For
noncomputable def
LO.FirstOrder.SetTheory.instNatCast
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
NatCast V
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.SetTheory.cast_zero_def
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.cast_one_def
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.zero_ne_one
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.one_ne_zero
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.zero_mem_one
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.ofNat_mem_ω
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(n : ℕ)
:
@[simp]
@[simp]
@[simp]
theorem
LO.FirstOrder.SetTheory.naturalNumber_induction
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(P : V → Prop)
(hP : ℒₛₑₜ-predicate P)
(zero : P 0)
(succ : ∀ x ∈ ω, P x → P (succ x))
(x : V)
:
Axiom of foundation #
theorem
LO.FirstOrder.SetTheory.foundation
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
[IsNonempty x]
:
∃ y ∈ x, ∀ z ∈ x, z ∉ y
theorem
LO.FirstOrder.SetTheory.foundation'
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
[IsNonempty x]
:
@[simp]
theorem
LO.FirstOrder.SetTheory.mem_irrefl
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
:
x ∉ x
theorem
LO.FirstOrder.SetTheory.ne_of_mem
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
:
theorem
LO.FirstOrder.SetTheory.mem_asymm
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y : V}
:
x ∈ y → y ∉ x
theorem
LO.FirstOrder.SetTheory.mem_asymm₃
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
{x y z : V}
:
@[simp]
theorem
LO.FirstOrder.SetTheory.ne_succ
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V ⊧ₘ* 𝗭]
(x : V)
: