Sets: Basic #
The type of sets over a type α, represented by membership predicates.
A set of elements of α is a function α → Prop. No finiteness,
enumeration, or decidable membership is assumed.
This module provides the type, construction from a predicate, membership, the subset and strict subset relations, and extensionality. It depends only on Lean core.
Inspired by Mathlib's Set. This is an independent, unofficial library.
A set of elements of α, represented by its membership predicate.
Equations
- MathlibMini.Set α = (α → Prop)
Instances For
The set of exactly those elements that satisfy a predicate.
Equations
- MathlibMini.Set.ofPredicate predicate = predicate
Instances For
@[instance_reducible]
Equations
- MathlibMini.Set.instMembership = { mem := fun (set : MathlibMini.Set α) (element : α) => set element }
@[instance_reducible]
Equations
- MathlibMini.Set.instHasSubset = { Subset := fun (left right : MathlibMini.Set α) => ∀ ⦃element : α⦄, element ∈ left → element ∈ right }
@[instance_reducible]
Equations
- MathlibMini.Set.instHasSSubset = { SSubset := fun (left right : MathlibMini.Set α) => left ⊆ right ∧ ¬right ⊆ left }
@[simp]
An element is a member of ofPredicate predicate exactly when it
satisfies predicate.
Every set is a subset of itself.