Kernel monotonicity, meets, and decidable equality for setoids #
This file adds to Mathlib/Data/Setoid/Basic.lean the monotonicity of Setoid.ker under
composition and its equality case for an injective outer map, the relation of an indexed meet
of setoids, the classes of a meet and the order in terms of classes, and decidable equality of
setoids on a finite type. Mathlib has the monotonicity for algebraic kernels
(LinearMap.ker_le_ker_comp, MonoidHom.comap_ker, RingHom.ker_comp_of_injective) but not for
the plain Setoid.ker they specialize. [UPSTREAM]
If g factors through f, then the kernel of f refines the kernel
of g — the Setoid primitive of LinearMap.ker_le_ker_comp. [UPSTREAM]
The kernel of a map followed by an injection is the kernel of the map, the Setoid
primitive of RingHom.ker_comp_of_injective. [UPSTREAM]
Two elements are related by an indexed meet of setoids when every setoid relates them. [UPSTREAM]
The classes of a meet of setoids are the nonempty intersections of their classes. [UPSTREAM]
One setoid is finer than another when each of its classes lies in a class of the other. [UPSTREAM]
The kernel of a map into a type with decidable equality is decidable. [UPSTREAM]
Equations
- Setoid.ker.decidableRel f a b = inst✝ (f a) (f b)
Equality of setoids on a finite type is decided pairwise. [UPSTREAM]
Equations
- s.decidableEqOfDecidableRel t = decidable_of_iff (∀ (a b : α), s a b ↔ t a b) ⋯