algebra.module.submodule.pointwise
⟷
Mathlib.Algebra.Module.Submodule.Pointwise
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -215,7 +215,7 @@ theorem zero_eq_bot : (0 : Submodule R M) = ⊥ :=
#align submodule.zero_eq_bot Submodule.zero_eq_bot
-/
-instance : CanonicallyOrderedAddMonoid (Submodule R M) :=
+instance : CanonicallyOrderedAddCommMonoid (Submodule R M) :=
{ Submodule.pointwiseAddCommMonoid,
Submodule.completeLattice with
zero := 0
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-/
-import Mathbin.GroupTheory.Subgroup.Pointwise
-import Mathbin.LinearAlgebra.Span
+import GroupTheory.Subgroup.Pointwise
+import LinearAlgebra.Span
#align_import algebra.module.submodule.pointwise from "leanprover-community/mathlib"@"1ead22342e1a078bd44744ace999f85756555d35"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -238,7 +238,7 @@ protected def pointwiseDistribMulAction : DistribMulAction α (Submodule R M)
smul a S := S.map (DistribMulAction.toLinearMap R M a : M →ₗ[R] M)
one_smul S :=
(congr_arg (fun f : Module.End R M => S.map f) (LinearMap.ext <| one_smul α)).trans S.map_id
- mul_smul a₁ a₂ S :=
+ hMul_smul a₁ a₂ S :=
(congr_arg (fun f : Module.End R M => S.map f) (LinearMap.ext <| mul_smul _ _)).trans
(S.map_comp _ _)
smul_zero a := map_bot _
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.module.submodule.pointwise
-! leanprover-community/mathlib commit 1ead22342e1a078bd44744ace999f85756555d35
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.GroupTheory.Subgroup.Pointwise
import Mathbin.LinearAlgebra.Span
+#align_import algebra.module.submodule.pointwise from "leanprover-community/mathlib"@"1ead22342e1a078bd44744ace999f85756555d35"
+
/-! # Pointwise instances on `submodule`s
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -68,20 +68,26 @@ scoped[Pointwise] attribute [instance] Submodule.pointwiseNeg
open scoped Pointwise
+#print Submodule.coe_set_neg /-
@[simp]
theorem coe_set_neg (S : Submodule R M) : ↑(-S) = -(S : Set M) :=
rfl
#align submodule.coe_set_neg Submodule.coe_set_neg
+-/
+#print Submodule.neg_toAddSubmonoid /-
@[simp]
theorem neg_toAddSubmonoid (S : Submodule R M) : (-S).toAddSubmonoid = -S.toAddSubmonoid :=
rfl
#align submodule.neg_to_add_submonoid Submodule.neg_toAddSubmonoid
+-/
+#print Submodule.mem_neg /-
@[simp]
theorem mem_neg {g : M} {S : Submodule R M} : g ∈ -S ↔ -g ∈ S :=
Iff.rfl
#align submodule.mem_neg Submodule.mem_neg
+-/
#print Submodule.involutivePointwiseNeg /-
/-- `submodule.has_pointwise_neg` is involutive.
@@ -96,22 +102,29 @@ protected def involutivePointwiseNeg : InvolutiveNeg (Submodule R M)
scoped[Pointwise] attribute [instance] Submodule.involutivePointwiseNeg
+#print Submodule.neg_le_neg /-
@[simp]
theorem neg_le_neg (S T : Submodule R M) : -S ≤ -T ↔ S ≤ T :=
SetLike.coe_subset_coe.symm.trans Set.neg_subset_neg
#align submodule.neg_le_neg Submodule.neg_le_neg
+-/
+#print Submodule.neg_le /-
theorem neg_le (S T : Submodule R M) : -S ≤ T ↔ S ≤ -T :=
SetLike.coe_subset_coe.symm.trans Set.neg_subset
#align submodule.neg_le Submodule.neg_le
+-/
+#print Submodule.negOrderIso /-
/-- `submodule.has_pointwise_neg` as an order isomorphism. -/
def negOrderIso : Submodule R M ≃o Submodule R M
where
toEquiv := Equiv.neg _
map_rel_iff' := neg_le_neg
#align submodule.neg_order_iso Submodule.negOrderIso
+-/
+#print Submodule.closure_neg /-
theorem closure_neg (s : Set M) : span R (-s) = -span R s :=
by
apply le_antisymm
@@ -120,45 +133,60 @@ theorem closure_neg (s : Set M) : span R (-s) = -span R s :=
· rw [neg_le, span_le, coe_set_neg, ← Set.neg_subset]
exact subset_span
#align submodule.closure_neg Submodule.closure_neg
+-/
+#print Submodule.neg_inf /-
@[simp]
theorem neg_inf (S T : Submodule R M) : -(S ⊓ T) = -S ⊓ -T :=
SetLike.coe_injective Set.inter_neg
#align submodule.neg_inf Submodule.neg_inf
+-/
+#print Submodule.neg_sup /-
@[simp]
theorem neg_sup (S T : Submodule R M) : -(S ⊔ T) = -S ⊔ -T :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_sup S T
#align submodule.neg_sup Submodule.neg_sup
+-/
+#print Submodule.neg_bot /-
@[simp]
theorem neg_bot : -(⊥ : Submodule R M) = ⊥ :=
SetLike.coe_injective <| (Set.neg_singleton 0).trans <| congr_arg _ neg_zero
#align submodule.neg_bot Submodule.neg_bot
+-/
+#print Submodule.neg_top /-
@[simp]
theorem neg_top : -(⊤ : Submodule R M) = ⊤ :=
SetLike.coe_injective <| Set.neg_univ
#align submodule.neg_top Submodule.neg_top
+-/
+#print Submodule.neg_iInf /-
@[simp]
theorem neg_iInf {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iInf _
#align submodule.neg_infi Submodule.neg_iInf
+-/
+#print Submodule.neg_iSup /-
@[simp]
theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iSup _
#align submodule.neg_supr Submodule.neg_iSup
+-/
end Semiring
open scoped Pointwise
+#print Submodule.neg_eq_self /-
@[simp]
theorem neg_eq_self [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) : -p = p :=
ext fun _ => p.neg_mem_iff
#align submodule.neg_eq_self Submodule.neg_eq_self
+-/
end Neg
@@ -176,15 +204,19 @@ instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M)
#align submodule.pointwise_add_comm_monoid Submodule.pointwiseAddCommMonoid
-/
+#print Submodule.add_eq_sup /-
@[simp]
theorem add_eq_sup (p q : Submodule R M) : p + q = p ⊔ q :=
rfl
#align submodule.add_eq_sup Submodule.add_eq_sup
+-/
+#print Submodule.zero_eq_bot /-
@[simp]
theorem zero_eq_bot : (0 : Submodule R M) = ⊥ :=
rfl
#align submodule.zero_eq_bot Submodule.zero_eq_bot
+-/
instance : CanonicallyOrderedAddMonoid (Submodule R M) :=
{ Submodule.pointwiseAddCommMonoid,
@@ -200,6 +232,7 @@ section
variable [Monoid α] [DistribMulAction α M] [SMulCommClass α R M]
+#print Submodule.pointwiseDistribMulAction /-
/-- The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the `pointwise` locale. -/
@@ -214,57 +247,77 @@ protected def pointwiseDistribMulAction : DistribMulAction α (Submodule R M)
smul_zero a := map_bot _
smul_add a S₁ S₂ := map_sup _ _ _
#align submodule.pointwise_distrib_mul_action Submodule.pointwiseDistribMulAction
+-/
scoped[Pointwise] attribute [instance] Submodule.pointwiseDistribMulAction
open scoped Pointwise
+#print Submodule.coe_pointwise_smul /-
@[simp]
theorem coe_pointwise_smul (a : α) (S : Submodule R M) : ↑(a • S) = a • (S : Set M) :=
rfl
#align submodule.coe_pointwise_smul Submodule.coe_pointwise_smul
+-/
+#print Submodule.pointwise_smul_toAddSubmonoid /-
@[simp]
theorem pointwise_smul_toAddSubmonoid (a : α) (S : Submodule R M) :
(a • S).toAddSubmonoid = a • S.toAddSubmonoid :=
rfl
#align submodule.pointwise_smul_to_add_submonoid Submodule.pointwise_smul_toAddSubmonoid
+-/
+#print Submodule.pointwise_smul_toAddSubgroup /-
@[simp]
theorem pointwise_smul_toAddSubgroup {R M : Type _} [Ring R] [AddCommGroup M] [DistribMulAction α M]
[Module R M] [SMulCommClass α R M] (a : α) (S : Submodule R M) :
(a • S).toAddSubgroup = a • S.toAddSubgroup :=
rfl
#align submodule.pointwise_smul_to_add_subgroup Submodule.pointwise_smul_toAddSubgroup
+-/
+#print Submodule.smul_mem_pointwise_smul /-
theorem smul_mem_pointwise_smul (m : M) (a : α) (S : Submodule R M) : m ∈ S → a • m ∈ a • S :=
(Set.smul_mem_smul_set : _ → _ ∈ a • (S : Set M))
#align submodule.smul_mem_pointwise_smul Submodule.smul_mem_pointwise_smul
+-/
+#print Submodule.smul_bot' /-
/-- See also `submodule.smul_bot`. -/
@[simp]
theorem smul_bot' (a : α) : a • (⊥ : Submodule R M) = ⊥ :=
map_bot _
#align submodule.smul_bot' Submodule.smul_bot'
+-/
+#print Submodule.smul_sup' /-
/-- See also `submodule.smul_sup`. -/
theorem smul_sup' (a : α) (S T : Submodule R M) : a • (S ⊔ T) = a • S ⊔ a • T :=
map_sup _ _ _
#align submodule.smul_sup' Submodule.smul_sup'
+-/
+#print Submodule.smul_span /-
theorem smul_span (a : α) (s : Set M) : a • span R s = span R (a • s) :=
map_span _ _
#align submodule.smul_span Submodule.smul_span
+-/
+#print Submodule.span_smul /-
theorem span_smul (a : α) (s : Set M) : span R (a • s) = a • span R s :=
Eq.symm (span_image _).symm
#align submodule.span_smul Submodule.span_smul
+-/
+#print Submodule.pointwiseCentralScalar /-
instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass αᵐᵒᵖ R M]
[IsCentralScalar α M] : IsCentralScalar α (Submodule R M) :=
⟨fun a S => (congr_arg fun f : Module.End R M => S.map f) <| LinearMap.ext <| op_smul_eq_smul _⟩
#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalar
+-/
+#print Submodule.smul_le_self_of_tower /-
@[simp]
theorem smul_le_self_of_tower {α : Type _} [Semiring α] [Module α R] [Module α M]
[SMulCommClass α R M] [IsScalarTower α R M] (a : α) (S : Submodule R M) : a • S ≤ S :=
@@ -272,6 +325,7 @@ theorem smul_le_self_of_tower {α : Type _} [Semiring α] [Module α R] [Module
rintro y ⟨x, hx, rfl⟩
exact smul_of_tower_mem _ a hx
#align submodule.smul_le_self_of_tower Submodule.smul_le_self_of_tower
+-/
end
@@ -279,6 +333,7 @@ section
variable [Semiring α] [Module α M] [SMulCommClass α R M]
+#print Submodule.pointwiseMulActionWithZero /-
/-- The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the `pointwise` locale.
@@ -290,6 +345,7 @@ protected def pointwiseMulActionWithZero : MulActionWithZero α (Submodule R M)
zero_smul := fun S =>
(congr_arg (fun f : M →ₗ[R] M => S.map f) (LinearMap.ext <| zero_smul α)).trans S.map_zero }
#align submodule.pointwise_mul_action_with_zero Submodule.pointwiseMulActionWithZero
+-/
scoped[Pointwise] attribute [instance] Submodule.pointwiseMulActionWithZero
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -38,7 +38,7 @@ Most of the lemmas in this file are direct copies of lemmas from
variable {α : Type _} {R : Type _} {M : Type _}
-open Pointwise
+open scoped Pointwise
namespace Submodule
@@ -66,7 +66,7 @@ protected def pointwiseNeg : Neg (Submodule R M)
scoped[Pointwise] attribute [instance] Submodule.pointwiseNeg
-open Pointwise
+open scoped Pointwise
@[simp]
theorem coe_set_neg (S : Submodule R M) : ↑(-S) = -(S : Set M) :=
@@ -153,7 +153,7 @@ theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆
end Semiring
-open Pointwise
+open scoped Pointwise
@[simp]
theorem neg_eq_self [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) : -p = p :=
@@ -217,7 +217,7 @@ protected def pointwiseDistribMulAction : DistribMulAction α (Submodule R M)
scoped[Pointwise] attribute [instance] Submodule.pointwiseDistribMulAction
-open Pointwise
+open scoped Pointwise
@[simp]
theorem coe_pointwise_smul (a : α) (S : Submodule R M) : ↑(a • S) = a • (S : Set M) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -68,34 +68,16 @@ scoped[Pointwise] attribute [instance] Submodule.pointwiseNeg
open Pointwise
-/- warning: submodule.coe_set_neg -> Submodule.coe_set_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u2} (Set.{u2} M) (Set.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u1} (Set.{u1} M) (Set.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S))
-Case conversion may be inaccurate. Consider using '#align submodule.coe_set_neg Submodule.coe_set_negₓ'. -/
@[simp]
theorem coe_set_neg (S : Submodule R M) : ↑(-S) = -(S : Set M) :=
rfl
#align submodule.coe_set_neg Submodule.coe_set_neg
-/- warning: submodule.neg_to_add_submonoid -> Submodule.neg_toAddSubmonoid is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (InvolutiveNeg.toHasNeg.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (AddSubmonoid.hasInvolutiveNeg.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 S))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)))) (Submodule.toAddSubmonoid.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)))) (AddSubmonoid.neg.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)) (Submodule.toAddSubmonoid.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 S))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_to_add_submonoid Submodule.neg_toAddSubmonoidₓ'. -/
@[simp]
theorem neg_toAddSubmonoid (S : Submodule R M) : (-S).toAddSubmonoid = -S.toAddSubmonoid :=
rfl
#align submodule.neg_to_add_submonoid Submodule.neg_toAddSubmonoid
-/- warning: submodule.mem_neg -> Submodule.mem_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {g : M} {S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) g (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S)) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Neg.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))) g) S)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {g : M} {S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) g (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Neg.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) g) S)
-Case conversion may be inaccurate. Consider using '#align submodule.mem_neg Submodule.mem_negₓ'. -/
@[simp]
theorem mem_neg {g : M} {S : Submodule R M} : g ∈ -S ↔ -g ∈ S :=
Iff.rfl
@@ -114,33 +96,15 @@ protected def involutivePointwiseNeg : InvolutiveNeg (Submodule R M)
scoped[Pointwise] attribute [instance] Submodule.involutivePointwiseNeg
-/- warning: submodule.neg_le_neg -> Submodule.neg_le_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T)) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S T)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Iff (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T)) (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S T)
-Case conversion may be inaccurate. Consider using '#align submodule.neg_le_neg Submodule.neg_le_negₓ'. -/
@[simp]
theorem neg_le_neg (S T : Submodule R M) : -S ≤ -T ↔ S ≤ T :=
SetLike.coe_subset_coe.symm.trans Set.neg_subset_neg
#align submodule.neg_le_neg Submodule.neg_le_neg
-/- warning: submodule.neg_le -> Submodule.neg_le is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) T) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Iff (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) T) (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_le Submodule.neg_leₓ'. -/
theorem neg_le (S T : Submodule R M) : -S ≤ T ↔ S ≤ -T :=
SetLike.coe_subset_coe.symm.trans Set.neg_subset
#align submodule.neg_le Submodule.neg_le
-/- warning: submodule.neg_order_iso -> Submodule.negOrderIso is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], OrderIso.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], OrderIso.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_order_iso Submodule.negOrderIsoₓ'. -/
/-- `submodule.has_pointwise_neg` as an order isomorphism. -/
def negOrderIso : Submodule R M ≃o Submodule R M
where
@@ -148,12 +112,6 @@ def negOrderIso : Submodule R M ≃o Submodule R M
map_rel_iff' := neg_le_neg
#align submodule.neg_order_iso Submodule.negOrderIso
-/- warning: submodule.closure_neg -> Submodule.closure_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (s : Set.{u2} M), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.span.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Neg.neg.{u2} (Set.{u2} M) (Set.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) s)) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 s))
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (s : Set.{u2} M), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.span.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Neg.neg.{u2} (Set.{u2} M) (Set.neg.{u2} M (NegZeroClass.toNeg.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) s)) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 s))
-Case conversion may be inaccurate. Consider using '#align submodule.closure_neg Submodule.closure_negₓ'. -/
theorem closure_neg (s : Set M) : span R (-s) = -span R s :=
by
apply le_antisymm
@@ -163,67 +121,31 @@ theorem closure_neg (s : Set M) : span R (-s) = -span R s :=
exact subset_span
#align submodule.closure_neg Submodule.closure_neg
-/- warning: submodule.neg_inf -> Submodule.neg_inf is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) S T)) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S T)) (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_inf Submodule.neg_infₓ'. -/
@[simp]
theorem neg_inf (S T : Submodule R M) : -(S ⊓ T) = -S ⊓ -T :=
SetLike.coe_injective Set.inter_neg
#align submodule.neg_inf Submodule.neg_inf
-/- warning: submodule.neg_sup -> Submodule.neg_sup is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) S T)) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S T)) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_sup Submodule.neg_supₓ'. -/
@[simp]
theorem neg_sup (S T : Submodule R M) : -(S ⊔ T) = -S ⊔ -T :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_sup S T
#align submodule.neg_sup Submodule.neg_sup
-/- warning: submodule.neg_bot -> Submodule.neg_bot is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasBot.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_bot Submodule.neg_botₓ'. -/
@[simp]
theorem neg_bot : -(⊥ : Submodule R M) = ⊥ :=
SetLike.coe_injective <| (Set.neg_singleton 0).trans <| congr_arg _ neg_zero
#align submodule.neg_bot Submodule.neg_bot
-/- warning: submodule.neg_top -> Submodule.neg_top is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_top Submodule.neg_topₓ'. -/
@[simp]
theorem neg_top : -(⊤ : Submodule R M) = ⊤ :=
SetLike.coe_injective <| Set.neg_univ
#align submodule.neg_top Submodule.neg_top
-/- warning: submodule.neg_infi -> Submodule.neg_iInf is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_infi Submodule.neg_iInfₓ'. -/
@[simp]
theorem neg_iInf {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iInf _
#align submodule.neg_infi Submodule.neg_iInf
-/- warning: submodule.neg_supr -> Submodule.neg_iSup is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_supr Submodule.neg_iSupₓ'. -/
@[simp]
theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iSup _
@@ -233,12 +155,6 @@ end Semiring
open Pointwise
-/- warning: submodule.neg_eq_self -> Submodule.neg_eq_self is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M (Ring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) p) p
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M (Ring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) p) p
-Case conversion may be inaccurate. Consider using '#align submodule.neg_eq_self Submodule.neg_eq_selfₓ'. -/
@[simp]
theorem neg_eq_self [Ring R] [AddCommGroup M] [Module R M] (p : Submodule R M) : -p = p :=
ext fun _ => p.neg_mem_iff
@@ -260,23 +176,11 @@ instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M)
#align submodule.pointwise_add_comm_monoid Submodule.pointwiseAddCommMonoid
-/
-/- warning: submodule.add_eq_sup -> Submodule.add_eq_sup is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] (p : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u2, u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (p : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u1, u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q)
-Case conversion may be inaccurate. Consider using '#align submodule.add_eq_sup Submodule.add_eq_supₓ'. -/
@[simp]
theorem add_eq_sup (p q : Submodule R M) : p + q = p ⊔ q :=
rfl
#align submodule.add_eq_sup Submodule.add_eq_sup
-/- warning: submodule.zero_eq_bot -> Submodule.zero_eq_bot is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (OfNat.ofNat.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (OfNat.mk.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (Zero.zero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))))))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (OfNat.ofNat.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (Zero.toOfNat0.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.zero_eq_bot Submodule.zero_eq_botₓ'. -/
@[simp]
theorem zero_eq_bot : (0 : Submodule R M) = ⊥ :=
rfl
@@ -296,12 +200,6 @@ section
variable [Monoid α] [DistribMulAction α M] [SMulCommClass α R M]
-/- warning: submodule.pointwise_distrib_mul_action -> Submodule.pointwiseDistribMulAction is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))], DistribMulAction.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))], DistribMulAction.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.pointwise_distrib_mul_action Submodule.pointwiseDistribMulActionₓ'. -/
/-- The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the `pointwise` locale. -/
@@ -321,35 +219,17 @@ scoped[Pointwise] attribute [instance] Submodule.pointwiseDistribMulAction
open Pointwise
-/- warning: submodule.coe_pointwise_smul -> Submodule.coe_pointwise_smul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (Set.{u3} M) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (HasLiftT.mk.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (CoeTCₓ.coe.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (SetLike.Set.hasCoeT.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S)) (SMul.smul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5)))) a ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (HasLiftT.mk.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (CoeTCₓ.coe.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (SetLike.Set.hasCoeT.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) S))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S)) (HSMul.hSMul.{u1, u2, u2} α (Set.{u2} M) (Set.{u2} M) (instHSMul.{u1, u2} α (Set.{u2} M) (Set.smulSet.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))))) a (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) S))
-Case conversion may be inaccurate. Consider using '#align submodule.coe_pointwise_smul Submodule.coe_pointwise_smulₓ'. -/
@[simp]
theorem coe_pointwise_smul (a : α) (S : Submodule R M) : ↑(a • S) = a • (S : Set M) :=
rfl
#align submodule.coe_pointwise_smul Submodule.coe_pointwise_smul
-/- warning: submodule.pointwise_smul_to_add_submonoid -> Submodule.pointwise_smul_toAddSubmonoid is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (AddSubmonoid.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Submodule.toAddSubmonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3 (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S)) (SMul.smul.{u1, u3} α (AddSubmonoid.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulAction.toHasSmul.{u1, u3} α (AddSubmonoid.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) _inst_4 (AddSubmonoid.pointwiseMulAction.{u1, u3} α M (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_4 _inst_5)) a (Submodule.toAddSubmonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3 S))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Submodule.toAddSubmonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S)) (HSMul.hSMul.{u1, u2, u2} α (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (instHSMul.{u1, u2} α (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulAction.toSMul.{u1, u2} α (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) _inst_4 (AddSubmonoid.pointwiseMulAction.{u1, u2} α M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_4 _inst_5))) a (Submodule.toAddSubmonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3 S))
-Case conversion may be inaccurate. Consider using '#align submodule.pointwise_smul_to_add_submonoid Submodule.pointwise_smul_toAddSubmonoidₓ'. -/
@[simp]
theorem pointwise_smul_toAddSubmonoid (a : α) (S : Submodule R M) :
(a • S).toAddSubmonoid = a • S.toAddSubmonoid :=
rfl
#align submodule.pointwise_smul_to_add_submonoid Submodule.pointwise_smul_toAddSubmonoid
-/- warning: submodule.pointwise_smul_to_add_subgroup -> Submodule.pointwise_smul_toAddSubgroup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_4 : Monoid.{u1} α] {R : Type.{u2}} {M : Type.{u3}} [_inst_7 : Ring.{u2} R] [_inst_8 : AddCommGroup.{u3} M] [_inst_9 : DistribMulAction.{u1, u3} α M _inst_4 (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8)))] [_inst_10 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8)] [_inst_11 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8))))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8)))) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8))) _inst_9))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_8)))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_7))))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_8)))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_7)) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_8)))) (Module.toMulActionWithZero.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10))))] (a : α) (S : Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10), Eq.{succ u3} (AddSubgroup.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8)) (Submodule.toAddSubgroup.{u2, u3} R M _inst_7 _inst_8 _inst_10 (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M (Ring.toSemiring.{u2} R _inst_7) (AddCommGroup.toAddCommMonoid.{u3} M _inst_8) _inst_10 _inst_4 _inst_9 _inst_11)))) a S)) (SMul.smul.{u1, u3} α (AddSubgroup.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8)) (MulAction.toHasSmul.{u1, u3} α (AddSubgroup.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_8)) _inst_4 (AddSubgroup.pointwiseMulAction.{u1, u3} α M (AddCommGroup.toAddGroup.{u3} M _inst_8) _inst_4 _inst_9)) a (Submodule.toAddSubgroup.{u2, u3} R M _inst_7 _inst_8 _inst_10 S))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_4 : Monoid.{u1} α] {R : Type.{u3}} {M : Type.{u2}} [_inst_7 : Ring.{u3} R] [_inst_8 : AddCommGroup.{u2} M] [_inst_9 : DistribMulAction.{u1, u2} α M _inst_4 (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)))] [_inst_10 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8)] [_inst_11 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_8))))) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)))) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8))) _inst_9))) (SMulZeroClass.toSMul.{u3, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_8))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R _inst_7))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_8))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R _inst_7)) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_8))))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10))))] (a : α) (S : Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10), Eq.{succ u2} (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)) (Submodule.toAddSubgroup.{u3, u2} R M _inst_7 _inst_8 _inst_10 (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M (Ring.toSemiring.{u3} R _inst_7) (AddCommGroup.toAddCommMonoid.{u2} M _inst_8) _inst_10 _inst_4 _inst_9 _inst_11))))) a S)) (HSMul.hSMul.{u1, u2, u2} α (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)) (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)) (instHSMul.{u1, u2} α (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)) (MulAction.toSMul.{u1, u2} α (AddSubgroup.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_8)) _inst_4 (AddSubgroup.pointwiseMulAction.{u1, u2} α M (AddCommGroup.toAddGroup.{u2} M _inst_8) _inst_4 _inst_9))) a (Submodule.toAddSubgroup.{u3, u2} R M _inst_7 _inst_8 _inst_10 S))
-Case conversion may be inaccurate. Consider using '#align submodule.pointwise_smul_to_add_subgroup Submodule.pointwise_smul_toAddSubgroupₓ'. -/
@[simp]
theorem pointwise_smul_toAddSubgroup {R M : Type _} [Ring R] [AddCommGroup M] [DistribMulAction α M]
[Module R M] [SMulCommClass α R M] (a : α) (S : Submodule R M) :
@@ -357,67 +237,34 @@ theorem pointwise_smul_toAddSubgroup {R M : Type _} [Ring R] [AddCommGroup M] [D
rfl
#align submodule.pointwise_smul_to_add_subgroup Submodule.pointwise_smul_toAddSubgroup
-/- warning: submodule.smul_mem_pointwise_smul -> Submodule.smul_mem_pointwise_smul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (m : M) (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), (Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)) m S) -> (Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (SMul.smul.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) a m) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (m : M) (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) m S) -> (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} α M M (instHSMul.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5)))) a m) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_mem_pointwise_smul Submodule.smul_mem_pointwise_smulₓ'. -/
theorem smul_mem_pointwise_smul (m : M) (a : α) (S : Submodule R M) : m ∈ S → a • m ∈ a • S :=
(Set.smul_mem_smul_set : _ → _ ∈ a • (S : Set M))
#align submodule.smul_mem_pointwise_smul Submodule.smul_mem_pointwise_smul
-/- warning: submodule.smul_bot' -> Submodule.smul_bot' is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasBot.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.hasBot.{u2, u3} R M _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u3, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_bot' Submodule.smul_bot'ₓ'. -/
/-- See also `submodule.smul_bot`. -/
@[simp]
theorem smul_bot' (a : α) : a • (⊥ : Submodule R M) = ⊥ :=
map_bot _
#align submodule.smul_bot' Submodule.smul_bot'
-/- warning: submodule.smul_sup' -> Submodule.smul_sup' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.smul_sup' Submodule.smul_sup'ₓ'. -/
/-- See also `submodule.smul_sup`. -/
theorem smul_sup' (a : α) (S T : Submodule R M) : a • (S ⊔ T) = a • S ⊔ a • T :=
map_sup _ _ _
#align submodule.smul_sup' Submodule.smul_sup'
-/- warning: submodule.smul_span -> Submodule.smul_span is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (s : Set.{u3} M), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 s)) (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 (SMul.smul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5)))) a s))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (s : Set.{u3} M), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u3, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 s)) (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 (HSMul.hSMul.{u1, u3, u3} α (Set.{u3} M) (Set.{u3} M) (instHSMul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))))) a s))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_span Submodule.smul_spanₓ'. -/
theorem smul_span (a : α) (s : Set M) : a • span R s = span R (a • s) :=
map_span _ _
#align submodule.smul_span Submodule.smul_span
-/- warning: submodule.span_smul -> Submodule.span_smul is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (s : Set.{u3} M), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 (SMul.smul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5)))) a s)) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 s))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (s : Set.{u3} M), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 (HSMul.hSMul.{u1, u3, u3} α (Set.{u3} M) (Set.{u3} M) (instHSMul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))))) a s)) (HSMul.hSMul.{u1, u3, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (Submodule.span.{u2, u3} R M _inst_1 _inst_2 _inst_3 s))
-Case conversion may be inaccurate. Consider using '#align submodule.span_smul Submodule.span_smulₓ'. -/
theorem span_smul (a : α) (s : Set M) : span R (a • s) = a • span R s :=
Eq.symm (span_image _).symm
#align submodule.span_smul Submodule.span_smul
-/- warning: submodule.pointwise_central_scalar -> Submodule.pointwiseCentralScalar is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalarₓ'. -/
instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass αᵐᵒᵖ R M]
[IsCentralScalar α M] : IsCentralScalar α (Submodule R M) :=
⟨fun a S => (congr_arg fun f : Module.End R M => S.map f) <| LinearMap.ext <| op_smul_eq_smul _⟩
#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalar
-/- warning: submodule.smul_le_self_of_tower -> Submodule.smul_le_self_of_tower is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.smul_le_self_of_tower Submodule.smul_le_self_of_towerₓ'. -/
@[simp]
theorem smul_le_self_of_tower {α : Type _} [Semiring α] [Module α R] [Module α M]
[SMulCommClass α R M] [IsScalarTower α R M] (a : α) (S : Submodule R M) : a • S ≤ S :=
@@ -432,12 +279,6 @@ section
variable [Semiring α] [Module α M] [SMulCommClass α R M]
-/- warning: submodule.pointwise_mul_action_with_zero -> Submodule.pointwiseMulActionWithZero is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Semiring.{u1} α] [_inst_5 : Module.{u1, u3} α M _inst_4 _inst_2] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} α M (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_4)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} α M (Semiring.toMonoidWithZero.{u1} α _inst_4) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} α M _inst_4 _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))], MulActionWithZero.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} α _inst_4) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Semiring.{u1} α] [_inst_5 : Module.{u1, u3} α M _inst_4 _inst_2] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} α M (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_4)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} α M (Semiring.toMonoidWithZero.{u1} α _inst_4) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} α M _inst_4 _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))], MulActionWithZero.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} α _inst_4) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align submodule.pointwise_mul_action_with_zero Submodule.pointwiseMulActionWithZeroₓ'. -/
/-- The action on a submodule corresponding to applying the action to every element.
This is available as an instance in the `pointwise` locale.
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -380,10 +380,7 @@ theorem smul_bot' (a : α) : a • (⊥ : Submodule R M) = ⊥ :=
#align submodule.smul_bot' Submodule.smul_bot'
/- warning: submodule.smul_sup' -> Submodule.smul_sup' is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (Sup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) S T)) (Sup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a T))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (Sup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) S T)) (Sup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a T))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.smul_sup' Submodule.smul_sup'ₓ'. -/
/-- See also `submodule.smul_sup`. -/
theorem smul_sup' (a : α) (S T : Submodule R M) : a • (S ⊔ T) = a • S ⊔ a • T :=
@@ -411,10 +408,7 @@ theorem span_smul (a : α) (s : Set M) : span R (a • s) = a • span R s :=
#align submodule.span_smul Submodule.span_smul
/- warning: submodule.pointwise_central_scalar -> Submodule.pointwiseCentralScalar is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_7 : DistribMulAction.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} (MulOpposite.{u1} α) R M (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_9 : IsCentralScalar.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsCentralScalar.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} (MulOpposite.{u1} α) R M _inst_1 _inst_2 _inst_3 (MulOpposite.monoid.{u1} α _inst_4) _inst_7 _inst_8))))
-but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_7 : DistribMulAction.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} (MulOpposite.{u1} α) R M (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_9 : IsCentralScalar.{u1, u3} α M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsCentralScalar.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} (MulOpposite.{u1} α) R M _inst_1 _inst_2 _inst_3 (MulOpposite.monoid.{u1} α _inst_4) _inst_7 _inst_8))))
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalarₓ'. -/
instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass αᵐᵒᵖ R M]
[IsCentralScalar α M] : IsCentralScalar α (Submodule R M) :=
@@ -422,10 +416,7 @@ instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass
#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalar
/- warning: submodule.smul_le_self_of_tower -> Submodule.smul_le_self_of_tower is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_7 : Semiring.{u3} α] [_inst_8 : Module.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))] [_inst_9 : Module.{u3, u2} α M _inst_7 _inst_2] [_inst_10 : SMulCommClass.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))] [_inst_11 : IsScalarTower.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u1} α R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} α R (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} α R (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Module.toMulActionWithZero.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9))))] (a : α) (S : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMul.smul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u3, u1, u2} α R M _inst_1 _inst_2 _inst_3 (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (Module.toDistribMulAction.{u3, u2} α M _inst_7 _inst_2 _inst_9) _inst_10)))) a S) S
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_7 : Semiring.{u3} α] [_inst_8 : Module.{u3, u2} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))] [_inst_9 : Module.{u3, u1} α M _inst_7 _inst_2] [_inst_10 : SMulCommClass.{u3, u2, u1} α R M (SMulZeroClass.toSMul.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} α M (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u3, u1} α M _inst_7 _inst_2 _inst_9)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3))))] [_inst_11 : IsScalarTower.{u3, u2, u1} α R M (SMulZeroClass.toSMul.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u3, u2} α R (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u3, u2} α R (Semiring.toMonoidWithZero.{u3} α _inst_7) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (Module.toMulActionWithZero.{u3, u2} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_8)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} α M (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u3, u1} α M _inst_7 _inst_2 _inst_9))))] (a : α) (S : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3), LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (HSMul.hSMul.{u3, u1, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u3, u2, u1} α R M _inst_1 _inst_2 _inst_3 (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (Module.toDistribMulAction.{u3, u1} α M _inst_7 _inst_2 _inst_9) _inst_10))))) a S) S
+<too large>
Case conversion may be inaccurate. Consider using '#align submodule.smul_le_self_of_tower Submodule.smul_le_self_of_towerₓ'. -/
@[simp]
theorem smul_le_self_of_tower {α : Type _} [Semiring α] [Module α R] [Module α M]
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -116,7 +116,7 @@ scoped[Pointwise] attribute [instance] Submodule.involutivePointwiseNeg
/- warning: submodule.neg_le_neg -> Submodule.neg_le_neg is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T)) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S T)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T)) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S T)
but is expected to have type
forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Iff (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T)) (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S T)
Case conversion may be inaccurate. Consider using '#align submodule.neg_le_neg Submodule.neg_le_negₓ'. -/
@@ -127,7 +127,7 @@ theorem neg_le_neg (S T : Submodule R M) : -S ≤ -T ↔ S ≤ T :=
/- warning: submodule.neg_le -> Submodule.neg_le is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) T) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Iff (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) T) (LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
but is expected to have type
forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Iff (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) T) (LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
Case conversion may be inaccurate. Consider using '#align submodule.neg_le Submodule.neg_leₓ'. -/
@@ -137,7 +137,7 @@ theorem neg_le (S T : Submodule R M) : -S ≤ T ↔ S ≤ -T :=
/- warning: submodule.neg_order_iso -> Submodule.negOrderIso is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], OrderIso.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], OrderIso.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))
but is expected to have type
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], OrderIso.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))))
Case conversion may be inaccurate. Consider using '#align submodule.neg_order_iso Submodule.negOrderIsoₓ'. -/
@@ -423,7 +423,7 @@ instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass
/- warning: submodule.smul_le_self_of_tower -> Submodule.smul_le_self_of_tower is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_7 : Semiring.{u3} α] [_inst_8 : Module.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))] [_inst_9 : Module.{u3, u2} α M _inst_7 _inst_2] [_inst_10 : SMulCommClass.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))] [_inst_11 : IsScalarTower.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u1} α R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} α R (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} α R (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Module.toMulActionWithZero.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9))))] (a : α) (S : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMul.smul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u3, u1, u2} α R M _inst_1 _inst_2 _inst_3 (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (Module.toDistribMulAction.{u3, u2} α M _inst_7 _inst_2 _inst_9) _inst_10)))) a S) S
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_7 : Semiring.{u3} α] [_inst_8 : Module.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))] [_inst_9 : Module.{u3, u2} α M _inst_7 _inst_2] [_inst_10 : SMulCommClass.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3))))] [_inst_11 : IsScalarTower.{u3, u1, u2} α R M (SMulZeroClass.toHasSmul.{u3, u1} α R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (SMulWithZero.toSmulZeroClass.{u3, u1} α R (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} α R (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))) (Module.toMulActionWithZero.{u3, u1} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_8)))) (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u3, u2} α M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u3, u2} α M (MulZeroClass.toHasZero.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α (MonoidWithZero.toMulZeroOneClass.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u3, u2} α M _inst_7 _inst_2 _inst_9))))] (a : α) (S : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (SMul.smul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u3, u2} α (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u3, u1, u2} α R M _inst_1 _inst_2 _inst_3 (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (Module.toDistribMulAction.{u3, u2} α M _inst_7 _inst_2 _inst_9) _inst_10)))) a S) S
but is expected to have type
forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] {α : Type.{u3}} [_inst_7 : Semiring.{u3} α] [_inst_8 : Module.{u3, u2} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)))] [_inst_9 : Module.{u3, u1} α M _inst_7 _inst_2] [_inst_10 : SMulCommClass.{u3, u2, u1} α R M (SMulZeroClass.toSMul.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} α M (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u3, u1} α M _inst_7 _inst_2 _inst_9)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3))))] [_inst_11 : IsScalarTower.{u3, u2, u1} α R M (SMulZeroClass.toSMul.{u3, u2} α R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u3, u2} α R (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u3, u2} α R (Semiring.toMonoidWithZero.{u3} α _inst_7) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (Module.toMulActionWithZero.{u3, u2} α R _inst_7 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_8)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u3, u1} α M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} α M (MonoidWithZero.toZero.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} α M (Semiring.toMonoidWithZero.{u3} α _inst_7) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u3, u1} α M _inst_7 _inst_2 _inst_9))))] (a : α) (S : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3), LE.le.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (HSMul.hSMul.{u3, u1, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u3, u1} α (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u3, u2, u1} α R M _inst_1 _inst_2 _inst_3 (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α _inst_7)) (Module.toDistribMulAction.{u3, u1} α M _inst_7 _inst_2 _inst_9) _inst_10))))) a S) S
Case conversion may be inaccurate. Consider using '#align submodule.smul_le_self_of_tower Submodule.smul_le_self_of_towerₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -207,27 +207,27 @@ theorem neg_top : -(⊤ : Submodule R M) = ⊤ :=
SetLike.coe_injective <| Set.neg_univ
#align submodule.neg_top Submodule.neg_top
-/- warning: submodule.neg_infi -> Submodule.neg_infᵢ is a dubious translation:
+/- warning: submodule.neg_infi -> Submodule.neg_iInf is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_infi Submodule.neg_infᵢₓ'. -/
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => S i))) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
+Case conversion may be inaccurate. Consider using '#align submodule.neg_infi Submodule.neg_iInfₓ'. -/
@[simp]
-theorem neg_infᵢ {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
- (negOrderIso : Submodule R M ≃o Submodule R M).map_infᵢ _
-#align submodule.neg_infi Submodule.neg_infᵢ
+theorem neg_iInf {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
+ (negOrderIso : Submodule R M ≃o Submodule R M).map_iInf _
+#align submodule.neg_infi Submodule.neg_iInf
-/- warning: submodule.neg_supr -> Submodule.neg_supᵢ is a dubious translation:
+/- warning: submodule.neg_supr -> Submodule.neg_iSup is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (S i)))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (supᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (supᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
-Case conversion may be inaccurate. Consider using '#align submodule.neg_supr Submodule.neg_supᵢₓ'. -/
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Sort.{u3}} (S : ι -> (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => S i))) (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))) ι (fun (i : ι) => Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (S i)))
+Case conversion may be inaccurate. Consider using '#align submodule.neg_supr Submodule.neg_iSupₓ'. -/
@[simp]
-theorem neg_supᵢ {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
- (negOrderIso : Submodule R M ≃o Submodule R M).map_supᵢ _
-#align submodule.neg_supr Submodule.neg_supᵢ
+theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
+ (negOrderIso : Submodule R M ≃o Submodule R M).map_iSup _
+#align submodule.neg_supr Submodule.neg_iSup
end Semiring
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -414,7 +414,7 @@ theorem span_smul (a : α) (s : Set M) : span R (a • s) = a • span R s :=
lean 3 declaration is
forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_7 : DistribMulAction.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} (MulOpposite.{u1} α) R M (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_9 : IsCentralScalar.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsCentralScalar.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} (MulOpposite.{u1} α) R M _inst_1 _inst_2 _inst_3 (MulOpposite.monoid.{u1} α _inst_4) _inst_7 _inst_8))))
but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_7 : DistribMulAction.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.instMonoidMulOpposite.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} (MulOpposite.{u1} α) R M (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.instMonoidMulOpposite.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_9 : IsCentralScalar.{u1, u3} α M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.instMonoidMulOpposite.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsCentralScalar.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (MulOpposite.instMonoidMulOpposite.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} (MulOpposite.{u1} α) R M _inst_1 _inst_2 _inst_3 (MulOpposite.instMonoidMulOpposite.{u1} α _inst_4) _inst_7 _inst_8))))
+ forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_7 : DistribMulAction.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} (MulOpposite.{u1} α) R M (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7))) (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] [_inst_9 : IsCentralScalar.{u1, u3} α M (SMulZeroClass.toSMul.{u1, u3} α M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) M (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsCentralScalar.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (SMulZeroClass.toSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} (MulOpposite.{u1} α) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (MulOpposite.monoid.{u1} α _inst_4) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} (MulOpposite.{u1} α) R M _inst_1 _inst_2 _inst_3 (MulOpposite.monoid.{u1} α _inst_4) _inst_7 _inst_8))))
Case conversion may be inaccurate. Consider using '#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalarₓ'. -/
instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass αᵐᵒᵖ R M]
[IsCentralScalar α M] : IsCentralScalar α (Submodule R M) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/02ba8949f486ebecf93fe7460f1ed0564b5e442c
@@ -72,7 +72,7 @@ open Pointwise
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u2} (Set.{u2} M) (Set.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) S))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u1} (Set.{u1} M) (Set.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Neg.neg.{u1} (Set.{u1} M) (Set.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S))
Case conversion may be inaccurate. Consider using '#align submodule.coe_set_neg Submodule.coe_set_negₓ'. -/
@[simp]
theorem coe_set_neg (S : Submodule R M) : ↑(-S) = -(S : Set M) :=
@@ -94,7 +94,7 @@ theorem neg_toAddSubmonoid (S : Submodule R M) : (-S).toAddSubmonoid = -S.toAddS
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {g : M} {S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) g (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S)) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Neg.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))) g) S)
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {g : M} {S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) g (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Neg.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) g) S)
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {g : M} {S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) g (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S)) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) M (Submodule.setLike.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Neg.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) g) S)
Case conversion may be inaccurate. Consider using '#align submodule.mem_neg Submodule.mem_negₓ'. -/
@[simp]
theorem mem_neg {g : M} {S : Submodule R M} : g ∈ -S ↔ -g ∈ S :=
@@ -325,7 +325,7 @@ open Pointwise
lean 3 declaration is
forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (Set.{u3} M) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (HasLiftT.mk.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (CoeTCₓ.coe.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (SetLike.Set.hasCoeT.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S)) (SMul.smul.{u1, u3} α (Set.{u3} M) (Set.smulSet.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5)))) a ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (HasLiftT.mk.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (CoeTCₓ.coe.{succ u3, succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Set.{u3} M) (SetLike.Set.hasCoeT.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) S))
but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S)) (HSMul.hSMul.{u1, u2, u2} α (Set.{u2} M) (Set.{u2} M) (instHSMul.{u1, u2} α (Set.{u2} M) (Set.smulSet.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))))) a (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) S))
+ forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S)) (HSMul.hSMul.{u1, u2, u2} α (Set.{u2} M) (Set.{u2} M) (instHSMul.{u1, u2} α (Set.{u2} M) (Set.smulSet.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))))) a (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3) S))
Case conversion may be inaccurate. Consider using '#align submodule.coe_pointwise_smul Submodule.coe_pointwise_smulₓ'. -/
@[simp]
theorem coe_pointwise_smul (a : α) (S : Submodule R M) : ↑(a • S) = a • (S : Set M) :=
@@ -361,7 +361,7 @@ theorem pointwise_smul_toAddSubgroup {R M : Type _} [Ring R] [AddCommGroup M] [D
lean 3 declaration is
forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (m : M) (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), (Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)) m S) -> (Membership.Mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (SMul.smul.{u1, u3} α M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) a m) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S))
but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (m : M) (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) m S) -> (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} α M M (instHSMul.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5)))) a m) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S))
+ forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (m : M) (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) m S) -> (Membership.mem.{u2, u2} M (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) M (Submodule.setLike.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} α M M (instHSMul.{u1, u2} α M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5)))) a m) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S))
Case conversion may be inaccurate. Consider using '#align submodule.smul_mem_pointwise_smul Submodule.smul_mem_pointwise_smulₓ'. -/
theorem smul_mem_pointwise_smul (m : M) (a : α) (S : Submodule R M) : m ∈ S → a • m ∈ a • S :=
(Set.smul_mem_smul_set : _ → _ ∈ a • (S : Set M))
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -165,9 +165,9 @@ theorem closure_neg (s : Set M) : span R (-s) = -span R s :=
/- warning: submodule.neg_inf -> Submodule.neg_inf is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HasInf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) S T)) (HasInf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) S T)) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HasInf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instHasInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S T)) (HasInf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instHasInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) S T)) (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
Case conversion may be inaccurate. Consider using '#align submodule.neg_inf Submodule.neg_infₓ'. -/
@[simp]
theorem neg_inf (S T : Submodule R M) : -(S ⊓ T) = -S ⊓ -T :=
@@ -176,9 +176,9 @@ theorem neg_inf (S T : Submodule R M) : -(S ⊓ T) = -S ⊓ -T :=
/- warning: submodule.neg_sup -> Submodule.neg_sup is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) S T)) (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (S : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (T : Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) S T)) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u2} (Submodule.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u1, u2} R M _inst_1 _inst_2 _inst_3) T))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S T)) (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (S : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (T : Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) S T)) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) S) (Neg.neg.{u1} (Submodule.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.pointwiseNeg.{u2, u1} R M _inst_1 _inst_2 _inst_3) T))
Case conversion may be inaccurate. Consider using '#align submodule.neg_sup Submodule.neg_supₓ'. -/
@[simp]
theorem neg_sup (S T : Submodule R M) : -(S ⊔ T) = -S ⊔ -T :=
@@ -262,9 +262,9 @@ instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M)
/- warning: submodule.add_eq_sup -> Submodule.add_eq_sup is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] (p : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u2, u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q) (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M _inst_1 _inst_2] (p : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u2, u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (p : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u1, u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q) (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q)
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : Module.{u2, u1} R M _inst_1 _inst_2] (p : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (q : Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u1, u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) p q)
Case conversion may be inaccurate. Consider using '#align submodule.add_eq_sup Submodule.add_eq_supₓ'. -/
@[simp]
theorem add_eq_sup (p q : Submodule R M) : p + q = p ⊔ q :=
@@ -381,9 +381,9 @@ theorem smul_bot' (a : α) : a • (⊥ : Submodule R M) = ⊥ :=
/- warning: submodule.smul_sup' -> Submodule.smul_sup' is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (HasSup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) S T)) (HasSup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a T))
+ forall {α : Type.{u1}} {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u2, u3} α R M (SMulZeroClass.toHasSmul.{u1, u3} α M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u1, u3} α M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u3} α M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u2, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u3} R M (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a (Sup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) S T)) (Sup.sup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M _inst_1 _inst_2 _inst_3))))) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a S) (SMul.smul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)))) (DistribSMul.toSmulZeroClass.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u3} α (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u2, u3} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u2, u3} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) a T))
but is expected to have type
- forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (HasSup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) S T)) (HasSup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a T))
+ forall {α : Type.{u1}} {R : Type.{u3}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u1} α] [_inst_5 : DistribMulAction.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2)] [_inst_6 : SMulCommClass.{u1, u3, u2} α R M (SMulZeroClass.toSMul.{u1, u2} α M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} α M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u1, u2} α M _inst_4 (AddCommMonoid.toAddMonoid.{u2} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_2 _inst_3))))] (a : α) (S : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (T : Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a (Sup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) S T)) (Sup.sup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.completeLattice.{u3, u2} R M _inst_1 _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a S) (HSMul.hSMul.{u1, u2, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toZero.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3))) (DistribMulAction.toDistribSMul.{u1, u2} α (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) _inst_4 (AddCommMonoid.toAddMonoid.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.pointwiseAddCommMonoid.{u3, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.pointwiseDistribMulAction.{u1, u3, u2} α R M _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) a T))
Case conversion may be inaccurate. Consider using '#align submodule.smul_sup' Submodule.smul_sup'ₓ'. -/
/-- See also `submodule.smul_sup`. -/
theorem smul_sup' (a : α) (S T : Submodule R M) : a • (S ⊔ T) = a • S ⊔ a • T :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Everywhere we have a smul_mem_pointwise_smul
lemma, I've added this result.
@@ -8,6 +8,7 @@ import Mathlib.LinearAlgebra.Span
import Mathlib.LinearAlgebra.Finsupp
import Mathlib.RingTheory.Ideal.Basic
import Mathlib.Algebra.Module.BigOperators
+import Mathlib.Algebra.Order.Group.Action
#align_import algebra.module.submodule.pointwise from "leanprover-community/mathlib"@"48085f140e684306f9e7da907cd5932056d1aded"
@@ -240,6 +241,9 @@ theorem smul_mem_pointwise_smul (m : M) (a : α) (S : Submodule R M) : m ∈ S
(Set.smul_mem_smul_set : _ → _ ∈ a • (S : Set M))
#align submodule.smul_mem_pointwise_smul Submodule.smul_mem_pointwise_smul
+instance : CovariantClass α (Submodule R M) HSMul.hSMul LE.le :=
+ ⟨fun _ _ => map_mono⟩
+
/-- See also `Submodule.smul_bot`. -/
@[simp]
theorem smul_bot' (a : α) : a • (⊥ : Submodule R M) = ⊥ :=
@@ -374,10 +378,14 @@ lemma set_smul_eq_of_le (p : Submodule R M)
s • N = p :=
le_antisymm (set_smul_le s N p closed_under_smul) le
-lemma set_smul_mono_right {p q : Submodule R M} (le : p ≤ q) :
+instance : CovariantClass (Set S) (Submodule R M) HSMul.hSMul LE.le :=
+ ⟨fun _ _ _ le => set_smul_le _ _ _ fun _ _ hr hm => mem_set_smul_of_mem_mem (mem1 := hr)
+ (mem2 := le hm)⟩
+
+-- 2024-03-31
+@[deprecated smul_mono_right] theorem set_smul_mono_right {p q : Submodule R M} (le : p ≤ q) :
s • p ≤ s • q :=
- set_smul_le _ _ _ fun _ _ hr hm => mem_set_smul_of_mem_mem (mem1 := hr)
- (mem2 := le hm)
+ smul_mono_right s le
lemma set_smul_mono_left {s t : Set S} (le : s ≤ t) :
s • N ≤ t • N :=
@@ -386,7 +394,7 @@ lemma set_smul_mono_left {s t : Set S} (le : s ≤ t) :
lemma set_smul_le_of_le_le {s t : Set S} {p q : Submodule R M}
(le_set : s ≤ t) (le_submodule : p ≤ q) : s • p ≤ t • q :=
- le_trans (set_smul_mono_left _ le_set) <| set_smul_mono_right _ le_submodule
+ le_trans (set_smul_mono_left _ le_set) <| smul_mono_right _ le_submodule
variable {s N} in
/--
@@ -545,8 +553,7 @@ protected def pointwiseSetDistribMulAction [SMulCommClass R R M] :
rw [smul_add, add_eq_sup, Submodule.mem_sup]
exact ⟨r • a, mem_set_smul_of_mem_mem (mem1 := hr) (mem2 := ha),
r • b, mem_set_smul_of_mem_mem (mem1 := hr) (mem2 := hb), rfl⟩)
- (sup_le_iff.mpr ⟨set_smul_mono_right _ le_sup_left,
- set_smul_mono_right _ le_sup_right⟩)
+ (sup_le_iff.mpr ⟨smul_mono_right _ le_sup_left, smul_mono_right _ le_sup_right⟩)
scoped[Pointwise] attribute [instance] Submodule.pointwiseSetDistribMulAction
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -331,7 +331,6 @@ then this action actually gives a module structure on submodules of `M` over sub
section set_acting_on_submodules
variable {S : Type*} [Monoid S]
-
variable [AddCommMonoid M] [Module R M] [DistribMulAction S M]
/--
nsmul
and zsmul
to default automatically (#6262)
This PR removes the default values for nsmul
and zsmul
, forcing the user to populate them manually.
The previous behavior can be obtained by writing nsmul := nsmulRec
and zsmul := zsmulRec
, which is now in the docstring for these fields.
The motivation here is to make it more obvious when module diamonds are being introduced, or at least where they might be hiding; you can now simply search for nsmulRec
in the source code.
Arguably we should do the same thing for intCast
, natCast
, pow
, and zpow
too, but diamonds are less common in those fields, so I'll leave them to a subsequent PR.
Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -164,14 +164,18 @@ end Neg
variable [Semiring R] [AddCommMonoid M] [Module R M]
-instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M)
- where
+instance pointwiseZero : Zero (Submodule R M) where
+ zero := ⊥
+
+instance pointwiseAdd : Add (Submodule R M) where
add := (· ⊔ ·)
+
+instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M) where
add_assoc := sup_assoc
- zero := ⊥
zero_add := bot_sup_eq
add_zero := sup_bot_eq
add_comm := sup_comm
+ nsmul := nsmulRec
#align submodule.pointwise_add_comm_monoid Submodule.pointwiseAddCommMonoid
@[simp]
Those lemmas have historically been very annoying to use in rw
since all their arguments were implicit. One too many people complained about it on Zulip, so I'm changing them.
Downstream code broken by this change can fix it by adding appropriately many _
s.
Also marks CauSeq.ext
@[ext]
.
Order.BoundedOrder
top_sup_eq
sup_top_eq
bot_sup_eq
sup_bot_eq
top_inf_eq
inf_top_eq
bot_inf_eq
inf_bot_eq
Order.Lattice
sup_idem
sup_comm
sup_assoc
sup_left_idem
sup_right_idem
inf_idem
inf_comm
inf_assoc
inf_left_idem
inf_right_idem
sup_inf_left
sup_inf_right
inf_sup_left
inf_sup_right
Order.MinMax
max_min_distrib_left
max_min_distrib_right
min_max_distrib_left
min_max_distrib_right
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -167,11 +167,11 @@ variable [Semiring R] [AddCommMonoid M] [Module R M]
instance pointwiseAddCommMonoid : AddCommMonoid (Submodule R M)
where
add := (· ⊔ ·)
- add_assoc _ _ _ := sup_assoc
+ add_assoc := sup_assoc
zero := ⊥
- zero_add _ := bot_sup_eq
- add_zero _ := sup_bot_eq
- add_comm _ _ := sup_comm
+ zero_add := bot_sup_eq
+ add_zero := sup_bot_eq
+ add_comm := sup_comm
#align submodule.pointwise_add_comm_monoid Submodule.pointwiseAddCommMonoid
@[simp]
@@ -35,10 +35,10 @@ These actions are available in the `Pointwise` locale.
For an `R`-module `M`, The action of a subset of `R` acting on a submodule of `M` introduced in
section `set_acting_on_submodules` does not have a counterpart in
-`GroupTheory/Submonoid/Pointwise.lean`.
+`Mathlib/GroupTheory/Submonoid/Pointwise.lean`.
Other than section `set_acting_on_submodules`, most of the lemmas in this file are direct copies of
-lemmas from `GroupTheory/Submonoid/Pointwise.lean`.
+lemmas from `Mathlib/GroupTheory/Submonoid/Pointwise.lean`.
-/
@@ -447,7 +447,7 @@ lemma set_smul_eq_map [SMulCommClass R R N] :
exact fun p hp ↦ hp hr hn
· aesop
-lemma mem_set_smul(x : M) [SMulCommClass R R N] :
+lemma mem_set_smul (x : M) [SMulCommClass R R N] :
x ∈ sR • N ↔ ∃ (c : R →₀ N), (c.support : Set R) ⊆ sR ∧ x = c.sum fun r m ↦ r • m := by
fconstructor
· intros h
@@ -508,7 +508,7 @@ protected def pointwiseSetMulAction [SMulCommClass R R M] :
fun h => ⟨m, h, (one_smul _ _).symm⟩⟩
mul_smul s t x := le_antisymm
(set_smul_le _ _ _ <| by rintro _ _ ⟨_, _, _, _, rfl⟩ _; rw [mul_smul]; aesop)
- (set_smul_le _ _ _ <| fun r m hr hm ↦ by
+ (set_smul_le _ _ _ fun r m hr hm ↦ by
have : SMulCommClass R R x := ⟨fun r s m => Subtype.ext <| smul_comm _ _ _⟩
obtain ⟨c, hc1, rfl⟩ := mem_set_smul _ _ _ |>.mp hm
simp only [Finsupp.sum, AddSubmonoid.coe_finset_sum, coe_toAddSubmonoid, SetLike.val_smul,
Set.image2
etc (#9275)
Set.image2
to use ∃ a ∈ s, ∃ b ∈ t, f a b = c
instead of ∃ a b, a ∈ s ∧ b ∈ t ∧ f a b = c
.Set.seq
as Set.image2
. The new definition is equal to the old one but rw [Set.seq]
gives a different result.Filter.map₂
to use ∃ u ∈ f, ∃ v ∈ g, image2 m u v ⊆ s
instead of ∃ u v, u ∈ f ∧ v ∈ g ∧ ...
Set.mem_image2
, Finset.mem_image₂
, Set.mem_mul
, Finset.mem_div
etcThe two reasons to make the change are:
∃ a ∈ s, ∃ b ∈ t, _
is a simp
-normal form, and@@ -508,14 +508,13 @@ protected def pointwiseSetMulAction [SMulCommClass R R M] :
fun h => ⟨m, h, (one_smul _ _).symm⟩⟩
mul_smul s t x := le_antisymm
(set_smul_le _ _ _ <| by rintro _ _ ⟨_, _, _, _, rfl⟩ _; rw [mul_smul]; aesop)
- (set_smul_le _ _ _ <| by
- rintro r m hr hm
+ (set_smul_le _ _ _ <| fun r m hr hm ↦ by
have : SMulCommClass R R x := ⟨fun r s m => Subtype.ext <| smul_comm _ _ _⟩
obtain ⟨c, hc1, rfl⟩ := mem_set_smul _ _ _ |>.mp hm
simp only [Finsupp.sum, AddSubmonoid.coe_finset_sum, coe_toAddSubmonoid, SetLike.val_smul,
- Finset.smul_sum]
- exact Submodule.sum_mem _ fun r' hr' ↦ mul_smul r r' (c r' : M) ▸
- mem_set_smul_of_mem_mem (mem1 := ⟨r, r', hr, hc1 hr', rfl⟩) (mem2 := (c _).2))
+ Finset.smul_sum, smul_smul]
+ exact Submodule.sum_mem _ fun r' hr' ↦
+ mem_set_smul_of_mem_mem (Set.mul_mem_mul hr (hc1 hr')) (c _).2)
scoped[Pointwise] attribute [instance] Submodule.pointwiseSetMulAction
If $M$ is an $R$-module, $N$ a submodule and $S$ a subset of $R$. Then we can define $S \cdot N$ to be the smallest submodule containing all $s \cdot n$ where $s \in S$ and $n \in N$
Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -1,10 +1,13 @@
/-
Copyright (c) 2021 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
-Authors: Eric Wieser
+Authors: Eric Wieser, Jujian Zhang
-/
import Mathlib.GroupTheory.Subgroup.Pointwise
import Mathlib.LinearAlgebra.Span
+import Mathlib.LinearAlgebra.Finsupp
+import Mathlib.RingTheory.Ideal.Basic
+import Mathlib.Algebra.Module.BigOperators
#align_import algebra.module.submodule.pointwise from "leanprover-community/mathlib"@"48085f140e684306f9e7da907cd5932056d1aded"
@@ -21,12 +24,21 @@ and the actions
which matches the action of `Set.mulActionSet`.
+This file also provides:
+* `Submodule.pointwiseSetSMulSubmodule`: for `R`-module `M`, a `s : Set R` can act on
+ `N : Submodule R M` by defining `s • N` to be the smallest submodule containing all `a • n`
+ where `a ∈ s` and `n ∈ N`.
+
These actions are available in the `Pointwise` locale.
## Implementation notes
-Most of the lemmas in this file are direct copies of lemmas from
+For an `R`-module `M`, The action of a subset of `R` acting on a submodule of `M` introduced in
+section `set_acting_on_submodules` does not have a counterpart in
`GroupTheory/Submonoid/Pointwise.lean`.
+
+Other than section `set_acting_on_submodules`, most of the lemmas in this file are direct copies of
+lemmas from `GroupTheory/Submonoid/Pointwise.lean`.
-/
@@ -277,4 +289,290 @@ scoped[Pointwise] attribute [instance] Submodule.pointwiseMulActionWithZero
end
+/-!
+### Sets acting on Submodules
+
+Let `R` be a (semi)ring and `M` an `R`-module. Let `S` be a monoid which acts on `M` distributively,
+then subsets of `S` can act on submodules of `M`.
+For subset `s ⊆ S` and submodule `N ≤ M`, we define `s • N` to be the smallest submodule containing
+all `r • n` where `r ∈ s` and `n ∈ N`.
+
+#### Results
+For arbitrary monoids `S` acting distributively on `M`, there is an induction principle for `s • N`:
+To prove `P` holds for all `s • N`, it is enough
+to prove:
+- for all `r ∈ s` and `n ∈ N`, `P (r • n)`;
+- for all `r` and `m ∈ s • N`, `P (r • n)`;
+- for all `m₁, m₂`, `P m₁` and `P m₂` implies `P (m₁ + m₂)`;
+- `P 0`.
+
+To invoke this induction principal, use `induction x, hx using Submodule.set_smul_inductionOn` where
+`x : M` and `hx : x ∈ s • N`
+
+When we consider subset of `R` acting on `M`
+- `Submodule.pointwiseSetDistribMulAction` : the action described above is distributive.
+- `Submodule.mem_set_smul` : `x ∈ s • N` iff `x` can be written as `r₀ n₀ + ... + rₖ nₖ` where
+ `rᵢ ∈ s` and `nᵢ ∈ N`.
+- `Submodule.coe_span_smul`: `s • N` is the same as `⟨s⟩ • N` where `⟨s⟩` is the ideal spanned
+ by `s`.
+
+
+#### Notes
+- If we assume the addition on subsets of `R` is the `⊔` and subtraction `⊓` i.e. use `SetSemiring`,
+then this action actually gives a module structure on submodules of `M` over subsets of `R`.
+- If we generalize so that `r • N` makes sense for all `r : S`, then `Submodule.singleton_set_smul`
+ and `Submodule.singleton_set_smul` can be generalized as well.
+-/
+
+section set_acting_on_submodules
+
+variable {S : Type*} [Monoid S]
+
+variable [AddCommMonoid M] [Module R M] [DistribMulAction S M]
+
+/--
+Let `s ⊆ R` be a set and `N ≤ M` be a submodule, then `s • N` is the smallest submodule containing
+all `r • n` where `r ∈ s` and `n ∈ N`.
+-/
+protected def pointwiseSetSMul : SMul (Set S) (Submodule R M) where
+ smul s N := sInf { p | ∀ ⦃r : S⦄ ⦃n : M⦄, r ∈ s → n ∈ N → r • n ∈ p }
+
+scoped[Pointwise] attribute [instance] Submodule.pointwiseSetSMul
+
+variable (sR : Set R) (s : Set S) (N : Submodule R M)
+
+lemma mem_set_smul_def (x : M) :
+ x ∈ s • N ↔
+ x ∈ sInf { p : Submodule R M | ∀ ⦃r : S⦄ {n : M}, r ∈ s → n ∈ N → r • n ∈ p } := Iff.rfl
+
+variable {s N} in
+@[aesop safe]
+lemma mem_set_smul_of_mem_mem {r : S} {m : M} (mem1 : r ∈ s) (mem2 : m ∈ N) :
+ r • m ∈ s • N := by
+ rw [mem_set_smul_def, mem_sInf]
+ exact fun _ h => h mem1 mem2
+
+lemma set_smul_le (p : Submodule R M)
+ (closed_under_smul : ∀ ⦃r : S⦄ ⦃n : M⦄, r ∈ s → n ∈ N → r • n ∈ p) :
+ s • N ≤ p :=
+ sInf_le closed_under_smul
+
+lemma set_smul_le_iff (p : Submodule R M) :
+ s • N ≤ p ↔
+ ∀ ⦃r : S⦄ ⦃n : M⦄, r ∈ s → n ∈ N → r • n ∈ p := by
+ fconstructor
+ · intro h r n hr hn
+ exact h <| mem_set_smul_of_mem_mem hr hn
+ · apply set_smul_le
+
+lemma set_smul_eq_of_le (p : Submodule R M)
+ (closed_under_smul : ∀ ⦃r : S⦄ ⦃n : M⦄, r ∈ s → n ∈ N → r • n ∈ p)
+ (le : p ≤ s • N) :
+ s • N = p :=
+ le_antisymm (set_smul_le s N p closed_under_smul) le
+
+lemma set_smul_mono_right {p q : Submodule R M} (le : p ≤ q) :
+ s • p ≤ s • q :=
+ set_smul_le _ _ _ fun _ _ hr hm => mem_set_smul_of_mem_mem (mem1 := hr)
+ (mem2 := le hm)
+
+lemma set_smul_mono_left {s t : Set S} (le : s ≤ t) :
+ s • N ≤ t • N :=
+ set_smul_le _ _ _ fun _ _ hr hm => mem_set_smul_of_mem_mem (mem1 := le hr)
+ (mem2 := hm)
+
+lemma set_smul_le_of_le_le {s t : Set S} {p q : Submodule R M}
+ (le_set : s ≤ t) (le_submodule : p ≤ q) : s • p ≤ t • q :=
+ le_trans (set_smul_mono_left _ le_set) <| set_smul_mono_right _ le_submodule
+
+variable {s N} in
+/--
+Induction principal for set acting on submodules. To prove `P` holds for all `s • N`, it is enough
+to prove:
+- for all `r ∈ s` and `n ∈ N`, `P (r • n)`;
+- for all `r` and `m ∈ s • N`, `P (r • n)`;
+- for all `m₁, m₂`, `P m₁` and `P m₂` implies `P (m₁ + m₂)`;
+- `P 0`.
+
+To invoke this induction principal, use `induction x, hx using Submodule.set_smul_inductionOn` where
+`x : M` and `hx : x ∈ s • N`
+-/
+@[elab_as_elim]
+lemma set_smul_inductionOn {motive : (x : M) → (_ : x ∈ s • N) → Prop}
+ (x : M)
+ (hx : x ∈ s • N)
+ (smul₀ : ∀ ⦃r : S⦄ ⦃n : M⦄ (mem₁ : r ∈ s) (mem₂ : n ∈ N),
+ motive (r • n) (mem_set_smul_of_mem_mem mem₁ mem₂))
+ (smul₁ : ∀ (r : R) ⦃m : M⦄ (mem : m ∈ s • N) ,
+ motive m mem → motive (r • m) (Submodule.smul_mem _ r mem)) --
+ (add : ∀ ⦃m₁ m₂ : M⦄ (mem₁: m₁ ∈ s • N) (mem₂ : m₂ ∈ s • N),
+ motive m₁ mem₁ → motive m₂ mem₂ → motive (m₁ + m₂) (Submodule.add_mem _ mem₁ mem₂))
+ (zero : motive 0 (Submodule.zero_mem _)) :
+ motive x hx :=
+ let ⟨_, h⟩ := set_smul_le s N
+ { carrier := { m | ∃ (mem : m ∈ s • N), motive m mem },
+ zero_mem' := ⟨Submodule.zero_mem _, zero⟩
+ add_mem' := fun ⟨mem, h⟩ ⟨mem', h'⟩ ↦ ⟨_, add mem mem' h h'⟩
+ smul_mem' := fun r _ ⟨mem, h⟩ ↦ ⟨_, smul₁ r mem h⟩ }
+ (fun _ _ mem mem' ↦ ⟨mem_set_smul_of_mem_mem mem mem', smul₀ mem mem'⟩) hx
+ h
+
+-- Implementation note: if `N` is both an `R`-submodule and `S`-submodule and `SMulCommClass R S M`,
+-- this lemma is also true for any `s : Set S`.
+lemma set_smul_eq_map [SMulCommClass R R N] :
+ sR • N =
+ Submodule.map
+ (N.subtype.comp (Finsupp.lsum R <| DistribMulAction.toLinearMap _ _))
+ (Finsupp.supported N R sR) := by
+ classical
+ apply set_smul_eq_of_le
+ · intro r n hr hn
+ exact ⟨Finsupp.single r ⟨n, hn⟩, Finsupp.single_mem_supported _ _ hr, by simp⟩
+
+ · intro x hx
+ obtain ⟨c, hc, rfl⟩ := hx
+ simp only [LinearMap.coe_comp, coeSubtype, Finsupp.coe_lsum, Finsupp.sum, LinearMap.coe_mk,
+ AddHom.coe_mk, Function.comp_apply, AddSubmonoid.coe_finset_sum, coe_toAddSubmonoid,
+ SetLike.val_smul]
+ refine Submodule.sum_mem (p := sR • N) (t := c.support) ?_ _ ⟨sR • N, ?_⟩
+ · rintro r hr
+ rw [mem_set_smul_def, Submodule.mem_sInf]
+ rintro p hp
+ exact hp (hc hr) (c r).2
+ · ext x : 1
+ simp only [Set.mem_iInter, SetLike.mem_coe]
+ fconstructor
+ · refine fun h ↦ h fun r n hr hn ↦ ?_
+ rw [mem_set_smul_def, mem_sInf]
+ exact fun p hp ↦ hp hr hn
+ · aesop
+
+lemma mem_set_smul(x : M) [SMulCommClass R R N] :
+ x ∈ sR • N ↔ ∃ (c : R →₀ N), (c.support : Set R) ⊆ sR ∧ x = c.sum fun r m ↦ r • m := by
+ fconstructor
+ · intros h
+ rw [set_smul_eq_map] at h
+ obtain ⟨c, hc, rfl⟩ := h
+ exact ⟨c, hc, rfl⟩
+
+ · rw [mem_set_smul_def, Submodule.mem_sInf]
+ rintro ⟨c, hc1, rfl⟩ p hp
+ simp only [Finsupp.sum, AddSubmonoid.coe_finset_sum, coe_toAddSubmonoid, SetLike.val_smul]
+ exact Submodule.sum_mem _ fun r hr ↦ hp (hc1 hr) (c _).2
+
+@[simp] lemma empty_set_smul : (∅ : Set S) • N = ⊥ := by
+ ext
+ fconstructor
+ · intro hx
+ rw [mem_set_smul_def, Submodule.mem_sInf] at hx
+ exact hx ⊥ (fun r _ hr ↦ hr.elim)
+ · rintro rfl; exact Submodule.zero_mem _
+
+@[simp] lemma set_smul_bot : s • (⊥ : Submodule R M) = ⊥ :=
+ eq_bot_iff.mpr fun x hx ↦ by induction x, hx using set_smul_inductionOn <;> aesop
+
+-- TODO: `r • N` should be generalized to allow `r` to be an element of `S`.
+lemma singleton_set_smul [SMulCommClass R R M] (r : R) :
+ ({r} : Set R) • N = r • N := by
+ apply set_smul_eq_of_le
+ · rintro r m rfl hm; exact ⟨m, hm, rfl⟩
+ · rintro _ ⟨m, hm, rfl⟩
+ rw [mem_set_smul_def, Submodule.mem_sInf]
+ intro p hp; exact hp rfl hm
+
+lemma mem_singleton_set_smul [SMulCommClass R S M] (r : S) (x : M) :
+ x ∈ ({r} : Set S) • N ↔ ∃ (m : M), m ∈ N ∧ x = r • m := by
+ fconstructor
+ · intro hx
+ induction' x, hx using Submodule.set_smul_inductionOn with
+ t n memₜ memₙ t n mem h m₁ m₂ mem₁ mem₂ h₁ h₂
+ · aesop
+ · rcases h with ⟨n, hn, rfl⟩
+ exact ⟨t • n, by aesop, smul_comm _ _ _⟩
+ · rcases h₁ with ⟨m₁, h₁, rfl⟩
+ rcases h₂ with ⟨m₂, h₂, rfl⟩
+ exact ⟨m₁ + m₂, Submodule.add_mem _ h₁ h₂, by aesop⟩
+ · exact ⟨0, Submodule.zero_mem _, by aesop⟩
+ · rintro ⟨m, hm, rfl⟩
+ aesop
+
+-- Note that this can't be generalized to `Set S`, because even though `SMulCommClass R R M` implies
+-- `SMulComm R R N` for all `R`-submodules `N`, `SMulCommClass R S N` for all `R`-submodules `N`
+-- does not make sense. If we just focus on `R`-submodules that are also `S`-submodule, then this
+-- should be true.
+/-- A subset of a ring `R` has a multiplicative action on submodules of a module over `R`. -/
+protected def pointwiseSetMulAction [SMulCommClass R R M] :
+ MulAction (Set R) (Submodule R M) where
+ one_smul x := show {(1 : R)} • x = x from SetLike.ext fun m =>
+ (mem_singleton_set_smul _ _ _).trans ⟨by rintro ⟨_, h, rfl⟩; rwa [one_smul],
+ fun h => ⟨m, h, (one_smul _ _).symm⟩⟩
+ mul_smul s t x := le_antisymm
+ (set_smul_le _ _ _ <| by rintro _ _ ⟨_, _, _, _, rfl⟩ _; rw [mul_smul]; aesop)
+ (set_smul_le _ _ _ <| by
+ rintro r m hr hm
+ have : SMulCommClass R R x := ⟨fun r s m => Subtype.ext <| smul_comm _ _ _⟩
+ obtain ⟨c, hc1, rfl⟩ := mem_set_smul _ _ _ |>.mp hm
+ simp only [Finsupp.sum, AddSubmonoid.coe_finset_sum, coe_toAddSubmonoid, SetLike.val_smul,
+ Finset.smul_sum]
+ exact Submodule.sum_mem _ fun r' hr' ↦ mul_smul r r' (c r' : M) ▸
+ mem_set_smul_of_mem_mem (mem1 := ⟨r, r', hr, hc1 hr', rfl⟩) (mem2 := (c _).2))
+
+scoped[Pointwise] attribute [instance] Submodule.pointwiseSetMulAction
+
+-- TODO: `r • N` should be generalized to allow `r` to be an element of `S`.
+lemma set_smul_eq_iSup [SMulCommClass R R M] :
+ sR • N = ⨆ (r ∈ sR), r • N :=
+ set_smul_eq_of_le _ _ _
+ (fun r m hr hm => (show r • N ≤ _ by
+ rw [iSup_subtype', ← sSup_range]
+ exact le_sSup ⟨⟨r, hr⟩, rfl⟩) ⟨_, hm, rfl⟩) <| by
+ rw [iSup_subtype', ← sSup_range, sSup_le_iff]
+ rintro _ ⟨⟨x, hx⟩, rfl⟩ _ ⟨y, hy, rfl⟩
+ exact mem_set_smul_of_mem_mem (mem1 := hx) (mem2 := hy)
+
+-- This cannot be generalized to `Set S` because `MulAction` can't be generalized already.
+/-- In a ring, sets acts on submodules. -/
+protected def pointwiseSetDistribMulAction [SMulCommClass R R M] :
+ DistribMulAction (Set R) (Submodule R M) where
+ smul_zero s := set_smul_bot s
+ smul_add s x y := le_antisymm
+ (set_smul_le _ _ _ <| by
+ rintro r m hr hm
+ rw [add_eq_sup, Submodule.mem_sup] at hm
+ obtain ⟨a, ha, b, hb, rfl⟩ := hm
+ rw [smul_add, add_eq_sup, Submodule.mem_sup]
+ exact ⟨r • a, mem_set_smul_of_mem_mem (mem1 := hr) (mem2 := ha),
+ r • b, mem_set_smul_of_mem_mem (mem1 := hr) (mem2 := hb), rfl⟩)
+ (sup_le_iff.mpr ⟨set_smul_mono_right _ le_sup_left,
+ set_smul_mono_right _ le_sup_right⟩)
+
+scoped[Pointwise] attribute [instance] Submodule.pointwiseSetDistribMulAction
+
+lemma sup_set_smul (s t : Set S) :
+ (s ⊔ t) • N = s • N ⊔ t • N :=
+ set_smul_eq_of_le _ _ _
+ (by rintro _ _ (hr|hr) hn
+ · exact Submodule.mem_sup_left (mem_set_smul_of_mem_mem hr hn)
+ · exact Submodule.mem_sup_right (mem_set_smul_of_mem_mem hr hn))
+ (sup_le (set_smul_mono_left _ le_sup_left) (set_smul_mono_left _ le_sup_right))
+
+lemma coe_span_smul {R' M' : Type*} [CommSemiring R'] [AddCommMonoid M'] [Module R' M']
+ (s : Set R') (N : Submodule R' M') :
+ (Ideal.span s : Set R') • N = s • N :=
+ set_smul_eq_of_le _ _ _
+ (by rintro r n hr hn
+ induction' hr using Submodule.span_induction' with r h _ _ _ _ ihr ihs r r' hr hr'
+ · exact mem_set_smul_of_mem_mem h hn
+ · rw [zero_smul]; exact Submodule.zero_mem _
+ · rw [add_smul]; exact Submodule.add_mem _ ihr ihs
+ · rw [mem_span_set] at hr
+ obtain ⟨c, hc, rfl⟩ := hr
+ rw [Finsupp.sum, Finset.smul_sum, Finset.sum_smul]
+ refine Submodule.sum_mem _ fun i hi => ?_
+ rw [← mul_smul, smul_eq_mul, mul_comm, mul_smul]
+ exact mem_set_smul_of_mem_mem (hc hi) <| Submodule.smul_mem _ _ hn) <|
+ set_smul_mono_left _ Submodule.subset_span
+
+end set_acting_on_submodules
+
end Submodule
Renames:
CanonicallyOrderedMonoid
->
CanonicallyOrderedCommMonoid
CanonicallyOrderedAddMonoid
->
CanonicallyOrderedAddCommMonoid
CanonicallyLinearOrderedMonoid
->
CanonicallyLinearOrderedCommMonoid
CanonicallyLinearOrderedAddMonoid
->
CanonicallyLinearOrderedAddCommMonoid
@@ -172,7 +172,7 @@ theorem zero_eq_bot : (0 : Submodule R M) = ⊥ :=
rfl
#align submodule.zero_eq_bot Submodule.zero_eq_bot
-instance : CanonicallyOrderedAddMonoid (Submodule R M) :=
+instance : CanonicallyOrderedAddCommMonoid (Submodule R M) :=
{ Submodule.pointwiseAddCommMonoid,
Submodule.completeLattice with
add_le_add_left := fun _a _b => sup_le_sup_left
This removes redundant field values of the form add := add
for smaller terms and less unfolding during unification.
A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... }
where some xi
is a field of some aj
was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.
Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add
and not toFun
(though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.
It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.
@@ -52,7 +52,6 @@ This is available as an instance in the `Pointwise` locale. -/
protected def pointwiseNeg : Neg (Submodule R M) where
neg p :=
{ -p.toAddSubmonoid with
- carrier := -(p : Set M)
smul_mem' := fun r m hm => Set.mem_neg.2 <| smul_neg r m ▸ p.smul_mem r <| Set.mem_neg.1 hm }
#align submodule.has_pointwise_neg Submodule.pointwiseNeg
@@ -176,9 +175,6 @@ theorem zero_eq_bot : (0 : Submodule R M) = ⊥ :=
instance : CanonicallyOrderedAddMonoid (Submodule R M) :=
{ Submodule.pointwiseAddCommMonoid,
Submodule.completeLattice with
- zero := 0
- bot := ⊥
- add := (· + ·)
add_le_add_left := fun _a _b => sup_le_sup_left
exists_add_of_le := @fun _a b h => ⟨b, (sup_eq_right.2 h).symm⟩
le_self_add := fun _a _b => le_sup_left }
@@ -49,8 +49,8 @@ Recall that When `R` is the semiring corresponding to the nonnegative elements o
`Submodule R' M` is the type of cones of `M`. This instance reflects such cones about `0`.
This is available as an instance in the `Pointwise` locale. -/
-protected def pointwiseNeg : Neg (Submodule R M)
- where neg p :=
+protected def pointwiseNeg : Neg (Submodule R M) where
+ neg p :=
{ -p.toAddSubmonoid with
carrier := -(p : Set M)
smul_mem' := fun r m hm => Set.mem_neg.2 <| smul_neg r m ▸ p.smul_mem r <| Set.mem_neg.1 hm }
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -30,7 +30,7 @@ Most of the lemmas in this file are direct copies of lemmas from
-/
-variable {α : Type _} {R : Type _} {M : Type _}
+variable {α : Type*} {R : Type*} {M : Type*}
open Pointwise
@@ -131,12 +131,12 @@ theorem neg_top : -(⊤ : Submodule R M) = ⊤ :=
#align submodule.neg_top Submodule.neg_top
@[simp]
-theorem neg_iInf {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
+theorem neg_iInf {ι : Sort*} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iInf _
#align submodule.neg_infi Submodule.neg_iInf
@[simp]
-theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
+theorem neg_iSup {ι : Sort*} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
(negOrderIso : Submodule R M ≃o Submodule R M).map_iSup _
#align submodule.neg_supr Submodule.neg_iSup
@@ -218,7 +218,7 @@ theorem pointwise_smul_toAddSubmonoid (a : α) (S : Submodule R M) :
#align submodule.pointwise_smul_to_add_submonoid Submodule.pointwise_smul_toAddSubmonoid
@[simp]
-theorem pointwise_smul_toAddSubgroup {R M : Type _} [Ring R] [AddCommGroup M] [DistribMulAction α M]
+theorem pointwise_smul_toAddSubgroup {R M : Type*} [Ring R] [AddCommGroup M] [DistribMulAction α M]
[Module R M] [SMulCommClass α R M] (a : α) (S : Submodule R M) :
(a • S).toAddSubgroup = a • S.toAddSubgroup :=
rfl
@@ -253,7 +253,7 @@ instance pointwiseCentralScalar [DistribMulAction αᵐᵒᵖ M] [SMulCommClass
#align submodule.pointwise_central_scalar Submodule.pointwiseCentralScalar
@[simp]
-theorem smul_le_self_of_tower {α : Type _} [Semiring α] [Module α R] [Module α M]
+theorem smul_le_self_of_tower {α : Type*} [Semiring α] [Module α R] [Module α M]
[SMulCommClass α R M] [IsScalarTower α R M] (a : α) (S : Submodule R M) : a • S ≤ S := by
rintro y ⟨x, hx, rfl⟩
exact smul_of_tower_mem _ a hx
@@ -2,15 +2,12 @@
Copyright (c) 2021 Eric Wieser. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Eric Wieser
-
-! This file was ported from Lean 3 source module algebra.module.submodule.pointwise
-! leanprover-community/mathlib commit 48085f140e684306f9e7da907cd5932056d1aded
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.GroupTheory.Subgroup.Pointwise
import Mathlib.LinearAlgebra.Span
+#align_import algebra.module.submodule.pointwise from "leanprover-community/mathlib"@"48085f140e684306f9e7da907cd5932056d1aded"
+
/-! # Pointwise instances on `Submodule`s
This file provides:
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -134,14 +134,14 @@ theorem neg_top : -(⊤ : Submodule R M) = ⊤ :=
#align submodule.neg_top Submodule.neg_top
@[simp]
-theorem neg_infᵢ {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
- (negOrderIso : Submodule R M ≃o Submodule R M).map_infᵢ _
-#align submodule.neg_infi Submodule.neg_infᵢ
+theorem neg_iInf {ι : Sort _} (S : ι → Submodule R M) : (-⨅ i, S i) = ⨅ i, -S i :=
+ (negOrderIso : Submodule R M ≃o Submodule R M).map_iInf _
+#align submodule.neg_infi Submodule.neg_iInf
@[simp]
-theorem neg_supᵢ {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
- (negOrderIso : Submodule R M ≃o Submodule R M).map_supᵢ _
-#align submodule.neg_supr Submodule.neg_supᵢ
+theorem neg_iSup {ι : Sort _} (S : ι → Submodule R M) : (-⨆ i, S i) = ⨆ i, -S i :=
+ (negOrderIso : Submodule R M ≃o Submodule R M).map_iSup _
+#align submodule.neg_supr Submodule.neg_iSup
end Semiring
The unported dependencies are