@@ -397,6 +397,10 @@ theorem mem_omega : x ∈ omega ↔ ∃ n : ℕ, x = n := by
397397 induction x using Quotient.inductionOn
398398 simp [omega, PSet.mem_omega, Nat.cast, NatCast.natCast, eq]
399399
400+ theorem coe_omega : (omega : Set ZFSet) = Set.range ((↑) : ℕ → ZFSet) := by
401+ ext
402+ simpa [mem_omega] using exists_congr fun _ => Eq.comm
403+
400404@[simp]
401405theorem natCast_mem_omega (n : ℕ) : ↑n ∈ omega := by
402406 simp [mem_omega]
@@ -419,13 +423,12 @@ theorem omega_induction_on {motive : ∀ x ∈ omega, Prop} (hx : x ∈ omega)
419423 rcases mem_omega.1 hx with ⟨n, rfl⟩
420424 induction n with simp [*]
421425
422- theorem omega_subset : ∅ ∈ x → (∀ y ∈ x, insert y y ∈ x) → omega ⊆ x := by
423- intro _ _ _ h
424- induction h using omega_induction_on with simp [*]
425-
426426/-- `omega` is the smallest inductive set. -/
427- theorem isLeast_inductive_omega : IsLeast {x | ∅ ∈ x ∧ ∀ y ∈ x, insert y y ∈ x} omega := by
428- simp +contextual [IsLeast, mem_lowerBounds, omega_subset]
427+ theorem isLeast_inductive_omega : IsLeast {x | ∅ ∈ x ∧ ∀ y ∈ x, insert y y ∈ x} omega :=
428+ ⟨by simp +contextual, by
429+ simp only [mem_lowerBounds, Set.mem_setOf_eq, le_def, and_imp]
430+ intro _ _ _ _ h
431+ induction h using omega_induction_on with simp [*]⟩
429432
430433/-- `{x ∈ a | p x}` is the set of elements in `a` satisfying `p` -/
431434protected def sep (p : ZFSet → Prop ) : ZFSet → ZFSet :=
0 commit comments