Skip to content

Commit a80159d

Browse files
committed
chore(SetTheory): split Cardinal/Basic.lean (leanprover-community#23014)
This PR splits `SetTheory.Cardinal.Basic` into three files: * `Cardinal/Defs.lean`: definition of `Cardinal`, addition, zero, `א0` * `Cardinal/Order.lean`: definition of pre/linear/wellorder on `Cardinal`, semiring and ordered semiring structures * `Cardinal/Basic.lean`: leftovers, in particular finite/countable/small types and sets In particular, `Defs.lean` defines cardinals without importing any algebra (measured with an `assert_not_exists Monoid`). I would have liked to do more with `Cardinal/Order.lean` such as splitting it into a file focused more on the order and a file focused more on the arithmetic, but unfortunately the two are currently so interwoven that it would not make sense to break them apart. (It would require substantial redoing of proofs.) Even moving the `Preorder Cardinal` instance upstream is hard since it depends on Schröder-Bernstein which imports lots of algebra. It wouldn't actually help the imports much.
1 parent d22bd4f commit a80159d

File tree

11 files changed

+1357
-1238
lines changed

11 files changed

+1357
-1238
lines changed

Mathlib.lean

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5205,13 +5205,15 @@ import Mathlib.SetTheory.Cardinal.Basic
52055205
import Mathlib.SetTheory.Cardinal.Cofinality
52065206
import Mathlib.SetTheory.Cardinal.Continuum
52075207
import Mathlib.SetTheory.Cardinal.CountableCover
5208+
import Mathlib.SetTheory.Cardinal.Defs
52085209
import Mathlib.SetTheory.Cardinal.Divisibility
52095210
import Mathlib.SetTheory.Cardinal.ENat
52105211
import Mathlib.SetTheory.Cardinal.Finite
52115212
import Mathlib.SetTheory.Cardinal.Finsupp
52125213
import Mathlib.SetTheory.Cardinal.Free
52135214
import Mathlib.SetTheory.Cardinal.HasCardinalLT
52145215
import Mathlib.SetTheory.Cardinal.NatCount
5216+
import Mathlib.SetTheory.Cardinal.Order
52155217
import Mathlib.SetTheory.Cardinal.Ordinal
52165218
import Mathlib.SetTheory.Cardinal.Pigeonhole
52175219
import Mathlib.SetTheory.Cardinal.Regular

Mathlib/Algebra/Polynomial/Roots.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Mathlib.Algebra.Polynomial.RingDivision
88
import Mathlib.Data.Set.Finite.Lemmas
99
import Mathlib.RingTheory.Coprime.Lemmas
1010
import Mathlib.RingTheory.Localization.FractionRing
11-
import Mathlib.SetTheory.Cardinal.Basic
11+
import Mathlib.SetTheory.Cardinal.Order
1212

1313
/-!
1414
# Theory of univariate polynomials

Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Mathlib.Algebra.BigOperators.Ring.Finset
77
import Mathlib.Combinatorics.SimpleGraph.Density
88
import Mathlib.Data.Nat.Cast.Order.Field
99
import Mathlib.Order.Partition.Equipartition
10-
import Mathlib.SetTheory.Cardinal.Basic
10+
import Mathlib.SetTheory.Cardinal.Order
1111

1212
/-!
1313
# Graph uniformity and uniform partitions

Mathlib/Data/DFinsupp/WellFounded.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Junyan Xu
55
-/
66
import Mathlib.Data.DFinsupp.Lex
7-
import Mathlib.Order.GameAdd
87
import Mathlib.Order.Antisymmetrization
8+
import Mathlib.Order.GameAdd
9+
import Mathlib.SetTheory.Cardinal.Order
910
import Mathlib.Tactic.AdaptationNote
10-
import Mathlib.SetTheory.Cardinal.Basic
1111

1212
/-!
1313
# Well-foundedness of the lexicographic and product orders on `DFinsupp` and `Pi`

Mathlib/Order/Monotone/MonovaryOrder.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Yaël Dillies
55
-/
66
import Mathlib.Order.Monotone.Monovary
7-
import Mathlib.SetTheory.Cardinal.Basic
7+
import Mathlib.SetTheory.Cardinal.Order
88

99
/-!
1010
# Interpreting monovarying functions as monotone functions

Mathlib/RingTheory/MvPolynomial/Homogeneous.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import Mathlib.Algebra.GradedMonoid
88
import Mathlib.Algebra.MvPolynomial.CommRing
99
import Mathlib.Algebra.MvPolynomial.Equiv
1010
import Mathlib.Algebra.MvPolynomial.Variables
11-
import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous
1211
import Mathlib.Algebra.Polynomial.Roots
12+
import Mathlib.RingTheory.MvPolynomial.WeightedHomogeneous
13+
import Mathlib.SetTheory.Cardinal.Basic
1314

1415
/-!
1516
# Homogeneous polynomials

Mathlib/SetTheory/Cardinal/Arithmetic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Mathlib.SetTheory.Cardinal.Aleph
88
/-!
99
# Cardinal arithmetic
1010
11-
Arithmetic operations on cardinals are defined in `SetTheory/Cardinal/Basic.lean`. However, proving
11+
Arithmetic operations on cardinals are defined in `SetTheory/Cardinal/Order.lean`. However, proving
1212
the important theorem `c * c = c` for infinite cardinals and its corollaries requires the use of
1313
ordinal numbers. This is done within this file.
1414

0 commit comments

Comments
 (0)