Built with doc-gen4, running Lean4.
Bubbles () indicate interactive fragments: hover for details, tap to reveal contents.
Use Ctrl+↑Ctrl+↓to navigate, Ctrl+🖱️to focus.
On Mac, use Cmdinstead of Ctrl.
/-
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
! This file was ported from Lean 3 source module group_theory.group_action.sigma
! leanprover-community/mathlib commit f1a2caaf51ef593799107fe9a8d5e411599f3996
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathlib.GroupTheory.GroupAction.Defs
/-!
# Sigma instances for additive and multiplicative actions
This file defines instances for arbitrary sum of additive and multiplicative actions.
## See also
* `GroupTheory.GroupAction.Pi`
* `GroupTheory.GroupAction.Prod`
* `GroupTheory.GroupAction.Sum`
-/
variable {
to_additive: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → _root_.VAddM (αi)] (a : M) (x : (i : ι) × αi),
a+ᵥx=mapid (fun x => (fun x_1x_2 => x_1+ᵥx_2) a) x
to_additive]
theorem
smul_def: a•x=mapid (fun x => (fun x_1x_2 => x_1•x_2) a) x
Sigma.smul_def: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → SMulM (αi)] (a : M) (x : (i : ι) × αi),
a•x=mapid (fun x => (fun x_1x_2 => x_1•x_2) a) x
Sigma.smul_def#align sigma.vadd_def
Sigma.vadd_def: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → _root_.VAddM (αi)] (a : M) (x : (i : ι) × αi),
a+ᵥx=mapid (fun x => (fun x_1x_2 => x_1+ᵥx_2) a) x
Sigma.vadd_def
@[
to_additive: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → _root_.VAddM (αi)] (a : M) (i : ι) (b : αi),
a+ᵥ{ fst := i, snd := b }={ fst := i, snd := a+ᵥb }
to_additive (attr := simp)]
theorem
smul_mk: a•{ fst := i, snd := b }={ fst := i, snd := a•b }
smul_mk :
a: M
a •
mk: {α : Type ?u.1183} → {β : α → Type ?u.1182} → (fst : α) → βfst → Sigmaβ
Sigma.smul_mk: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → SMulM (αi)] (a : M) (i : ι) (b : αi),
a•{ fst := i, snd := b }={ fst := i, snd := a•b }
Sigma.smul_mk#align sigma.vadd_mk
Sigma.vadd_mk: ∀ {ι : Type u_1} {M : Type u_3} {α : ι → Type u_2} [inst : (i : ι) → _root_.VAddM (αi)] (a : M) (i : ι) (b : αi),
a+ᵥ{ fst := i, snd := b }={ fst := i, snd := a+ᵥb }
ι: Type ?u.1442 M: Type ?u.1445 N: Type ?u.1448 α: ι → Type ?u.1453 inst✝³: (i : ι) → SMulM (αi) inst✝²: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x✝: (i : ι) × αi inst✝¹: SMulMN inst✝: ∀ (i : ι), IsScalarTowerMN (αi) a: M b: N x: (i : ι) × αi
ι: Type ?u.1442 M: Type ?u.1445 N: Type ?u.1448 α: ι → Type ?u.1453 inst✝³: (i : ι) → SMulM (αi) inst✝²: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x✝: (i : ι) × αi inst✝¹: SMulMN inst✝: ∀ (i : ι), IsScalarTowerMN (αi) a: M b: N x: (i : ι) × αi
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x✝: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N x: (i : ι) × αi
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x✝: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N x: (i : ι) × αi
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝
ι: Type ?u.2710 M: Type ?u.2713 N: Type ?u.2716 α: ι → Type ?u.2721 inst✝²: (i : ι) → SMulM (αi) inst✝¹: (i : ι) → SMulN (αi) a✝: M i: ι b✝: αi x: (i : ι) × αi inst✝: ∀ (i : ι), SMulCommClassMN (αi) a: M b: N fst✝: ι snd✝: αfst✝