/-- No set is a member of itself.
Hint: assume `hx : x ∈ x` and apply `Lumenary.Zfc.foundation` to the set `{x}`
(you must first show `({x} : ZFSet) ≠ ∅`). Useful lemmas: `ZFSet.mem_singleton`,
`ZFSet.mem_inter`, `ZFSet.notMem_empty`. -/
theorem not_mem_self (x : ZFSet.{u}) : x ∉ x := by
sorryShow the compiled solution
/-- **No set is a member of itself.** If `x ∈ x`, apply Foundation to `{x}`: its only element
`x` must be disjoint from `{x}`, but `x ∈ {x} ∩ x`. (Mathlib: `ZFSet.mem_irrefl`.) -/
theorem not_mem_self (x : ZFSet.{u}) : x ∉ x := by
intro hx
have hne : ({x} : ZFSet.{u}) ≠ ∅ := fun h =>
ZFSet.notMem_empty x (h ▸ ZFSet.mem_singleton.mpr rfl)
obtain ⟨y, hy, hdisj⟩ := foundation {x} hne
rw [ZFSet.mem_singleton.mp hy] at hdisj
have hin : x ∈ ({x} : ZFSet.{u}) ∩ x := ZFSet.mem_inter.mpr ⟨ZFSet.mem_singleton.mpr rfl, hx⟩
rw [hdisj] at hin
exact ZFSet.notMem_empty x hinAxioms used: propext, Classical.choice, Quot.soundformal/Lumenary/Zfc.leanTry it in the Lean web editor