Functions and relations on ZF sets #
This file develops binary relations, partial and total functions, composition, identity,
injectivity/surjectivity/bijectivity, permutations, lambda abstraction and function application
on the encoded ZFSet universe, together with order-theoretic notions on subsets.
Inverse of a (binary) relation. A proof that R is a relation is needed and tried to be
automatically inferred.
Equations
Instances For
Equations
- ZFSet.«term_⁻¹» = Lean.ParserDescr.trailingNode `ZFSet.«term_⁻¹» 1024 1024 (Lean.ParserDescr.symbol "⁻¹")
Instances For
Domain of a (binary) relation. A proof that f is a relation is needed and tried to be
automatically inferred.
Instances For
Instances For
IsPFunc f A B is the assertion that f is a partial function from A to B,
i.e. that if pair x y ∈ f and pair x z ∈ f then y = z.
Equations
Instances For
Equations
Instances For
Equations
- f.IsSurjective hf = ∀ y ∈ B, ∃ x ∈ A, x.pair y ∈ f
Instances For
Equations
- f.IsBijective hf = (f.IsInjective hf ∧ f.IsSurjective hf)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- ZFSet.«term𝟙_» = Lean.ParserDescr.node `ZFSet.«term𝟙_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "𝟙") (Lean.ParserDescr.cat `term 1024))
Instances For
Equations
- σ.IsPermutation E = ∃ (hσ : E.IsFunc E σ), σ.IsBijective hσ
Instances For
Equations
- E.permutations = ZFSet.sep (fun (f : ZFSet.{?u.1}) => f.IsPermutation E) (E.funs E)
Instances For
If f : A → B and g : B → C are functions, then composition g f is the function
from A to C defined by composition g f (x, z) = (x, y) where y is such that
(x, y) ∈ f and (y, z) ∈ g.
Equations
- g.composition f A B C = ZFSet.sep (fun (xz : ZFSet.{?u.1}) => ∃ (x : ZFSet.{?u.1}) (z : ZFSet.{?u.1}), xz = x.pair z ∧ ∃ y ∈ B, x.pair y ∈ f ∧ y.pair z ∈ g) (A.prod C)
Instances For
Equations
- (g ∘ᶻ f) hg hf = g.composition f A B C
Instances For
Equations
- ZFSet.«term_∘ᶻ_» = Lean.ParserDescr.trailingNode `ZFSet.«term_∘ᶻ_» 90 90 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∘ᶻ ") (Lean.ParserDescr.cat `term 91))
Instances For
Instances For
Equations
- ZFSet.«term@ᶻ_» = Lean.ParserDescr.node `ZFSet.«term@ᶻ_» 1024 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "@ᶻ") (Lean.ParserDescr.cat `term 1024))
Instances For
Seed lemmas for the zdom tactic #
is_func_dom_eq is an equation, so solve_by_elim — which only ever applys a lemma's
conclusion — cannot use it. The following elimination-shaped lemmas are its membership
counterparts, and are what makes zdom able to close the side conditions of @ᶻ.
Membership form of is_func_dom_eq: the domain of a function IsFunc A B f contains every
element of A.
Converse of mem_dom_of_mem: the domain of a partial function is contained in its source.
A zdom_conv seed rather than a zdom one: in the main search it would let solve_by_elim
loop between x ∈ A and x ∈ f.Dom (see ZFLean/Tactics.lean).
Introduction form of pair_mem_prod.
Introduction form of mem_funs.
Introduction form of mem_powerset.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- ZFSet.identZBinder = Lean.ParserDescr.node `ZFSet.identZBinder 1022 (Lean.ParserDescr.parser `Lean.Parser.Term.ident)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ZFSet.funZBinder = Lean.Parser.categoryParser `funz_binder 0
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inverse of an injection is a function.
The inverse of a bijection is a function.
The inverse of a bijection is a bijection.
The image of a set under a relation.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A set is finite if it is equinumerous to a (ZF) natural number, i.e. if there is a bijection between the set and a natural number.
Equations
- x.IsFinite = ∃ (n : ZFSet.{?u.1}) (f : ZFSet.{?u.1}) (_ : n ∈ ZFSet.Nat) (hf : f ∈ x.funs n), f.IsInjective ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ZFSet.LinearOrder.ofSubset S_T = LinearOrder.lift' (fun (x : ↥S) => match x with | ⟨x, hx⟩ => ⟨x, ⋯⟩) ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.