Instances and theorems on pi types #
This file provides basic definitions and notation instances for Pi types.
Instances of more sophisticated classes are defined in pi.lean files elsewhere.
1, 0, +, *, -, ⁻¹, and / are defined pointwise.
Equations
- pi.has_zero = {zero := λ (_x : I), 0}
Equations
- pi.has_one = {one := λ (_x : I), 1}
Equations
- pi.has_mul = {mul := λ (f_1 g : Π (i : I), f i) (i : I), (f_1 i) * g i}
Equations
- pi.has_add = {add := λ (f_1 g : Π (i : I), f i) (i : I), f_1 i + g i}
Equations
- pi.has_inv = {inv := λ (f_1 : Π (i : I), f i) (i : I), (f_1 i)⁻¹}
Equations
- pi.has_neg = {neg := λ (f_1 : Π (i : I), f i) (i : I), -f_1 i}
Equations
- pi.has_sub = {sub := λ (f_1 g : Π (i : I), f i) (i : I), f_1 i - g i}
Equations
- pi.has_div = {div := λ (f_1 g : Π (i : I), f i) (i : I), f_1 i / g i}
The function supported at i, with value x there, and 0 elsewhere.
Equations
- pi.single i x = function.update 0 i x
The function supported at i, with value x there, and 1 elsewhere.
Equations
- pi.mul_single i x = function.update 1 i x
Abbreviation for mul_single_eq_of_ne h.symm, for ease of use by simp.
Abbreviation for single_eq_of_ne h.symm, for ease of
use by simp.
On non-dependent functions, pi.single can be expressed as an ite
On non-dependent functions, pi.mul_single can be expressed as an ite
On non-dependent functions, pi.single is symmetric in the two
indices.
On non-dependent functions, pi.mul_single is symmetric in the two indices.
If the one function is surjective, the codomain is trivial.
Equations
If the zero function is surjective, the codomain is trivial.