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.