A model of ZFC #
In this file, we model Zermelo-Fraenkel set theory (+ choice) using Lean's underlying type theory,
building on the pre-sets defined in Mathlib/SetTheory/ZFC/PSet.lean.
The theory of classes is developed in Mathlib/SetTheory/ZFC/Class.lean.
Main definitions #
ZFSet: ZFC set. Defined asPSetquotiented byPSet.Equiv, the extensional equivalence.ZFSet.choice: Axiom of choice. Proved from Lean's axiom of choice.ZFSet.omega: The von Neumann ordinalωas aSet.Classical.allZFSetDefinable: All functions are classically definable.ZFSet.IsFunc: Predicate that a ZFC set is a subset ofx × ythat can be considered as a ZFC functionx → y. That is, each member ofxis related by the ZFC set to exactly one member ofy.ZFSet.funs: ZFC set of ZFC functionsx → y.ZFSet.Hereditarily p x: Predicate that every set in the transitive closure ofxhas propertyp.
Notes #
To avoid confusion between the Lean Set and the ZFC Set, docstrings in this file refer to them
respectively as "Set" and "ZFC set".
The ZFC universe of sets consists of the type of pre-sets, quotiented by extensional equivalence.
Equations
Instances For
Turns a pre-set into a ZFC set.
Equations
Instances For
A set function is "definable" if it is the image of some n-ary PSet
function. This isn't exactly definability, but is useful as a sufficient
condition for functions that have a computable image.
Turns a definable function into an n-ary
PSetfunction.A set function
fis the image ofDefinable.out f.
Instances
Turns a unary definable function into a unary PSet function.
Equations
Instances For
Turns a binary definable function into a binary PSet function.
Equations
Instances For
Equations
Equations
Equations
All functions are classically definable.
Equations
Instances For
The membership relation for ZFC sets is inherited from the membership relation for pre-sets.
Equations
Instances For
Convert a ZFC set into a Set of ZFC sets
Equations
Instances For
Alias of ZFSet.small_coe.
A nonempty set is one that contains some element.
Equations
Instances For
Alias of ZFSet.nonempty_coe.
x ⊆ y as ZFC sets means that all members of x are members of y.
Equations
Instances For
Alias of ZFSet.coe_subset_coe.
Alias of ZFSet.coe_empty.
Alias of ZFSet.coe_insert.
Alias of ZFSet.coe_singleton.
{x ∈ a | p x} is the set of elements in a satisfying p
Equations
Instances For
Alias of ZFSet.coe_sep.
The powerset operation, the collection of subsets of a ZFC set
Equations
Instances For
The union operator, the collection of elements of elements of a ZFC set. Uses ⋃₀ notation,
scoped under the ZFSet namespace.
Equations
Instances For
The union operator, the collection of elements of elements of a ZFC set. Uses ⋃₀ notation,
scoped under the ZFSet namespace.
Equations
Instances For
The intersection operator, the collection of elements in all of the elements of a ZFC set. We
define ⋂₀ ∅ = ∅. Uses ⋂₀ notation, scoped under the ZFSet namespace.
Equations
Instances For
The intersection operator, the collection of elements in all of the elements of a ZFC set. We
define ⋂₀ ∅ = ∅. Uses ⋂₀ notation, scoped under the ZFSet namespace.
Equations
Instances For
Alias of ZFSet.coe_sUnion.
Alias of ZFSet.coe_sInter.
The binary union operation
Equations
Instances For
The binary intersection operation
Equations
Instances For
The set difference operation
Equations
Instances For
Alias of ZFSet.mem_sdiff.
Alias of ZFSet.coe_union.
Alias of ZFSet.coe_inter.
Alias of ZFSet.coe_sdiff.
Induction on the ∈ relation.
The image of a (definable) ZFC set function
Equations
Instances For
Alias of ZFSet.coe_image.
The range of a type-indexed family of sets.
Equations
Instances For
Alias of ZFSet.coe_range.
Indexed union of a family of ZFC sets. Uses ⋃ notation, scoped under the ZFSet namespace.
Equations
Instances For
Indexed union of a family of ZFC sets. Uses ⋃ notation, scoped under the ZFSet namespace.
Equations
Instances For
Alias of ZFSet.coe_iUnion.
Kuratowski ordered pair
Equations
Instances For
Alias of ZFSet.coe_pair.
A subset of pairs {(a, b) ∈ x × y | p a b}
Equations
Instances For
The Cartesian product, {(a, b) | a ∈ x, b ∈ y}
Equations
Instances For
isFunc x y f is the assertion that f is a subset of x × y which relates to each element
of x a unique element of y, so that we can consider f as a ZFC function x → y.
Equations
Instances For
Equations
Given a predicate p on ZFC sets. Hereditarily p x means that x has property p and the
members of x are all Hereditarily p.
Equations
Instances For
Alias of the forward direction of ZFSet.hereditarily_iff.