Documentation

Analysis.Section_3_epilogue

Analysis I, Chapter 3 epilogue: Connections with ZFSet #

In this epilogue we show that the ZFSet type in Mathlib (derived as a quotient from the PSet type) can be used to create models of the `SetTheory' class studied in this chapter, so long as we work in a universe of level at least 1. The constructions here are due to Edward van de Meent; see https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Can.20this.20proof.20related.20to.20Set.20replacement.20be.20shorter.3F/near/527305173

theorem PSet.ofNat_mem_ofNat_of_lt (m n : ) :
n < mofNat n ofNat m

A preliminary lemma about PSet: their natural numbers are ordered by membership.

theorem PSet.mem_ofNat_iff (n m : ) :
ofNat n ofNat m n < m
theorem PSet.eq_of_ofNat_equiv_ofNat (n m : ) :
(ofNat n).Equiv (ofNat m)n = m

Another preliminary lemma: Natural numbers in PSet can only be equivalent if they are equal.

noncomputable def ZFSet.nat_equiv :

Using the above lemmas, we can create a bijection between ZFSet.omega and the natural numbers.

Equations
Instances For

    Show that ZFSet obeys the Chapter3.SetTheory axioms. Most of these axioms were essentially already established in Mathlib and are relatively routine to transfer over; the equivalence of ZF.omega and Nat being the trickiest one in content (and the power set axiom also requiring some technical manipulation).

    Equations
    • One or more equations did not get rendered due to their size.