set_theory.zfc.ordinal
⟷
Mathlib.SetTheory.ZFC.Ordinal
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
-/
-import SetTheory.Zfc.Basic
+import SetTheory.ZFC.Basic
#align_import set_theory.zfc.ordinal from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
-/
-import Mathbin.SetTheory.Zfc.Basic
+import SetTheory.Zfc.Basic
#align_import set_theory.zfc.ordinal from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -62,7 +62,7 @@ theorem isTransitive_iff_mem_trans : z.IsTransitive ↔ ∀ {x y : ZFSet}, x ∈
#align Set.is_transitive_iff_mem_trans ZFSet.isTransitive_iff_mem_trans
-/
-alias is_transitive_iff_mem_trans ↔ is_transitive.mem_trans _
+alias ⟨is_transitive.mem_trans, _⟩ := is_transitive_iff_mem_trans
#align Set.is_transitive.mem_trans ZFSet.IsTransitive.mem_trans
#print ZFSet.IsTransitive.inter /-
@@ -115,7 +115,7 @@ theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_sUnion_subset
-/
-alias is_transitive_iff_sUnion_subset ↔ is_transitive.sUnion_subset _
+alias ⟨is_transitive.sUnion_subset, _⟩ := is_transitive_iff_sUnion_subset
#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.sUnion_subset
#print ZFSet.isTransitive_iff_subset_powerset /-
@@ -124,7 +124,7 @@ theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :
#align Set.is_transitive_iff_subset_powerset ZFSet.isTransitive_iff_subset_powerset
-/
-alias is_transitive_iff_subset_powerset ↔ is_transitive.subset_powerset _
+alias ⟨is_transitive.subset_powerset, _⟩ := is_transitive_iff_subset_powerset
#align Set.is_transitive.subset_powerset ZFSet.IsTransitive.subset_powerset
end ZFSet
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
-
-! This file was ported from Lean 3 source module set_theory.zfc.ordinal
-! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.SetTheory.Zfc.Basic
+#align_import set_theory.zfc.ordinal from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
+
/-!
# Von Neumann ordinals
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -70,7 +70,7 @@ alias is_transitive_iff_mem_trans ↔ is_transitive.mem_trans _
#print ZFSet.IsTransitive.inter /-
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
- (x ∩ y).IsTransitive := fun z hz w hw => by rw [mem_inter] at hz⊢;
+ (x ∩ y).IsTransitive := fun z hz w hw => by rw [mem_inter] at hz ⊢;
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
#align Set.is_transitive.inter ZFSet.IsTransitive.inter
-/
@@ -106,7 +106,7 @@ protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive)
#print ZFSet.IsTransitive.powerset /-
protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
- fun y hy z hz => by rw [mem_powerset] at hy⊢; exact h.subset_of_mem (hy hz)
+ fun y hy z hz => by rw [mem_powerset] at hy ⊢; exact h.subset_of_mem (hy hz)
#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -70,9 +70,7 @@ alias is_transitive_iff_mem_trans ↔ is_transitive.mem_trans _
#print ZFSet.IsTransitive.inter /-
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
- (x ∩ y).IsTransitive := fun z hz w hw =>
- by
- rw [mem_inter] at hz⊢
+ (x ∩ y).IsTransitive := fun z hz w hw => by rw [mem_inter] at hz⊢;
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
#align Set.is_transitive.inter ZFSet.IsTransitive.inter
-/
@@ -108,18 +106,15 @@ protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive)
#print ZFSet.IsTransitive.powerset /-
protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
- fun y hy z hz => by
- rw [mem_powerset] at hy⊢
- exact h.subset_of_mem (hy hz)
+ fun y hy z hz => by rw [mem_powerset] at hy⊢; exact h.subset_of_mem (hy hz)
#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
#print ZFSet.isTransitive_iff_sUnion_subset /-
theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
- ⟨fun h y hy => by
- rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩
- exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
+ ⟨fun h y hy => by rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩; exact h.mem_trans hz' hz,
+ fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_sUnion_subset
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -78,21 +78,21 @@ protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive)
-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ZFSet.IsTransitive.unionₛ /-
-protected theorem IsTransitive.unionₛ (h : x.IsTransitive) : (⋃₀ x).IsTransitive := fun y hy z hz =>
+#print ZFSet.IsTransitive.sUnion /-
+protected theorem IsTransitive.sUnion (h : x.IsTransitive) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem hz (h.mem_trans hw' hw)
-#align Set.is_transitive.sUnion ZFSet.IsTransitive.unionₛ
+#align Set.is_transitive.sUnion ZFSet.IsTransitive.sUnion
-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ZFSet.IsTransitive.unionₛ' /-
-theorem IsTransitive.unionₛ' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTransitive := fun y hy z hz =>
+#print ZFSet.IsTransitive.sUnion' /-
+theorem IsTransitive.sUnion' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem ((H w hw).mem_trans hz hw') hw
-#align Set.is_transitive.sUnion' ZFSet.IsTransitive.unionₛ'
+#align Set.is_transitive.sUnion' ZFSet.IsTransitive.sUnion'
-/
#print ZFSet.IsTransitive.union /-
@@ -115,16 +115,16 @@ protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTr
-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print ZFSet.isTransitive_iff_unionₛ_subset /-
-theorem isTransitive_iff_unionₛ_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
+#print ZFSet.isTransitive_iff_sUnion_subset /-
+theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
⟨fun h y hy => by
rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩
- exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_unionₛ_of_mem hz hy⟩
-#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_unionₛ_subset
+ exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
+#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_sUnion_subset
-/
alias is_transitive_iff_sUnion_subset ↔ is_transitive.sUnion_subset _
-#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.unionₛ_subset
+#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.sUnion_subset
#print ZFSet.isTransitive_iff_subset_powerset /-
theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
! This file was ported from Lean 3 source module set_theory.zfc.ordinal
-! leanprover-community/mathlib commit 98bbc3526516bca903bff09ea10c4206bf079e6b
+! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.SetTheory.Zfc.Basic
/-!
# Von Neumann ordinals
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file works towards the development of von Neumann ordinals, i.e. transitive sets, well-ordered
under `∈`. We currently only have an initial development of transitive sets.
mathlib commit https://github.com/leanprover-community/mathlib/commit/e05ead7993520a432bec94ac504842d90707ad63
@@ -37,47 +37,62 @@ variable {x y z : ZFSet.{u}}
namespace ZFSet
+#print ZFSet.IsTransitive /-
/-- A transitive set is one where every element is a subset. -/
def IsTransitive (x : ZFSet) : Prop :=
∀ y ∈ x, y ⊆ x
#align Set.is_transitive ZFSet.IsTransitive
+-/
+#print ZFSet.empty_isTransitive /-
@[simp]
theorem empty_isTransitive : IsTransitive ∅ := fun y hy => (not_mem_empty y hy).elim
#align Set.empty_is_transitive ZFSet.empty_isTransitive
+-/
+#print ZFSet.IsTransitive.subset_of_mem /-
theorem IsTransitive.subset_of_mem (h : x.IsTransitive) : y ∈ x → y ⊆ x :=
h y
#align Set.is_transitive.subset_of_mem ZFSet.IsTransitive.subset_of_mem
+-/
+#print ZFSet.isTransitive_iff_mem_trans /-
theorem isTransitive_iff_mem_trans : z.IsTransitive ↔ ∀ {x y : ZFSet}, x ∈ y → y ∈ z → x ∈ z :=
⟨fun h x y hx hy => h.subset_of_mem hy hx, fun H x hx y hy => H hy hx⟩
#align Set.is_transitive_iff_mem_trans ZFSet.isTransitive_iff_mem_trans
+-/
alias is_transitive_iff_mem_trans ↔ is_transitive.mem_trans _
#align Set.is_transitive.mem_trans ZFSet.IsTransitive.mem_trans
+#print ZFSet.IsTransitive.inter /-
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∩ y).IsTransitive := fun z hz w hw =>
by
rw [mem_inter] at hz⊢
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
#align Set.is_transitive.inter ZFSet.IsTransitive.inter
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ZFSet.IsTransitive.unionₛ /-
protected theorem IsTransitive.unionₛ (h : x.IsTransitive) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem hz (h.mem_trans hw' hw)
#align Set.is_transitive.sUnion ZFSet.IsTransitive.unionₛ
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-theorem IsTransitive.sUnion' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTransitive := fun y hy z hz =>
+#print ZFSet.IsTransitive.unionₛ' /-
+theorem IsTransitive.unionₛ' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem ((H w hw).mem_trans hz hw') hw
-#align Set.is_transitive.sUnion' ZFSet.IsTransitive.sUnion'
+#align Set.is_transitive.sUnion' ZFSet.IsTransitive.unionₛ'
+-/
+#print ZFSet.IsTransitive.union /-
protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∪ y).IsTransitive := by
rw [← sUnion_pair]
@@ -86,26 +101,33 @@ protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive)
rintro (rfl | rfl)
assumption'
#align Set.is_transitive.union ZFSet.IsTransitive.union
+-/
+#print ZFSet.IsTransitive.powerset /-
protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
fun y hy z hz => by
rw [mem_powerset] at hy⊢
exact h.subset_of_mem (hy hz)
#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
+-/
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print ZFSet.isTransitive_iff_unionₛ_subset /-
theorem isTransitive_iff_unionₛ_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
⟨fun h y hy => by
rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩
exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_unionₛ_of_mem hz hy⟩
#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_unionₛ_subset
+-/
alias is_transitive_iff_sUnion_subset ↔ is_transitive.sUnion_subset _
#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.unionₛ_subset
+#print ZFSet.isTransitive_iff_subset_powerset /-
theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :=
⟨fun h y hy => mem_powerset.2 <| h.subset_of_mem hy, fun H y hy z hz => mem_powerset.1 (H hy) hz⟩
#align Set.is_transitive_iff_subset_powerset ZFSet.isTransitive_iff_subset_powerset
+-/
alias is_transitive_iff_subset_powerset ↔ is_transitive.subset_powerset _
#align Set.is_transitive.subset_powerset ZFSet.IsTransitive.subset_powerset
mathlib commit https://github.com/leanprover-community/mathlib/commit/06a655b5fcfbda03502f9158bbf6c0f1400886f9
@@ -33,50 +33,50 @@ Further development can be found on the branch `von_neumann_v2`.
universe u
-variable {x y z : SetCat.{u}}
+variable {x y z : ZFSet.{u}}
-namespace SetCat
+namespace ZFSet
/-- A transitive set is one where every element is a subset. -/
-def IsTransitive (x : SetCat) : Prop :=
+def IsTransitive (x : ZFSet) : Prop :=
∀ y ∈ x, y ⊆ x
-#align Set.is_transitive SetCat.IsTransitive
+#align Set.is_transitive ZFSet.IsTransitive
@[simp]
theorem empty_isTransitive : IsTransitive ∅ := fun y hy => (not_mem_empty y hy).elim
-#align Set.empty_is_transitive SetCat.empty_isTransitive
+#align Set.empty_is_transitive ZFSet.empty_isTransitive
theorem IsTransitive.subset_of_mem (h : x.IsTransitive) : y ∈ x → y ⊆ x :=
h y
-#align Set.is_transitive.subset_of_mem SetCat.IsTransitive.subset_of_mem
+#align Set.is_transitive.subset_of_mem ZFSet.IsTransitive.subset_of_mem
-theorem isTransitive_iff_mem_trans : z.IsTransitive ↔ ∀ {x y : SetCat}, x ∈ y → y ∈ z → x ∈ z :=
+theorem isTransitive_iff_mem_trans : z.IsTransitive ↔ ∀ {x y : ZFSet}, x ∈ y → y ∈ z → x ∈ z :=
⟨fun h x y hx hy => h.subset_of_mem hy hx, fun H x hx y hy => H hy hx⟩
-#align Set.is_transitive_iff_mem_trans SetCat.isTransitive_iff_mem_trans
+#align Set.is_transitive_iff_mem_trans ZFSet.isTransitive_iff_mem_trans
alias is_transitive_iff_mem_trans ↔ is_transitive.mem_trans _
-#align Set.is_transitive.mem_trans SetCat.IsTransitive.mem_trans
+#align Set.is_transitive.mem_trans ZFSet.IsTransitive.mem_trans
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∩ y).IsTransitive := fun z hz w hw =>
by
rw [mem_inter] at hz⊢
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
-#align Set.is_transitive.inter SetCat.IsTransitive.inter
+#align Set.is_transitive.inter ZFSet.IsTransitive.inter
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-protected theorem IsTransitive.sUnion (h : x.IsTransitive) : (⋃₀ x).IsTransitive := fun y hy z hz =>
+protected theorem IsTransitive.unionₛ (h : x.IsTransitive) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem hz (h.mem_trans hw' hw)
-#align Set.is_transitive.sUnion SetCat.IsTransitive.sUnion
+#align Set.is_transitive.sUnion ZFSet.IsTransitive.unionₛ
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
theorem IsTransitive.sUnion' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTransitive := fun y hy z hz =>
by
rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
exact mem_sUnion_of_mem ((H w hw).mem_trans hz hw') hw
-#align Set.is_transitive.sUnion' SetCat.IsTransitive.sUnion'
+#align Set.is_transitive.sUnion' ZFSet.IsTransitive.sUnion'
protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∪ y).IsTransitive := by
@@ -85,30 +85,30 @@ protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive)
rw [mem_pair]
rintro (rfl | rfl)
assumption'
-#align Set.is_transitive.union SetCat.IsTransitive.union
+#align Set.is_transitive.union ZFSet.IsTransitive.union
protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
fun y hy z hz => by
rw [mem_powerset] at hy⊢
exact h.subset_of_mem (hy hz)
-#align Set.is_transitive.powerset SetCat.IsTransitive.powerset
+#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
+theorem isTransitive_iff_unionₛ_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
⟨fun h y hy => by
rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩
- exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
-#align Set.is_transitive_iff_sUnion_subset SetCat.isTransitive_iff_sUnion_subset
+ exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_unionₛ_of_mem hz hy⟩
+#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_unionₛ_subset
alias is_transitive_iff_sUnion_subset ↔ is_transitive.sUnion_subset _
-#align Set.is_transitive.sUnion_subset SetCat.IsTransitive.sUnion_subset
+#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.unionₛ_subset
theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :=
⟨fun h y hy => mem_powerset.2 <| h.subset_of_mem hy, fun H y hy z hz => mem_powerset.1 (H hy) hz⟩
-#align Set.is_transitive_iff_subset_powerset SetCat.isTransitive_iff_subset_powerset
+#align Set.is_transitive_iff_subset_powerset ZFSet.isTransitive_iff_subset_powerset
alias is_transitive_iff_subset_powerset ↔ is_transitive.subset_powerset _
-#align Set.is_transitive.subset_powerset SetCat.IsTransitive.subset_powerset
+#align Set.is_transitive.subset_powerset ZFSet.IsTransitive.subset_powerset
-end SetCat
+end ZFSet
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
! This file was ported from Lean 3 source module set_theory.zfc.ordinal
-! leanprover-community/mathlib commit 7a1cc03e365059994e64dc313bb023427bcfb50d
+! leanprover-community/mathlib commit 98bbc3526516bca903bff09ea10c4206bf079e6b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -78,6 +78,21 @@ theorem IsTransitive.sUnion' (H : ∀ y ∈ x, IsTransitive y) : (⋃₀ x).IsTr
exact mem_sUnion_of_mem ((H w hw).mem_trans hz hw') hw
#align Set.is_transitive.sUnion' SetCat.IsTransitive.sUnion'
+protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive) :
+ (x ∪ y).IsTransitive := by
+ rw [← sUnion_pair]
+ apply is_transitive.sUnion' fun z => _
+ rw [mem_pair]
+ rintro (rfl | rfl)
+ assumption'
+#align Set.is_transitive.union SetCat.IsTransitive.union
+
+protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
+ fun y hy z hz => by
+ rw [mem_powerset] at hy⊢
+ exact h.subset_of_mem (hy hz)
+#align Set.is_transitive.powerset SetCat.IsTransitive.powerset
+
/- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ ⋃₀ x ⊆ x :=
⟨fun h y hy => by
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -53,7 +53,7 @@ theorem isTransitive_iff_mem_trans : z.IsTransitive ↔ ∀ {x y : ZFSet}, x ∈
⟨fun h _ _ hx hy => h.subset_of_mem hy hx, fun H _ hx _ hy => H hy hx⟩
#align Set.is_transitive_iff_mem_trans ZFSet.isTransitive_iff_mem_trans
-alias isTransitive_iff_mem_trans ↔ IsTransitive.mem_trans _
+alias ⟨IsTransitive.mem_trans, _⟩ := isTransitive_iff_mem_trans
#align Set.is_transitive.mem_trans ZFSet.IsTransitive.mem_trans
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
@@ -96,14 +96,14 @@ theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ (⋃₀ x : ZFSet)
exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_sUnion_subset
-alias isTransitive_iff_sUnion_subset ↔ IsTransitive.sUnion_subset _
+alias ⟨IsTransitive.sUnion_subset, _⟩ := isTransitive_iff_sUnion_subset
#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.sUnion_subset
theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :=
⟨fun h _ hy => mem_powerset.2 <| h.subset_of_mem hy, fun H _ hy _ hz => mem_powerset.1 (H hy) hz⟩
#align Set.is_transitive_iff_subset_powerset ZFSet.isTransitive_iff_subset_powerset
-alias isTransitive_iff_subset_powerset ↔ IsTransitive.subset_powerset _
+alias ⟨IsTransitive.subset_powerset, _⟩ := isTransitive_iff_subset_powerset
#align Set.is_transitive.subset_powerset ZFSet.IsTransitive.subset_powerset
end ZFSet
@@ -2,14 +2,11 @@
Copyright (c) 2022 Violeta Hernández Palacios. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Violeta Hernández Palacios
-
-! This file was ported from Lean 3 source module set_theory.zfc.ordinal
-! leanprover-community/mathlib commit 98bbc3526516bca903bff09ea10c4206bf079e6b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.SetTheory.ZFC.Basic
+#align_import set_theory.zfc.ordinal from "leanprover-community/mathlib"@"98bbc3526516bca903bff09ea10c4206bf079e6b"
+
/-!
# Von Neumann ordinals
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -61,7 +61,7 @@ alias isTransitive_iff_mem_trans ↔ IsTransitive.mem_trans _
protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∩ y).IsTransitive := fun z hz w hw => by
- rw [mem_inter] at hz⊢
+ rw [mem_inter] at hz ⊢
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
#align Set.is_transitive.inter ZFSet.IsTransitive.inter
@@ -89,7 +89,7 @@ protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive)
protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTransitive :=
fun y hy z hz => by
- rw [mem_powerset] at hy⊢
+ rw [mem_powerset] at hy ⊢
exact h.subset_of_mem (hy hz)
#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -65,22 +65,22 @@ protected theorem IsTransitive.inter (hx : x.IsTransitive) (hy : y.IsTransitive)
exact ⟨hx.mem_trans hw hz.1, hy.mem_trans hw hz.2⟩
#align Set.is_transitive.inter ZFSet.IsTransitive.inter
-protected theorem IsTransitive.unionₛ (h : x.IsTransitive) :
+protected theorem IsTransitive.sUnion (h : x.IsTransitive) :
(⋃₀ x : ZFSet).IsTransitive := fun y hy z hz => by
- rcases mem_unionₛ.1 hy with ⟨w, hw, hw'⟩
- exact mem_unionₛ_of_mem hz (h.mem_trans hw' hw)
-#align Set.is_transitive.sUnion ZFSet.IsTransitive.unionₛ
+ rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
+ exact mem_sUnion_of_mem hz (h.mem_trans hw' hw)
+#align Set.is_transitive.sUnion ZFSet.IsTransitive.sUnion
-theorem IsTransitive.unionₛ' (H : ∀ y ∈ x, IsTransitive y) :
+theorem IsTransitive.sUnion' (H : ∀ y ∈ x, IsTransitive y) :
(⋃₀ x : ZFSet).IsTransitive := fun y hy z hz => by
- rcases mem_unionₛ.1 hy with ⟨w, hw, hw'⟩
- exact mem_unionₛ_of_mem ((H w hw).mem_trans hz hw') hw
-#align Set.is_transitive.sUnion' ZFSet.IsTransitive.unionₛ'
+ rcases mem_sUnion.1 hy with ⟨w, hw, hw'⟩
+ exact mem_sUnion_of_mem ((H w hw).mem_trans hz hw') hw
+#align Set.is_transitive.sUnion' ZFSet.IsTransitive.sUnion'
protected theorem IsTransitive.union (hx : x.IsTransitive) (hy : y.IsTransitive) :
(x ∪ y).IsTransitive := by
- rw [← unionₛ_pair]
- apply IsTransitive.unionₛ' fun z => _
+ rw [← sUnion_pair]
+ apply IsTransitive.sUnion' fun z => _
intro
rw [mem_pair]
rintro (rfl | rfl)
@@ -93,14 +93,14 @@ protected theorem IsTransitive.powerset (h : x.IsTransitive) : (powerset x).IsTr
exact h.subset_of_mem (hy hz)
#align Set.is_transitive.powerset ZFSet.IsTransitive.powerset
-theorem isTransitive_iff_unionₛ_subset : x.IsTransitive ↔ (⋃₀ x : ZFSet) ⊆ x :=
+theorem isTransitive_iff_sUnion_subset : x.IsTransitive ↔ (⋃₀ x : ZFSet) ⊆ x :=
⟨fun h y hy => by
- rcases mem_unionₛ.1 hy with ⟨z, hz, hz'⟩
- exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_unionₛ_of_mem hz hy⟩
-#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_unionₛ_subset
+ rcases mem_sUnion.1 hy with ⟨z, hz, hz'⟩
+ exact h.mem_trans hz' hz, fun H y hy z hz => H <| mem_sUnion_of_mem hz hy⟩
+#align Set.is_transitive_iff_sUnion_subset ZFSet.isTransitive_iff_sUnion_subset
-alias isTransitive_iff_unionₛ_subset ↔ IsTransitive.unionₛ_subset _
-#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.unionₛ_subset
+alias isTransitive_iff_sUnion_subset ↔ IsTransitive.sUnion_subset _
+#align Set.is_transitive.sUnion_subset ZFSet.IsTransitive.sUnion_subset
theorem isTransitive_iff_subset_powerset : x.IsTransitive ↔ x ⊆ powerset x :=
⟨fun h _ hy => mem_powerset.2 <| h.subset_of_mem hy, fun H _ hy _ hz => mem_powerset.1 (H hy) hz⟩
All dependencies are ported!