algebra.module.ulift
⟷
Mathlib.Algebra.Module.ULift
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Algebra.Ring.Ulift
+import Algebra.Ring.ULift
import Algebra.Module.Equiv
#align_import algebra.module.ulift from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -107,29 +107,29 @@ instance smulZeroClass' [Zero M] [SMulZeroClass R M] : SMulZeroClass R (ULift M)
#align ulift.smul_zero_class' ULift.smulZeroClass'
-/
-#print ULift.distribSmul /-
-instance distribSmul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R) M
+#print ULift.distribSMul /-
+instance distribSMul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R) M
where smul_add _ := smul_add _
-#align ulift.distrib_smul ULift.distribSmul
+#align ulift.distrib_smul ULift.distribSMul
-/
-#print ULift.distribSmul' /-
-instance distribSmul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M)
+#print ULift.distribSMul' /-
+instance distribSMul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M)
where smul_add c f g := by ext; simp [smul_add]
-#align ulift.distrib_smul' ULift.distribSmul'
+#align ulift.distrib_smul' ULift.distribSMul'
-/
#print ULift.distribMulAction /-
instance distribMulAction [Monoid R] [AddMonoid M] [DistribMulAction R M] :
DistribMulAction (ULift R) M :=
- { ULift.mulAction, ULift.distribSmul with }
+ { ULift.mulAction, ULift.distribSMul with }
#align ulift.distrib_mul_action ULift.distribMulAction
-/
#print ULift.distribMulAction' /-
instance distribMulAction' [Monoid R] [AddMonoid M] [DistribMulAction R M] :
DistribMulAction R (ULift M) :=
- { ULift.mulAction', ULift.distribSmul' with }
+ { ULift.mulAction', ULift.distribSMul' with }
#align ulift.distrib_mul_action' ULift.distribMulAction'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.Algebra.Ring.Ulift
-import Mathbin.Algebra.Module.Equiv
+import Algebra.Ring.Ulift
+import Algebra.Module.Equiv
#align_import algebra.module.ulift from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -78,7 +78,7 @@ instance [SMul R M] [SMul Rᵐᵒᵖ M] [IsCentralScalar R M] : IsCentralScalar
instance mulAction [Monoid R] [MulAction R M] : MulAction (ULift R) M
where
smul := (· • ·)
- mul_smul _ _ := mul_smul _ _
+ hMul_smul _ _ := hMul_smul _ _
one_smul := one_smul _
#align ulift.mul_action ULift.mulAction
#align ulift.add_action ULift.addAction
@@ -89,7 +89,7 @@ instance mulAction [Monoid R] [MulAction R M] : MulAction (ULift R) M
instance mulAction' [Monoid R] [MulAction R M] : MulAction R (ULift M)
where
smul := (· • ·)
- mul_smul := fun r s ⟨f⟩ => ext _ _ <| mul_smul _ _ _
+ hMul_smul := fun r s ⟨f⟩ => ext _ _ <| hMul_smul _ _ _
one_smul := fun ⟨f⟩ => ext _ _ <| one_smul _ _
#align ulift.mul_action' ULift.mulAction'
#align ulift.add_action' ULift.addAction'
@@ -138,7 +138,7 @@ instance mulDistribMulAction [Monoid R] [Monoid M] [MulDistribMulAction R M] :
MulDistribMulAction (ULift R) M
where
smul_one _ := smul_one _
- smul_mul _ := smul_mul' _
+ smul_hMul _ := smul_mul' _
#align ulift.mul_distrib_mul_action ULift.mulDistribMulAction
-/
@@ -147,7 +147,7 @@ instance mulDistribMulAction' [Monoid R] [Monoid M] [MulDistribMulAction R M] :
MulDistribMulAction R (ULift M) :=
{ ULift.mulAction' with
smul_one := fun _ => by ext; simp [smul_one]
- smul_mul := fun c f g => by ext; simp [smul_mul'] }
+ smul_hMul := fun c f g => by ext; simp [smul_mul'] }
#align ulift.mul_distrib_mul_action' ULift.mulDistribMulAction'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2020 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.module.ulift
-! leanprover-community/mathlib commit 68d1483e8a718ec63219f0e227ca3f0140361086
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Ring.Ulift
import Mathbin.Algebra.Module.Equiv
+#align_import algebra.module.ulift from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
+
/-!
# `ulift` instances for module and multiplicative actions
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -44,11 +44,13 @@ instance smulLeft [SMul R M] : SMul (ULift R) M :=
#align ulift.has_vadd_left ULift.vaddLeft
-/
+#print ULift.smul_def /-
@[simp, to_additive]
theorem smul_def [SMul R M] (s : ULift R) (x : M) : s • x = s.down • x :=
rfl
#align ulift.smul_def ULift.smul_def
#align ulift.vadd_def ULift.vadd_def
+-/
#print ULift.isScalarTower /-
instance isScalarTower [SMul R M] [SMul M N] [SMul R N] [IsScalarTower R M N] :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -44,12 +44,6 @@ instance smulLeft [SMul R M] : SMul (ULift R) M :=
#align ulift.has_vadd_left ULift.vaddLeft
-/
-/- warning: ulift.smul_def -> ULift.smul_def is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : SMul.{u1, u2} R M] (s : ULift.{u3, u1} R) (x : M), Eq.{succ u2} M (SMul.smul.{max u1 u3, u2} (ULift.{u3, u1} R) M (ULift.smulLeft.{u1, u2, u3} R M _inst_1) s x) (SMul.smul.{u1, u2} R M _inst_1 (ULift.down.{u3, u1} R s) x)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : SMul.{u2, u3} R M] (s : ULift.{u1, u2} R) (x : M), Eq.{succ u3} M (HSMul.hSMul.{max u2 u1, u3, u3} (ULift.{u1, u2} R) M M (instHSMul.{max u2 u1, u3} (ULift.{u1, u2} R) M (ULift.smulLeft.{u2, u3, u1} R M _inst_1)) s x) (HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M _inst_1) (ULift.down.{u1, u2} R s) x)
-Case conversion may be inaccurate. Consider using '#align ulift.smul_def ULift.smul_defₓ'. -/
@[simp, to_additive]
theorem smul_def [SMul R M] (s : ULift R) (x : M) : s • x = s.down • x :=
rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -110,9 +110,7 @@ instance smulZeroClass [Zero M] [SMulZeroClass R M] : SMulZeroClass (ULift R) M
#print ULift.smulZeroClass' /-
instance smulZeroClass' [Zero M] [SMulZeroClass R M] : SMulZeroClass R (ULift M)
- where smul_zero c := by
- ext
- simp [smul_zero]
+ where smul_zero c := by ext; simp [smul_zero]
#align ulift.smul_zero_class' ULift.smulZeroClass'
-/
@@ -124,9 +122,7 @@ instance distribSmul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R)
#print ULift.distribSmul' /-
instance distribSmul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M)
- where smul_add c f g := by
- ext
- simp [smul_add]
+ where smul_add c f g := by ext; simp [smul_add]
#align ulift.distrib_smul' ULift.distribSmul'
-/
@@ -156,14 +152,9 @@ instance mulDistribMulAction [Monoid R] [Monoid M] [MulDistribMulAction R M] :
#print ULift.mulDistribMulAction' /-
instance mulDistribMulAction' [Monoid R] [Monoid M] [MulDistribMulAction R M] :
MulDistribMulAction R (ULift M) :=
- {
- ULift.mulAction' with
- smul_one := fun _ => by
- ext
- simp [smul_one]
- smul_mul := fun c f g => by
- ext
- simp [smul_mul'] }
+ { ULift.mulAction' with
+ smul_one := fun _ => by ext; simp [smul_one]
+ smul_mul := fun c f g => by ext; simp [smul_mul'] }
#align ulift.mul_distrib_mul_action' ULift.mulDistribMulAction'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -55,7 +55,7 @@ instance isScalarTower'' [SMul R M] [SMul M N] [SMul R N] [IsScalarTower R M N]
instance [SMul R M] [SMul Rᵐᵒᵖ M] [IsCentralScalar R M] : IsCentralScalar R (ULift M) :=
⟨fun r m => congr_arg up <| op_smul_eq_smul r m.down⟩
--- Porting note: TODO this takes way longer to elaborate than it should
+-- Porting note (#11215): TODO this takes way longer to elaborate than it should
@[to_additive]
instance mulAction [Monoid R] [MulAction R M] : MulAction (ULift R) M where
smul := (· • ·)
@@ -132,7 +132,8 @@ instance smulWithZero' [Zero R] [Zero M] [SMulWithZero R M] : SMulWithZero R (UL
instance mulActionWithZero [MonoidWithZero R] [Zero M] [MulActionWithZero R M] :
MulActionWithZero (ULift R) M :=
{ ULift.smulWithZero with
- -- Porting note: TODO there seems to be a mismatch in whether the carrier is explicit here
+ -- Porting note (#11215): TODO there seems to be a mismatch in whether
+ -- the carrier is explicit here
one_smul := one_smul _
mul_smul := mul_smul }
#align ulift.mul_action_with_zero ULift.mulActionWithZero
Nsmul
-> NSMul
, Zpow
-> ZPow
, etc (#9067)
Normalising to naming convention rule number 6.
@@ -80,24 +80,24 @@ instance smulZeroClass' [Zero M] [SMulZeroClass R M] : SMulZeroClass R (ULift M)
smul_zero c := by { ext; simp [smul_zero] }
#align ulift.smul_zero_class' ULift.smulZeroClass'
-instance distribSmul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R) M where
+instance distribSMul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R) M where
smul_add _ := smul_add _
-#align ulift.distrib_smul ULift.distribSmul
+#align ulift.distrib_smul ULift.distribSMul
-instance distribSmul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M) where
+instance distribSMul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M) where
smul_add c f g := by
ext
simp [smul_add]
-#align ulift.distrib_smul' ULift.distribSmul'
+#align ulift.distrib_smul' ULift.distribSMul'
instance distribMulAction [Monoid R] [AddMonoid M] [DistribMulAction R M] :
DistribMulAction (ULift R) M :=
- { ULift.mulAction, ULift.distribSmul with }
+ { ULift.mulAction, ULift.distribSMul with }
#align ulift.distrib_mul_action ULift.distribMulAction
instance distribMulAction' [Monoid R] [AddMonoid M] [DistribMulAction R M] :
DistribMulAction R (ULift M) :=
- { ULift.mulAction', ULift.distribSmul' with }
+ { ULift.mulAction', ULift.distribSMul' with }
#align ulift.distrib_mul_action' ULift.distribMulAction'
instance mulDistribMulAction [Monoid R] [Monoid M] [MulDistribMulAction R M] :
The names are all over the place, leading me to believe that ULift.moduleEquiv
didn't exist. Cross-linking to the other equivs (via code and comments) makes them easier to find.
@@ -160,15 +160,15 @@ instance module' [Semiring R] [AddCommMonoid M] [Module R M] : Module R (ULift M
smul_add := smul_add }
#align ulift.module' ULift.module'
-/-- The `R`-linear equivalence between `ULift M` and `M`. -/
+/-- The `R`-linear equivalence between `ULift M` and `M`.
+
+This is a linear version of `AddEquiv.ulift`. -/
@[simps apply symm_apply]
def moduleEquiv [Semiring R] [AddCommMonoid M] [Module R M] : ULift.{w} M ≃ₗ[R] M where
toFun := ULift.down
invFun := ULift.up
map_smul' _ _ := rfl
- map_add' _ _ := rfl
- left_inv := ULift.up_down
- right_inv := ULift.down_up.{v, w}
+ __ := AddEquiv.ulift
#align ulift.module_equiv ULift.moduleEquiv
end ULift
@@ -2,15 +2,12 @@
Copyright (c) 2020 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.module.ulift
-! leanprover-community/mathlib commit f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Ring.ULift
import Mathlib.Algebra.Module.Equiv
+#align_import algebra.module.ulift from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
+
/-!
# `ULift` instances for module and multiplicative actions
@@ -80,7 +80,7 @@ instance smulZeroClass [Zero M] [SMulZeroClass R M] : SMulZeroClass (ULift R) M
#align ulift.smul_zero_class ULift.smulZeroClass
instance smulZeroClass' [Zero M] [SMulZeroClass R M] : SMulZeroClass R (ULift M) where
- smul_zero c := by { ext; simp [smul_zero] }
+ smul_zero c := by { ext; simp [smul_zero] }
#align ulift.smul_zero_class' ULift.smulZeroClass'
instance distribSmul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R) M where
I was looking on https://github.com/leanprover-community/mathlib4/pull/4933 to see what simp related porting notes I could improve after https://github.com/leanprover/lean4/pull/2266 lands in Lean 4. Mostly things I found could be cleaned up in any case, and so I've moved those into this PR.
There is lots more work to do diagnosing all the simp-related porting notes!
Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>
@@ -90,9 +90,7 @@ instance distribSmul [AddZeroClass M] [DistribSMul R M] : DistribSMul (ULift R)
instance distribSmul' [AddZeroClass M] [DistribSMul R M] : DistribSMul R (ULift M) where
smul_add c f g := by
ext
- -- Porting note: TODO this used to be a simple `simp [smul_add]` but that timeouts
- simp only [smul_down, add_down]
- rw [smul_add]
+ simp [smul_add]
#align ulift.distrib_smul' ULift.distribSmul'
instance distribMulAction [Monoid R] [AddMonoid M] [DistribMulAction R M] :
@@ -116,11 +114,9 @@ instance mulDistribMulAction' [Monoid R] [Monoid M] [MulDistribMulAction R M] :
{ ULift.mulAction' with
smul_one := fun _ => by
ext
- dsimp only [smul_down, one_down] -- Porting note: TODO this wasn't necessary
simp [smul_one]
smul_mul := fun _ _ _ => by
ext
- dsimp only [smul_down, mul_down] -- Porting note: TODO this wasn't necessary
simp [smul_mul'] }
#align ulift.mul_distrib_mul_action' ULift.mulDistribMulAction'
@@ -168,7 +168,7 @@ instance module' [Semiring R] [AddCommMonoid M] [Module R M] : Module R (ULift M
#align ulift.module' ULift.module'
/-- The `R`-linear equivalence between `ULift M` and `M`. -/
-@[simps apply symmApply]
+@[simps apply symm_apply]
def moduleEquiv [Semiring R] [AddCommMonoid M] [Module R M] : ULift.{w} M ≃ₗ[R] M where
toFun := ULift.down
invFun := ULift.up
The unported dependencies are