Instances and theorems on pi types #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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_vadd = {vadd := λ (s : α) (x : Π (i : I), f i) (i : I), s +ᵥ x i}
Equations
- pi.has_smul = {smul := λ (s : α) (x : Π (i : I), f i) (i : I), s • x i}
Equations
- pi.has_pow = {pow := λ (x : Π (i : I), f i) (b : β) (i : I), x i ^ b}
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.