Skip to content

Commit 7ce82ed

Browse files
committed
feat(SetTheory/ZFC/Basic): generalize universes of range (#17016)
1 parent 161b962 commit 7ce82ed

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Mathlib/SetTheory/ZFC/Basic.lean

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,25 +1209,24 @@ theorem toSet_image (f : ZFSet → ZFSet) [Definable₁ f] (x : ZFSet) :
12091209
ext
12101210
simp
12111211

1212-
/-- The range of an indexed family of sets. The universes allow for a more general index type
1213-
without manual use of `ULift`. -/
1214-
noncomputable def range {α : Type u} (f : α → ZFSet.{max u v}) : ZFSet.{max u v} :=
1215-
⟦⟨ULift.{v} α, Quotient.out ∘ f ∘ ULift.down⟩⟧
1212+
/-- The range of a type-indexed family of sets. -/
1213+
noncomputable def range {α} [Small.{u} α] (f : α → ZFSet.{u}) : ZFSet.{u} :=
1214+
⟦⟨_, Quotient.out ∘ f ∘ (equivShrink α).symm⟩⟧
12161215

12171216
@[simp]
1218-
theorem mem_range : Type u} {f : α → ZFSet.{max u v}} {x : ZFSet.{max u v}} :
1219-
x ∈ range.{u, v} f ↔ x ∈ Set.range f :=
1217+
theorem mem_range} [Small.{u} α] {f : α → ZFSet.{u}} {x : ZFSet.{u}} :
1218+
x ∈ range f ↔ x ∈ Set.range f :=
12201219
Quotient.inductionOn x fun y => by
12211220
constructor
12221221
· rintro ⟨z, hz⟩
1223-
exact ⟨z.down, Quotient.eq_mk_iff_out.2 hz.symm⟩
1222+
exact ⟨(equivShrink α).symm z, Quotient.eq_mk_iff_out.2 hz.symm⟩
12241223
· rintro ⟨z, hz⟩
1225-
use ULift.up z
1224+
use equivShrink α z
12261225
simpa [hz] using PSet.Equiv.symm (Quotient.mk_out y)
12271226

12281227
@[simp]
1229-
theorem toSet_range : Type u} (f : α → ZFSet.{max u v}) :
1230-
(range.{u, v} f).toSet = Set.range f := by
1228+
theorem toSet_range} [Small.{u} α] (f : α → ZFSet.{u}) :
1229+
(range f).toSet = Set.range f := by
12311230
ext
12321231
simp
12331232

Mathlib/SetTheory/ZFC/Rank.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Copyright (c) 2024 Dexin Zhang. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Dexin Zhang
55
-/
6+
import Mathlib.Logic.UnivLE
67
import Mathlib.SetTheory.Ordinal.Rank
78
import Mathlib.SetTheory.ZFC.Basic
89

@@ -194,7 +195,7 @@ theorem le_succ_rank_sUnion (x : ZFSet) : rank x ≤ succ (rank (⋃₀ x)) := b
194195
exists z
195196

196197
@[simp]
197-
theorem rank_range {α : Type u} (f : α → ZFSet.{max u v}) :
198+
theorem rank_range {α : Type*} [Small.{u} α] (f : α → ZFSet.{u}) :
198199
rank (range f) = ⨆ i, succ (rank (f i)) := by
199200
apply (Ordinal.iSup_le _).antisymm'
200201
· simpa [rank_le_iff, ← succ_le_iff] using Ordinal.le_iSup _

0 commit comments

Comments
 (0)