group_theory.group_action.sigmaMathlib.GroupTheory.GroupAction.Sigma

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ 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
 -/
-import Mathbin.GroupTheory.GroupAction.Defs
+import GroupTheory.GroupAction.Defs
 
 #align_import group_theory.group_action.sigma from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
 
Diff
@@ -81,7 +81,7 @@ end SMul
 @[to_additive]
 instance {m : Monoid M} [∀ i, MulAction M (α i)] : MulAction M (Σ i, α i)
     where
-  mul_smul a b x := by cases x; rw [smul_mk, smul_mk, smul_mk, mul_smul]
+  hMul_smul a b x := by cases x; rw [smul_mk, smul_mk, smul_mk, mul_smul]
   one_smul x := by cases x; rw [smul_mk, one_smul]
 
 end Sigma
Diff
@@ -2,14 +2,11 @@
 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 448144f7ae193a8990cb7473c9e9a01990f64ac7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.GroupTheory.GroupAction.Defs
 
+#align_import group_theory.group_action.sigma from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
+
 /-!
 # Sigma instances for additive and multiplicative actions
 
Diff
@@ -38,17 +38,21 @@ variable [∀ i, SMul M (α i)] [∀ i, SMul N (α i)] (a : M) (i : ι) (b : α
 instance : SMul M (Σ i, α i) :=
   ⟨fun a => Sigma.map id fun i => (· • ·) a⟩
 
+#print Sigma.smul_def /-
 @[to_additive]
 theorem smul_def : a • x = x.map id fun i => (· • ·) a :=
   rfl
 #align sigma.smul_def Sigma.smul_def
 #align sigma.vadd_def Sigma.vadd_def
+-/
 
+#print Sigma.smul_mk /-
 @[simp, to_additive]
 theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
   rfl
 #align sigma.smul_mk Sigma.smul_mk
 #align sigma.vadd_mk Sigma.vadd_mk
+-/
 
 @[to_additive]
 instance [SMul M N] [∀ i, IsScalarTower M N (α i)] : IsScalarTower M N (Σ i, α i) :=
@@ -62,12 +66,14 @@ instance [∀ i, SMulCommClass M N (α i)] : SMulCommClass M N (Σ i, α i) :=
 instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsCentralScalar M (Σ i, α i) :=
   ⟨fun a x => by cases x; rw [smul_mk, smul_mk, op_smul_eq_smul]⟩
 
+#print Sigma.FaithfulSMul' /-
 /-- This is not an instance because `i` becomes a metavariable. -/
 @[to_additive "This is not an instance because `i` becomes a metavariable."]
 protected theorem FaithfulSMul' [FaithfulSMul M (α i)] : FaithfulSMul M (Σ i, α i) :=
   ⟨fun x y h => eq_of_smul_eq_smul fun a : α i => heq_iff_eq.1 (ext_iff.1 <| h <| mk i a).2⟩
 #align sigma.has_faithful_smul' Sigma.FaithfulSMul'
 #align sigma.has_faithful_vadd' Sigma.FaithfulVAdd'
+-/
 
 @[to_additive]
 instance [Nonempty ι] [∀ i, FaithfulSMul M (α i)] : FaithfulSMul M (Σ i, α i) :=
Diff
@@ -32,10 +32,10 @@ namespace Sigma
 
 section SMul
 
-variable [∀ i, SMul M (α i)] [∀ i, SMul N (α i)] (a : M) (i : ι) (b : α i) (x : Σi, α i)
+variable [∀ i, SMul M (α i)] [∀ i, SMul N (α i)] (a : M) (i : ι) (b : α i) (x : Σ i, α i)
 
 @[to_additive Sigma.hasVadd]
-instance : SMul M (Σi, α i) :=
+instance : SMul M (Σ i, α i) :=
   ⟨fun a => Sigma.map id fun i => (· • ·) a⟩
 
 @[to_additive]
@@ -51,32 +51,32 @@ theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
 #align sigma.vadd_mk Sigma.vadd_mk
 
 @[to_additive]
-instance [SMul M N] [∀ i, IsScalarTower M N (α i)] : IsScalarTower M N (Σi, α i) :=
+instance [SMul M N] [∀ i, IsScalarTower M N (α i)] : IsScalarTower M N (Σ i, α i) :=
   ⟨fun a b x => by cases x; rw [smul_mk, smul_mk, smul_mk, smul_assoc]⟩
 
 @[to_additive]
-instance [∀ i, SMulCommClass M N (α i)] : SMulCommClass M N (Σi, α i) :=
+instance [∀ i, SMulCommClass M N (α i)] : SMulCommClass M N (Σ i, α i) :=
   ⟨fun a b x => by cases x; rw [smul_mk, smul_mk, smul_mk, smul_mk, smul_comm]⟩
 
 @[to_additive]
-instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsCentralScalar M (Σi, α i) :=
+instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsCentralScalar M (Σ i, α i) :=
   ⟨fun a x => by cases x; rw [smul_mk, smul_mk, op_smul_eq_smul]⟩
 
 /-- This is not an instance because `i` becomes a metavariable. -/
 @[to_additive "This is not an instance because `i` becomes a metavariable."]
-protected theorem FaithfulSMul' [FaithfulSMul M (α i)] : FaithfulSMul M (Σi, α i) :=
+protected theorem FaithfulSMul' [FaithfulSMul M (α i)] : FaithfulSMul M (Σ i, α i) :=
   ⟨fun x y h => eq_of_smul_eq_smul fun a : α i => heq_iff_eq.1 (ext_iff.1 <| h <| mk i a).2⟩
 #align sigma.has_faithful_smul' Sigma.FaithfulSMul'
 #align sigma.has_faithful_vadd' Sigma.FaithfulVAdd'
 
 @[to_additive]
-instance [Nonempty ι] [∀ i, FaithfulSMul M (α i)] : FaithfulSMul M (Σi, α i) :=
+instance [Nonempty ι] [∀ i, FaithfulSMul M (α i)] : FaithfulSMul M (Σ i, α i) :=
   Nonempty.elim ‹_› fun i => Sigma.FaithfulSMul' i
 
 end SMul
 
 @[to_additive]
-instance {m : Monoid M} [∀ i, MulAction M (α i)] : MulAction M (Σi, α i)
+instance {m : Monoid M} [∀ i, MulAction M (α i)] : MulAction M (Σ i, α i)
     where
   mul_smul a b x := by cases x; rw [smul_mk, smul_mk, smul_mk, mul_smul]
   one_smul x := by cases x; rw [smul_mk, one_smul]
Diff
@@ -38,24 +38,12 @@ variable [∀ i, SMul M (α i)] [∀ i, SMul N (α i)] (a : M) (i : ι) (b : α
 instance : SMul M (Σi, α i) :=
   ⟨fun a => Sigma.map id fun i => (· • ·) a⟩
 
-/- warning: sigma.smul_def -> Sigma.smul_def is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} {α : ι -> Type.{u3}} [_inst_1 : forall (i : ι), SMul.{u2, u3} M (α i)] (a : M) (x : Sigma.{u1, u3} ι (fun (i : ι) => α i)), Eq.{succ (max u1 u3)} (Sigma.{u1, u3} ι (fun (i : ι) => α i)) (SMul.smul.{u2, max u1 u3} M (Sigma.{u1, u3} ι (fun (i : ι) => α i)) (Sigma.hasSmul.{u1, u2, u3} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i)) a x) (Sigma.map.{u1, u1, u3, u3} ι ι (fun (i : ι) => α i) (fun (i : ι) => α i) (id.{succ u1} ι) (fun (i : ι) => SMul.smul.{u2, u3} M (α i) (_inst_1 i) a) x)
-but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : forall (i : ι), SMul.{u1, u2} M (α i)] (a : M) (x : Sigma.{u3, u2} ι (fun (i : ι) => α i)), Eq.{max (succ u3) (succ u2)} (Sigma.{u3, u2} ι (fun (i : ι) => α i)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} M (Sigma.{u3, u2} ι (fun (i : ι) => α i)) (Sigma.{u3, u2} ι (fun (i : ι) => α i)) (instHSMul.{u1, max u3 u2} M (Sigma.{u3, u2} ι (fun (i : ι) => α i)) (Sigma.instSMulSigma.{u3, u1, u2} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i))) a x) (Sigma.map.{u3, u3, u2, u2} ι ι (fun (i : ι) => α i) α (id.{succ u3} ι) (fun (i : ι) => (fun (x._@.Mathlib.GroupTheory.GroupAction.Sigma._hyg.231 : M) (x._@.Mathlib.GroupTheory.GroupAction.Sigma._hyg.233 : α i) => HSMul.hSMul.{u1, u2, u2} M (α i) (α (id.{succ u3} ι i)) (instHSMul.{u1, u2} M (α i) (_inst_1 i)) x._@.Mathlib.GroupTheory.GroupAction.Sigma._hyg.231 x._@.Mathlib.GroupTheory.GroupAction.Sigma._hyg.233) a) x)
-Case conversion may be inaccurate. Consider using '#align sigma.smul_def Sigma.smul_defₓ'. -/
 @[to_additive]
 theorem smul_def : a • x = x.map id fun i => (· • ·) a :=
   rfl
 #align sigma.smul_def Sigma.smul_def
 #align sigma.vadd_def Sigma.vadd_def
 
-/- warning: sigma.smul_mk -> Sigma.smul_mk is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} {α : ι -> Type.{u3}} [_inst_1 : forall (i : ι), SMul.{u2, u3} M (α i)] (a : M) (i : ι) (b : α i), Eq.{succ (max u1 u3)} (Sigma.{u1, u3} ι (fun (i : ι) => α i)) (SMul.smul.{u2, max u1 u3} M (Sigma.{u1, u3} ι (fun (i : ι) => α i)) (Sigma.hasSmul.{u1, u2, u3} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i)) a (Sigma.mk.{u1, u3} ι (fun (i : ι) => α i) i b)) (Sigma.mk.{u1, u3} ι (fun (i : ι) => α i) i (SMul.smul.{u2, u3} M (α i) (_inst_1 i) a b))
-but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} {α : ι -> Type.{u2}} [_inst_1 : forall (i : ι), SMul.{u1, u2} M (α i)] (a : M) (i : ι) (b : α i), Eq.{max (succ u3) (succ u2)} (Sigma.{u3, u2} ι α) (HSMul.hSMul.{u1, max u2 u3, max u3 u2} M (Sigma.{u3, u2} ι α) (Sigma.{u3, u2} ι α) (instHSMul.{u1, max u3 u2} M (Sigma.{u3, u2} ι α) (Sigma.instSMulSigma.{u3, u1, u2} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i))) a (Sigma.mk.{u3, u2} ι α i b)) (Sigma.mk.{u3, u2} ι α i (HSMul.hSMul.{u1, u2, u2} M (α i) (α i) (instHSMul.{u1, u2} M (α i) (_inst_1 i)) a b))
-Case conversion may be inaccurate. Consider using '#align sigma.smul_mk Sigma.smul_mkₓ'. -/
 @[simp, to_additive]
 theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
   rfl
@@ -74,12 +62,6 @@ instance [∀ i, SMulCommClass M N (α i)] : SMulCommClass M N (Σi, α i) :=
 instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsCentralScalar M (Σi, α i) :=
   ⟨fun a x => by cases x; rw [smul_mk, smul_mk, op_smul_eq_smul]⟩
 
-/- warning: sigma.has_faithful_smul' -> Sigma.FaithfulSMul' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} {α : ι -> Type.{u3}} [_inst_1 : forall (i : ι), SMul.{u2, u3} M (α i)] (i : ι) [_inst_3 : FaithfulSMul.{u2, u3} M (α i) (_inst_1 i)], FaithfulSMul.{u2, max u1 u3} M (Sigma.{u1, u3} ι (fun (i : ι) => α i)) (Sigma.hasSmul.{u1, u2, u3} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} {α : ι -> Type.{u2}} [_inst_1 : forall (i : ι), SMul.{u3, u2} M (α i)] (i : ι) [_inst_3 : FaithfulSMul.{u3, u2} M (α i) (_inst_1 i)], FaithfulSMul.{u3, max u2 u1} M (Sigma.{u1, u2} ι (fun (i : ι) => α i)) (Sigma.instSMulSigma.{u1, u3, u2} ι M (fun (i : ι) => α i) (fun (i : ι) => _inst_1 i))
-Case conversion may be inaccurate. Consider using '#align sigma.has_faithful_smul' Sigma.FaithfulSMul'ₓ'. -/
 /-- This is not an instance because `i` becomes a metavariable. -/
 @[to_additive "This is not an instance because `i` becomes a metavariable."]
 protected theorem FaithfulSMul' [FaithfulSMul M (α i)] : FaithfulSMul M (Σi, α i) :=
Diff
@@ -64,21 +64,15 @@ theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
 
 @[to_additive]
 instance [SMul M N] [∀ i, IsScalarTower M N (α i)] : IsScalarTower M N (Σi, α i) :=
-  ⟨fun a b x => by
-    cases x
-    rw [smul_mk, smul_mk, smul_mk, smul_assoc]⟩
+  ⟨fun a b x => by cases x; rw [smul_mk, smul_mk, smul_mk, smul_assoc]⟩
 
 @[to_additive]
 instance [∀ i, SMulCommClass M N (α i)] : SMulCommClass M N (Σi, α i) :=
-  ⟨fun a b x => by
-    cases x
-    rw [smul_mk, smul_mk, smul_mk, smul_mk, smul_comm]⟩
+  ⟨fun a b x => by cases x; rw [smul_mk, smul_mk, smul_mk, smul_mk, smul_comm]⟩
 
 @[to_additive]
 instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsCentralScalar M (Σi, α i) :=
-  ⟨fun a x => by
-    cases x
-    rw [smul_mk, smul_mk, op_smul_eq_smul]⟩
+  ⟨fun a x => by cases x; rw [smul_mk, smul_mk, op_smul_eq_smul]⟩
 
 /- warning: sigma.has_faithful_smul' -> Sigma.FaithfulSMul' is a dubious translation:
 lean 3 declaration is
@@ -102,12 +96,8 @@ end SMul
 @[to_additive]
 instance {m : Monoid M} [∀ i, MulAction M (α i)] : MulAction M (Σi, α i)
     where
-  mul_smul a b x := by
-    cases x
-    rw [smul_mk, smul_mk, smul_mk, mul_smul]
-  one_smul x := by
-    cases x
-    rw [smul_mk, one_smul]
+  mul_smul a b x := by cases x; rw [smul_mk, smul_mk, smul_mk, mul_smul]
+  one_smul x := by cases x; rw [smul_mk, one_smul]
 
 end Sigma
 

Changes in mathlib4

mathlib3
mathlib4
chore: Replace (· op ·) a by (a op ·) (#8843)

I used the regex \(\(· (.) ·\) (.)\), replacing with ($2 $1 ·).

Diff
@@ -30,10 +30,10 @@ variable [∀ i, SMul M (α i)] [∀ i, SMul N (α i)] (a : M) (i : ι) (b : α
 
 @[to_additive Sigma.VAdd]
 instance : SMul M (Σi, α i) :=
-  ⟨fun a => (Sigma.map id) fun _ => (· • ·) a⟩
+  ⟨fun a => (Sigma.map id) fun _ => (a • ·)⟩
 
 @[to_additive]
-theorem smul_def : a • x = x.map id fun _ => (· • ·) a :=
+theorem smul_def : a • x = x.map id fun _ => (a • ·) :=
   rfl
 #align sigma.smul_def Sigma.smul_def
 #align sigma.vadd_def Sigma.vadd_def
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -20,7 +20,7 @@ This file defines instances for arbitrary sum of additive and multiplicative act
 -/
 
 
-variable {ι : Type _} {M N : Type _} {α : ι → Type _}
+variable {ι : Type*} {M N : Type*} {α : ι → Type*}
 
 namespace Sigma
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 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
 
+#align_import group_theory.group_action.sigma from "leanprover-community/mathlib"@"f1a2caaf51ef593799107fe9a8d5e411599f3996"
+
 /-!
 # Sigma instances for additive and multiplicative actions
 
chore: add #align statements for to_additive decls (#1816)

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -39,11 +39,13 @@ instance : SMul M (Σi, α i) :=
 theorem smul_def : a • x = x.map id fun _ => (· • ·) a :=
   rfl
 #align sigma.smul_def Sigma.smul_def
+#align sigma.vadd_def Sigma.vadd_def
 
 @[to_additive (attr := simp)]
 theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
   rfl
 #align sigma.smul_mk Sigma.smul_mk
+#align sigma.vadd_mk Sigma.vadd_mk
 
 @[to_additive]
 instance [SMul M N] [∀ i, IsScalarTower M N (α i)] : IsScalarTower M N (Σi, α i) :=
@@ -68,6 +70,7 @@ instance [∀ i, SMul Mᵐᵒᵖ (α i)] [∀ i, IsCentralScalar M (α i)] : IsC
 protected theorem FaithfulSMul' [FaithfulSMul M (α i)] : FaithfulSMul M (Σi, α i) :=
   ⟨fun h => eq_of_smul_eq_smul fun a : α i => heq_iff_eq.1 (ext_iff.1 <| h <| mk i a).2⟩
 #align sigma.has_faithful_smul' Sigma.FaithfulSMul'
+#align sigma.has_faithful_vadd' Sigma.FaithfulVAdd'
 
 @[to_additive]
 instance [Nonempty ι] [∀ i, FaithfulSMul M (α i)] : FaithfulSMul M (Σi, α i) :=
feat: improve the way to_additive deals with attributes (#1314)
  • The new syntax for any attributes that need to be copied by to_additive is @[to_additive (attrs := simp, ext, simps)]
  • Adds the auxiliary declarations generated by the simp and simps attributes to the to_additive-dictionary.
  • Future issue: Does not yet translate auxiliary declarations for other attributes (including custom simp-attributes). In particular it's possible that norm_cast might generate some auxiliary declarations.
  • Fixes #950
  • Fixes #953
  • Fixes #1149
  • This moves the interaction between to_additive and simps from the Simps file to the toAdditive file for uniformity.
  • Make the same changes to @[reassoc]

Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -40,7 +40,7 @@ theorem smul_def : a • x = x.map id fun _ => (· • ·) a :=
   rfl
 #align sigma.smul_def Sigma.smul_def
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem smul_mk : a • mk i b = ⟨i, a • b⟩ :=
   rfl
 #align sigma.smul_mk Sigma.smul_mk
chore: add source headers to ported theory files (#1094)

The script used to do this is included. The yaml file was obtained from https://raw.githubusercontent.com/wiki/leanprover-community/mathlib/mathlib4-port-status.md

Diff
@@ -2,6 +2,11 @@
 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
 

Dependencies 32

33 files ported (100.0%)
14453 lines ported (100.0%)

All dependencies are ported!