Pi instances for multiplicative actions #
This file defines instances for mul_action and related structures on Pi types.
See also #
group_theory.group_action.prod
group_theory.group_action.sigma
group_theory.group_action.sum
instance
PiProp.isScalarTower
{I : Prop}
{f : I → Type v}
{α : Type u_1}
{β : Type u_2}
[SMul α β]
[(i : I) → SMul β (f i)]
[(i : I) → SMul α (f i)]
[∀ (i : I), IsScalarTower α β (f i)]
:
IsScalarTower α β ((i : I) → f i)
Equations
- ⋯ = ⋯
instance
PiProp.is_scalar_tower'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{α : Type u_2}
[(i : I) → SMul α (f i)]
[(i : I) → SMul (f i) (g i)]
[(i : I) → SMul α (g i)]
[∀ (i : I), IsScalarTower α (f i) (g i)]
:
IsScalarTower α ((i : I) → f i) ((i : I) → g i)
Equations
- ⋯ = ⋯
instance
PiProp.is_scalar_tower''
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{h : I → Type u_2}
[(i : I) → SMul (f i) (g i)]
[(i : I) → SMul (g i) (h i)]
[(i : I) → SMul (f i) (h i)]
[∀ (i : I), IsScalarTower (f i) (g i) (h i)]
:
IsScalarTower ((i : I) → f i) ((i : I) → g i) ((i : I) → h i)
Equations
- ⋯ = ⋯
instance
PiProp.sAddCommClass
{I : Prop}
{f : I → Type v}
{α : Type u_1}
{β : Type u_2}
[(i : I) → VAdd α (f i)]
[(i : I) → VAdd β (f i)]
[∀ (i : I), VAddCommClass α β (f i)]
:
VAddCommClass α β ((i : I) → f i)
Equations
- ⋯ = ⋯
instance
PiProp.sMulCommClass
{I : Prop}
{f : I → Type v}
{α : Type u_1}
{β : Type u_2}
[(i : I) → SMul α (f i)]
[(i : I) → SMul β (f i)]
[∀ (i : I), SMulCommClass α β (f i)]
:
SMulCommClass α β ((i : I) → f i)
Equations
- ⋯ = ⋯
instance
PiProp.vadd_comm_class'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{α : Type u_2}
[(i : I) → VAdd α (g i)]
[(i : I) → VAdd (f i) (g i)]
[∀ (i : I), VAddCommClass α (f i) (g i)]
:
VAddCommClass α ((i : I) → f i) ((i : I) → g i)
Equations
- ⋯ = ⋯
instance
PiProp.smul_comm_class'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{α : Type u_2}
[(i : I) → SMul α (g i)]
[(i : I) → SMul (f i) (g i)]
[∀ (i : I), SMulCommClass α (f i) (g i)]
:
SMulCommClass α ((i : I) → f i) ((i : I) → g i)
Equations
- ⋯ = ⋯
instance
PiProp.vadd_comm_class''
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{h : I → Type u_2}
[(i : I) → VAdd (g i) (h i)]
[(i : I) → VAdd (f i) (h i)]
[∀ (i : I), VAddCommClass (f i) (g i) (h i)]
:
VAddCommClass ((i : I) → f i) ((i : I) → g i) ((i : I) → h i)
Equations
- ⋯ = ⋯
instance
PiProp.smul_comm_class''
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{h : I → Type u_2}
[(i : I) → SMul (g i) (h i)]
[(i : I) → SMul (f i) (h i)]
[∀ (i : I), SMulCommClass (f i) (g i) (h i)]
:
SMulCommClass ((i : I) → f i) ((i : I) → g i) ((i : I) → h i)
Equations
- ⋯ = ⋯
instance
PiProp.instIsCentralScalarForall_conNF
{I : Prop}
{f : I → Type v}
{α : Type u_1}
[(i : I) → SMul α (f i)]
[(i : I) → SMul αᵐᵒᵖ (f i)]
[∀ (i : I), IsCentralScalar α (f i)]
:
IsCentralScalar α ((i : I) → f i)
Equations
- ⋯ = ⋯
theorem
PiProp.has_faithful_vadd_at
{I : Prop}
{f : I → Type v}
{α : Type u_1}
[(i : I) → VAdd α (f i)]
[∀ (i : I), Nonempty (f i)]
(i : I)
[FaithfulVAdd α (f i)]
:
FaithfulVAdd α ((i : I) → f i)
theorem
PiProp.faithfulSMul_at
{I : Prop}
{f : I → Type v}
{α : Type u_1}
[(i : I) → SMul α (f i)]
[∀ (i : I), Nonempty (f i)]
(i : I)
[FaithfulSMul α (f i)]
:
FaithfulSMul α ((i : I) → f i)
If f i
has a faithful scalar action for a given i
, then so does ∀ i, f i
. This is
not an instance as i
cannot be inferred.
instance
PiProp.has_faithful_vadd
{I : Prop}
{f : I → Type v}
{α : Type u_1}
[Nonempty I]
[(i : I) → VAdd α (f i)]
[∀ (i : I), Nonempty (f i)]
[∀ (i : I), FaithfulVAdd α (f i)]
:
FaithfulVAdd α ((i : I) → f i)
Equations
- ⋯ = ⋯
instance
PiProp.faithfulSMul
{I : Prop}
{f : I → Type v}
{α : Type u_1}
[Nonempty I]
[(i : I) → SMul α (f i)]
[∀ (i : I), Nonempty (f i)]
[∀ (i : I), FaithfulSMul α (f i)]
:
FaithfulSMul α ((i : I) → f i)
Equations
- ⋯ = ⋯
instance
PiProp.addAction
{I : Prop}
{f : I → Type v}
(α : Type u_1)
{m : AddMonoid α}
[(i : I) → AddAction α (f i)]
:
AddAction α ((i : I) → f i)
Equations
- PiProp.addAction α = AddAction.mk ⋯ ⋯
instance
PiProp.mulAction
{I : Prop}
{f : I → Type v}
(α : Type u_1)
{m : Monoid α}
[(i : I) → MulAction α (f i)]
:
MulAction α ((i : I) → f i)
Equations
- PiProp.mulAction α = MulAction.mk ⋯ ⋯
instance
PiProp.addAction'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{m : (i : I) → AddMonoid (f i)}
[(i : I) → AddAction (f i) (g i)]
:
AddAction ((i : I) → f i) ((i : I) → g i)
Equations
- PiProp.addAction' = AddAction.mk ⋯ ⋯
instance
PiProp.mulAction'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{m : (i : I) → Monoid (f i)}
[(i : I) → MulAction (f i) (g i)]
:
MulAction ((i : I) → f i) ((i : I) → g i)
Equations
- PiProp.mulAction' = MulAction.mk ⋯ ⋯
instance
PiProp.distribMulAction
{I : Prop}
{f : I → Type v}
(α : Type u_1)
{m : Monoid α}
{n : (i : I) → AddMonoid (f i)}
[(i : I) → DistribMulAction α (f i)]
:
DistribMulAction α ((i : I) → f i)
Equations
- PiProp.distribMulAction α = let __src := PiProp.mulAction α; DistribMulAction.mk ⋯ ⋯
instance
PiProp.distribMulAction'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{m : (i : I) → Monoid (f i)}
{n : (i : I) → AddMonoid (g i)}
[(i : I) → DistribMulAction (f i) (g i)]
:
DistribMulAction ((i : I) → f i) ((i : I) → g i)
Equations
- PiProp.distribMulAction' = DistribMulAction.mk ⋯ ⋯
instance
PiProp.mulDistribMulAction
{I : Prop}
{f : I → Type v}
(α : Type u_1)
{m : Monoid α}
{n : (i : I) → Monoid (f i)}
[(i : I) → MulDistribMulAction α (f i)]
:
MulDistribMulAction α ((i : I) → f i)
Equations
- PiProp.mulDistribMulAction α = let __src := PiProp.mulAction α; MulDistribMulAction.mk ⋯ ⋯
instance
PiProp.mulDistribMulAction'
{I : Prop}
{f : I → Type v}
{g : I → Type u_1}
{m : (i : I) → Monoid (f i)}
{n : (i : I) → Monoid (g i)}
[(i : I) → MulDistribMulAction (f i) (g i)]
:
MulDistribMulAction ((i : I) → f i) ((i : I) → g i)
Equations
- PiProp.mulDistribMulAction' = MulDistribMulAction.mk ⋯ ⋯
instance
FunctionProp.sAddCommClass
{ι : Prop}
{α : Type u_1}
{β : Type u_2}
{M : Type u_3}
[VAdd α M]
[VAdd β M]
[VAddCommClass α β M]
:
VAddCommClass α β (ι → M)
Equations
- ⋯ = ⋯
instance
FunctionProp.sMulCommClass
{ι : Prop}
{α : Type u_1}
{β : Type u_2}
{M : Type u_3}
[SMul α M]
[SMul β M]
[SMulCommClass α β M]
:
SMulCommClass α β (ι → M)
Non-dependent version of pi_Prop.smul_comm_class
. Lean gets confused by the dependent instance
if this is not present.
Equations
- ⋯ = ⋯