ring_theory.subsemiring.pointwise
⟷
Mathlib.RingTheory.Subsemiring.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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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
@@ -3,10 +3,10 @@ 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.Algebra.GroupRingAction.Basic
-import Mathbin.RingTheory.Subsemiring.Basic
-import Mathbin.GroupTheory.Submonoid.Pointwise
-import Mathbin.Data.Set.Pointwise.Basic
+import Algebra.GroupRingAction.Basic
+import RingTheory.Subsemiring.Basic
+import GroupTheory.Submonoid.Pointwise
+import Data.Set.Pointwise.Basic
#align_import ring_theory.subsemiring.pointwise from "leanprover-community/mathlib"@"f16e7a22e11fc09c71f25446ac1db23a24e8a0bd"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -45,7 +45,7 @@ protected def pointwiseMulAction : MulAction M (Subsemiring R)
where
smul a S := S.map (MulSemiringAction.toRingHom _ _ a)
one_smul S := (congr_arg (fun f => S.map f) (RingHom.ext <| one_smul M)).trans S.map_id
- mul_smul a₁ a₂ S :=
+ hMul_smul a₁ a₂ S :=
(congr_arg (fun f => S.map f) (RingHom.ext <| mul_smul _ _)).trans (S.map_map _ _).symm
#align subsemiring.pointwise_mul_action Subsemiring.pointwiseMulAction
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
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 ring_theory.subsemiring.pointwise
-! leanprover-community/mathlib commit f16e7a22e11fc09c71f25446ac1db23a24e8a0bd
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.GroupRingAction.Basic
import Mathbin.RingTheory.Subsemiring.Basic
import Mathbin.GroupTheory.Submonoid.Pointwise
import Mathbin.Data.Set.Pointwise.Basic
+#align_import ring_theory.subsemiring.pointwise from "leanprover-community/mathlib"@"f16e7a22e11fc09c71f25446ac1db23a24e8a0bd"
+
/-! # Pointwise instances on `subsemiring`s
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -64,10 +64,12 @@ theorem pointwise_smul_def {a : M} (S : Subsemiring R) :
#align subsemiring.pointwise_smul_def Subsemiring.pointwise_smul_def
-/
+#print Subsemiring.coe_pointwise_smul /-
@[simp]
theorem coe_pointwise_smul (m : M) (S : Subsemiring R) : ↑(m • S) = m • (S : Set R) :=
rfl
#align subsemiring.coe_pointwise_smul Subsemiring.coe_pointwise_smul
+-/
#print Subsemiring.pointwise_smul_toAddSubmonoid /-
@[simp]
@@ -77,14 +79,18 @@ theorem pointwise_smul_toAddSubmonoid (m : M) (S : Subsemiring R) :
#align subsemiring.pointwise_smul_to_add_submonoid Subsemiring.pointwise_smul_toAddSubmonoid
-/
+#print Subsemiring.smul_mem_pointwise_smul /-
theorem smul_mem_pointwise_smul (m : M) (r : R) (S : Subsemiring R) : r ∈ S → m • r ∈ m • S :=
(Set.smul_mem_smul_set : _ → _ ∈ m • (S : Set R))
#align subsemiring.smul_mem_pointwise_smul Subsemiring.smul_mem_pointwise_smul
+-/
+#print Subsemiring.mem_smul_pointwise_iff_exists /-
theorem mem_smul_pointwise_iff_exists (m : M) (r : R) (S : Subsemiring R) :
r ∈ m • S ↔ ∃ s : R, s ∈ S ∧ m • s = r :=
(Set.mem_smul_set : r ∈ m • (S : Set R) ↔ _)
#align subsemiring.mem_smul_pointwise_iff_exists Subsemiring.mem_smul_pointwise_iff_exists
+-/
#print Subsemiring.smul_bot /-
@[simp]
@@ -93,9 +99,11 @@ theorem smul_bot (a : M) : a • (⊥ : Subsemiring R) = ⊥ :=
#align subsemiring.smul_bot Subsemiring.smul_bot
-/
+#print Subsemiring.smul_sup /-
theorem smul_sup (a : M) (S T : Subsemiring R) : a • (S ⊔ T) = a • S ⊔ a • T :=
map_sup _ _ _
#align subsemiring.smul_sup Subsemiring.smul_sup
+-/
#print Subsemiring.smul_closure /-
theorem smul_closure (a : M) (s : Set R) : a • closure s = closure (a • s) :=
@@ -103,10 +111,12 @@ theorem smul_closure (a : M) (s : Set R) : a • closure s = closure (a • s) :
#align subsemiring.smul_closure Subsemiring.smul_closure
-/
+#print Subsemiring.pointwise_central_scalar /-
instance pointwise_central_scalar [MulSemiringAction Mᵐᵒᵖ R] [IsCentralScalar M R] :
IsCentralScalar M (Subsemiring R) :=
⟨fun a S => (congr_arg fun f => S.map f) <| RingHom.ext <| op_smul_eq_smul _⟩
#align subsemiring.pointwise_central_scalar Subsemiring.pointwise_central_scalar
+-/
end Monoid
@@ -116,33 +126,45 @@ variable [Group M] [Semiring R] [MulSemiringAction M R]
open scoped Pointwise
+#print Subsemiring.smul_mem_pointwise_smul_iff /-
@[simp]
theorem smul_mem_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff
#align subsemiring.smul_mem_pointwise_smul_iff Subsemiring.smul_mem_pointwise_smul_iff
+-/
+#print Subsemiring.mem_pointwise_smul_iff_inv_smul_mem /-
theorem mem_pointwise_smul_iff_inv_smul_mem {a : M} {S : Subsemiring R} {x : R} :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem Subsemiring.mem_pointwise_smul_iff_inv_smul_mem
+-/
+#print Subsemiring.mem_inv_pointwise_smul_iff /-
theorem mem_inv_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff
#align subsemiring.mem_inv_pointwise_smul_iff Subsemiring.mem_inv_pointwise_smul_iff
+-/
+#print Subsemiring.pointwise_smul_le_pointwise_smul_iff /-
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff {a : M} {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff
#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iff
+-/
+#print Subsemiring.pointwise_smul_subset_iff /-
theorem pointwise_smul_subset_iff {a : M} {S T : Subsemiring R} : a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff
#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iff
+-/
+#print Subsemiring.subset_pointwise_smul_iff /-
theorem subset_pointwise_smul_iff {a : M} {S T : Subsemiring R} : S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff
#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iff
+-/
/-! TODO: add `equiv_smul` like we have for subgroup. -/
@@ -155,37 +177,49 @@ variable [GroupWithZero M] [Semiring R] [MulSemiringAction M R]
open scoped Pointwise
+#print Subsemiring.smul_mem_pointwise_smul_iff₀ /-
@[simp]
theorem smul_mem_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.smul_mem_pointwise_smul_iff₀ Subsemiring.smul_mem_pointwise_smul_iff₀
+-/
+#print Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ /-
theorem mem_pointwise_smul_iff_inv_smul_mem₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem₀ ha (S : Set R) x
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀
+-/
+#print Subsemiring.mem_inv_pointwise_smul_iff₀ /-
theorem mem_inv_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.mem_inv_pointwise_smul_iff₀ Subsemiring.mem_inv_pointwise_smul_iff₀
+-/
+#print Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ /-
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff₀ ha
#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀
+-/
+#print Subsemiring.pointwise_smul_le_iff₀ /-
theorem pointwise_smul_le_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff₀ ha
#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀
+-/
+#print Subsemiring.le_pointwise_smul_iff₀ /-
theorem le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff₀ ha
#align subsemiring.le_pointwise_smul_iff₀ Subsemiring.le_pointwise_smul_iff₀
+-/
end GroupWithZero
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -55,7 +55,7 @@ protected def pointwiseMulAction : MulAction M (Subsemiring R)
scoped[Pointwise] attribute [instance] Subsemiring.pointwiseMulAction
-open Pointwise
+open scoped Pointwise
#print Subsemiring.pointwise_smul_def /-
theorem pointwise_smul_def {a : M} (S : Subsemiring R) :
@@ -114,7 +114,7 @@ section Group
variable [Group M] [Semiring R] [MulSemiringAction M R]
-open Pointwise
+open scoped Pointwise
@[simp]
theorem smul_mem_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : a • x ∈ a • S ↔ x ∈ S :=
@@ -153,7 +153,7 @@ section GroupWithZero
variable [GroupWithZero M] [Semiring R] [MulSemiringAction M R]
-open Pointwise
+open scoped Pointwise
@[simp]
theorem smul_mem_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -64,12 +64,6 @@ theorem pointwise_smul_def {a : M} (S : Subsemiring R) :
#align subsemiring.pointwise_smul_def Subsemiring.pointwise_smul_def
-/
-/- warning: subsemiring.coe_pointwise_smul -> Subsemiring.coe_pointwise_smul is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Set.{u2} R) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (HasLiftT.mk.{succ u2, succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (CoeTCₓ.coe.{succ u2, succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (SetLike.Set.hasCoeT.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) m S)) (SMul.smul.{u1, u2} M (Set.{u2} R) (Set.smulSet.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))))) m ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (HasLiftT.mk.{succ u2, succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (CoeTCₓ.coe.{succ u2, succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Set.{u2} R) (SetLike.Set.hasCoeT.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) m S)) (HSMul.hSMul.{u1, u2, u2} M (Set.{u2} R) (Set.{u2} R) (instHSMul.{u1, u2} M (Set.{u2} R) (Set.smulSet.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))))) m (SetLike.coe.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) S))
-Case conversion may be inaccurate. Consider using '#align subsemiring.coe_pointwise_smul Subsemiring.coe_pointwise_smulₓ'. -/
@[simp]
theorem coe_pointwise_smul (m : M) (S : Subsemiring R) : ↑(m • S) = m • (S : Set R) :=
rfl
@@ -83,22 +77,10 @@ theorem pointwise_smul_toAddSubmonoid (m : M) (S : Subsemiring R) :
#align subsemiring.pointwise_smul_to_add_submonoid Subsemiring.pointwise_smul_toAddSubmonoid
-/
-/- warning: subsemiring.smul_mem_pointwise_smul -> Subsemiring.smul_mem_pointwise_smul is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (r : R) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r S) -> (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) m r) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) m S))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (r : R) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r S) -> (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))))) m r) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) m S))
-Case conversion may be inaccurate. Consider using '#align subsemiring.smul_mem_pointwise_smul Subsemiring.smul_mem_pointwise_smulₓ'. -/
theorem smul_mem_pointwise_smul (m : M) (r : R) (S : Subsemiring R) : r ∈ S → m • r ∈ m • S :=
(Set.smul_mem_smul_set : _ → _ ∈ m • (S : Set R))
#align subsemiring.smul_mem_pointwise_smul Subsemiring.smul_mem_pointwise_smul
-/- warning: subsemiring.mem_smul_pointwise_iff_exists -> Subsemiring.mem_smul_pointwise_iff_exists is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (r : R) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) m S)) (Exists.{succ u2} R (fun (s : R) => And (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) s S) (Eq.{succ u2} R (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) m s) r)))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (m : M) (r : R) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) r (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) m S)) (Exists.{succ u2} R (fun (s : R) => And (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) s S) (Eq.{succ u2} R (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))))) m s) r)))
-Case conversion may be inaccurate. Consider using '#align subsemiring.mem_smul_pointwise_iff_exists Subsemiring.mem_smul_pointwise_iff_existsₓ'. -/
theorem mem_smul_pointwise_iff_exists (m : M) (r : R) (S : Subsemiring R) :
r ∈ m • S ↔ ∃ s : R, s ∈ S ∧ m • s = r :=
(Set.mem_smul_set : r ∈ m • (S : Set R) ↔ _)
@@ -111,12 +93,6 @@ theorem smul_bot (a : M) : a • (⊥ : Subsemiring R) = ⊥ :=
#align subsemiring.smul_bot Subsemiring.smul_bot
-/
-/- warning: subsemiring.smul_sup -> Subsemiring.smul_sup is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a T))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a T))
-Case conversion may be inaccurate. Consider using '#align subsemiring.smul_sup Subsemiring.smul_supₓ'. -/
theorem smul_sup (a : M) (S T : Subsemiring R) : a • (S ⊔ T) = a • S ⊔ a • T :=
map_sup _ _ _
#align subsemiring.smul_sup Subsemiring.smul_sup
@@ -127,12 +103,6 @@ theorem smul_closure (a : M) (s : Set R) : a • closure s = closure (a • s) :
#align subsemiring.smul_closure Subsemiring.smul_closure
-/
-/- warning: subsemiring.pointwise_central_scalar -> Subsemiring.pointwise_central_scalar is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} M) R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toHasSmul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.monoid.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} M) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toSMul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.monoid.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))
-Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_central_scalar Subsemiring.pointwise_central_scalarₓ'. -/
instance pointwise_central_scalar [MulSemiringAction Mᵐᵒᵖ R] [IsCentralScalar M R] :
IsCentralScalar M (Subsemiring R) :=
⟨fun a S => (congr_arg fun f => S.map f) <| RingHom.ext <| op_smul_eq_smul _⟩
@@ -146,66 +116,30 @@ variable [Group M] [Semiring R] [MulSemiringAction M R]
open Pointwise
-/- warning: subsemiring.smul_mem_pointwise_smul_iff -> Subsemiring.smul_mem_pointwise_smul_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S)
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) a x) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S)
-Case conversion may be inaccurate. Consider using '#align subsemiring.smul_mem_pointwise_smul_iff Subsemiring.smul_mem_pointwise_smul_iffₓ'. -/
@[simp]
theorem smul_mem_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff
#align subsemiring.smul_mem_pointwise_smul_iff Subsemiring.smul_mem_pointwise_smul_iff
-/- warning: subsemiring.mem_pointwise_smul_iff_inv_smul_mem -> Subsemiring.mem_pointwise_smul_iff_inv_smul_mem is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) x) S)
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) x) S)
-Case conversion may be inaccurate. Consider using '#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem Subsemiring.mem_pointwise_smul_iff_inv_smul_memₓ'. -/
theorem mem_pointwise_smul_iff_inv_smul_mem {a : M} {S : Subsemiring R} {x : R} :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem Subsemiring.mem_pointwise_smul_iff_inv_smul_mem
-/- warning: subsemiring.mem_inv_pointwise_smul_iff -> Subsemiring.mem_inv_pointwise_smul_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) S)
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) a x) S)
-Case conversion may be inaccurate. Consider using '#align subsemiring.mem_inv_pointwise_smul_iff Subsemiring.mem_inv_pointwise_smul_iffₓ'. -/
theorem mem_inv_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff
#align subsemiring.mem_inv_pointwise_smul_iff Subsemiring.mem_inv_pointwise_smul_iff
-/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff -> Subsemiring.pointwise_smul_le_pointwise_smul_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T)
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)
-Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iffₓ'. -/
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff {a : M} {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff
#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iff
-/- warning: subsemiring.pointwise_smul_subset_iff -> Subsemiring.pointwise_smul_subset_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) T))
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) T))
-Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iffₓ'. -/
theorem pointwise_smul_subset_iff {a : M} {S T : Subsemiring R} : a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff
#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iff
-/- warning: subsemiring.subset_pointwise_smul_iff -> Subsemiring.subset_pointwise_smul_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S) T)
-but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) S) T)
-Case conversion may be inaccurate. Consider using '#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iffₓ'. -/
theorem subset_pointwise_smul_iff {a : M} {S T : Subsemiring R} : S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff
#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iff
@@ -221,69 +155,33 @@ variable [GroupWithZero M] [Semiring R] [MulSemiringAction M R]
open Pointwise
-/- warning: subsemiring.smul_mem_pointwise_smul_iff₀ -> Subsemiring.smul_mem_pointwise_smul_iff₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) a x) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x S))
-Case conversion may be inaccurate. Consider using '#align subsemiring.smul_mem_pointwise_smul_iff₀ Subsemiring.smul_mem_pointwise_smul_iff₀ₓ'. -/
@[simp]
theorem smul_mem_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.smul_mem_pointwise_smul_iff₀ Subsemiring.smul_mem_pointwise_smul_iff₀
-/- warning: subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ -> Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) x) S))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) x) S))
-Case conversion may be inaccurate. Consider using '#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ₓ'. -/
theorem mem_pointwise_smul_iff_inv_smul_mem₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem₀ ha (S : Set R) x
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀
-/- warning: subsemiring.mem_inv_pointwise_smul_iff₀ -> Subsemiring.mem_inv_pointwise_smul_iff₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) S))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) a x) S))
-Case conversion may be inaccurate. Consider using '#align subsemiring.mem_inv_pointwise_smul_iff₀ Subsemiring.mem_inv_pointwise_smul_iff₀ₓ'. -/
theorem mem_inv_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.mem_inv_pointwise_smul_iff₀ Subsemiring.mem_inv_pointwise_smul_iff₀
-/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff₀ -> Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S T))
-Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ₓ'. -/
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff₀ ha
#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀
-/- warning: subsemiring.pointwise_smul_le_iff₀ -> Subsemiring.pointwise_smul_le_iff₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) T)))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) T)))
-Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀ₓ'. -/
theorem pointwise_smul_le_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff₀ ha
#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀
-/- warning: subsemiring.le_pointwise_smul_iff₀ -> Subsemiring.le_pointwise_smul_iff₀ is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S) T))
-but is expected to have type
- forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) S) T))
-Case conversion may be inaccurate. Consider using '#align subsemiring.le_pointwise_smul_iff₀ Subsemiring.le_pointwise_smul_iff₀ₓ'. -/
theorem le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff₀ ha
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -180,7 +180,7 @@ theorem mem_inv_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : x ∈ a
/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff -> Subsemiring.pointwise_smul_le_pointwise_smul_iff is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T)
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T)
but is expected to have type
forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)
Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iffₓ'. -/
@@ -192,7 +192,7 @@ theorem pointwise_smul_le_pointwise_smul_iff {a : M} {S T : Subsemiring R} :
/- warning: subsemiring.pointwise_smul_subset_iff -> Subsemiring.pointwise_smul_subset_iff is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) T))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) T))
but is expected to have type
forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) T))
Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iffₓ'. -/
@@ -202,7 +202,7 @@ theorem pointwise_smul_subset_iff {a : M} {S T : Subsemiring R} : a • S ≤ T
/- warning: subsemiring.subset_pointwise_smul_iff -> Subsemiring.subset_pointwise_smul_iff is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S) T)
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S) T)
but is expected to have type
forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) S) T)
Case conversion may be inaccurate. Consider using '#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iffₓ'. -/
@@ -257,7 +257,7 @@ theorem mem_inv_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R)
/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff₀ -> Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T))
but is expected to have type
forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S T))
Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ₓ'. -/
@@ -269,7 +269,7 @@ theorem pointwise_smul_le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Su
/- warning: subsemiring.pointwise_smul_le_iff₀ -> Subsemiring.pointwise_smul_le_iff₀ is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) T)))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) T)))
but is expected to have type
forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) T)))
Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀ₓ'. -/
@@ -280,7 +280,7 @@ theorem pointwise_smul_le_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
/- warning: subsemiring.le_pointwise_smul_iff₀ -> Subsemiring.le_pointwise_smul_iff₀ is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S) T))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toHasLe.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S) T))
but is expected to have type
forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) S) T))
Case conversion may be inaccurate. Consider using '#align subsemiring.le_pointwise_smul_iff₀ Subsemiring.le_pointwise_smul_iff₀ₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -131,7 +131,7 @@ theorem smul_closure (a : M) (s : Set R) : a • closure s = closure (a • s) :
lean 3 declaration is
forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} M) R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toHasSmul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.monoid.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))
but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} M) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toSMul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2 _inst_4))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} M) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toSMul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.monoid.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))
Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_central_scalar Subsemiring.pointwise_central_scalarₓ'. -/
instance pointwise_central_scalar [MulSemiringAction Mᵐᵒᵖ R] [IsCentralScalar M R] :
IsCentralScalar M (Subsemiring R) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -113,9 +113,9 @@ theorem smul_bot (a : M) : a • (⊥ : Subsemiring R) = ⊥ :=
/- warning: subsemiring.smul_sup -> Subsemiring.smul_sup is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a (HasSup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (HasSup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a T))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.completeLattice.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) a T))
but is expected to have type
- forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a (HasSup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (HasSup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toHasSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a T))
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] (a : M) (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)), Eq.{succ u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)) (Sup.sup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SemilatticeSup.toSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Lattice.toSemilatticeSup.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (ConditionallyCompleteLattice.toLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3))) a T))
Case conversion may be inaccurate. Consider using '#align subsemiring.smul_sup Subsemiring.smul_supₓ'. -/
theorem smul_sup (a : M) (S T : Subsemiring R) : a • (S ⊔ T) = a • S ⊔ a • T :=
map_sup _ _ _
mathlib commit https://github.com/leanprover-community/mathlib/commit/22131150f88a2d125713ffa0f4693e3355b1eb49
@@ -127,12 +127,16 @@ theorem smul_closure (a : M) (s : Set R) : a • closure s = closure (a • s) :
#align subsemiring.smul_closure Subsemiring.smul_closure
-/
-#print Subsemiring.pointwise_central_scalar /-
+/- warning: subsemiring.pointwise_central_scalar -> Subsemiring.pointwise_central_scalar is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toHasSmul.{u1, u2} (MulOpposite.{u1} M) R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toHasSmul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.monoid.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.monoid.{u1} M _inst_1) _inst_2 _inst_4))
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Monoid.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R _inst_1 _inst_2] [_inst_4 : MulSemiringAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2] [_inst_5 : IsCentralScalar.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R _inst_1 (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)))) (SMulZeroClass.toSMul.{u1, u2} (MulOpposite.{u1} M) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} (MulOpposite.{u1} M) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2 _inst_4))))], IsCentralScalar.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) _inst_1 (Subsemiring.pointwiseMulAction.{u1, u2} M R _inst_1 _inst_2 _inst_3)) (MulAction.toSMul.{u1, u2} (MulOpposite.{u1} M) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) (Subsemiring.pointwiseMulAction.{u1, u2} (MulOpposite.{u1} M) R (MulOpposite.instMonoidMulOpposite.{u1} M _inst_1) _inst_2 _inst_4))
+Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_central_scalar Subsemiring.pointwise_central_scalarₓ'. -/
instance pointwise_central_scalar [MulSemiringAction Mᵐᵒᵖ R] [IsCentralScalar M R] :
IsCentralScalar M (Subsemiring R) :=
⟨fun a S => (congr_arg fun f => S.map f) <| RingHom.ext <| op_smul_eq_smul _⟩
#align subsemiring.pointwise_central_scalar Subsemiring.pointwise_central_scalar
--/
end Monoid
@@ -142,45 +146,69 @@ variable [Group M] [Semiring R] [MulSemiringAction M R]
open Pointwise
-#print Subsemiring.smul_mem_pointwise_smul_iff /-
+/- warning: subsemiring.smul_mem_pointwise_smul_iff -> Subsemiring.smul_mem_pointwise_smul_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S)
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) a x) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S)
+Case conversion may be inaccurate. Consider using '#align subsemiring.smul_mem_pointwise_smul_iff Subsemiring.smul_mem_pointwise_smul_iffₓ'. -/
@[simp]
theorem smul_mem_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff
#align subsemiring.smul_mem_pointwise_smul_iff Subsemiring.smul_mem_pointwise_smul_iff
--/
-#print Subsemiring.mem_pointwise_smul_iff_inv_smul_mem /-
+/- warning: subsemiring.mem_pointwise_smul_iff_inv_smul_mem -> Subsemiring.mem_pointwise_smul_iff_inv_smul_mem is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) x) S)
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) x) S)
+Case conversion may be inaccurate. Consider using '#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem Subsemiring.mem_pointwise_smul_iff_inv_smul_memₓ'. -/
theorem mem_pointwise_smul_iff_inv_smul_mem {a : M} {S : Subsemiring R} {x : R} :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem Subsemiring.mem_pointwise_smul_iff_inv_smul_mem
--/
-#print Subsemiring.mem_inv_pointwise_smul_iff /-
+/- warning: subsemiring.mem_inv_pointwise_smul_iff -> Subsemiring.mem_inv_pointwise_smul_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) S)
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) S)) (Membership.mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (HSMul.hSMul.{u1, u2, u2} M R R (instHSMul.{u1, u2} M R (SMulZeroClass.toSMul.{u1, u2} M R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_2)) (DistribSMul.toSMulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))))) a x) S)
+Case conversion may be inaccurate. Consider using '#align subsemiring.mem_inv_pointwise_smul_iff Subsemiring.mem_inv_pointwise_smul_iffₓ'. -/
theorem mem_inv_pointwise_smul_iff {a : M} {S : Subsemiring R} {x : R} : x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff
#align subsemiring.mem_inv_pointwise_smul_iff Subsemiring.mem_inv_pointwise_smul_iff
--/
-#print Subsemiring.pointwise_smul_le_pointwise_smul_iff /-
+/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff -> Subsemiring.pointwise_smul_le_pointwise_smul_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T)
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S T)
+Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iffₓ'. -/
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff {a : M} {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff
#align subsemiring.pointwise_smul_le_pointwise_smul_iff Subsemiring.pointwise_smul_le_pointwise_smul_iff
--/
-#print Subsemiring.pointwise_smul_subset_iff /-
+/- warning: subsemiring.pointwise_smul_subset_iff -> Subsemiring.pointwise_smul_subset_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) T))
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) T))
+Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iffₓ'. -/
theorem pointwise_smul_subset_iff {a : M} {S T : Subsemiring R} : a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff
#align subsemiring.pointwise_smul_subset_iff Subsemiring.pointwise_smul_subset_iff
--/
-#print Subsemiring.subset_pointwise_smul_iff /-
+/- warning: subsemiring.subset_pointwise_smul_iff -> Subsemiring.subset_pointwise_smul_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) a) S) T)
+but is expected to have type
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : Group.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2] {a : M} {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) S (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (HSMul.hSMul.{u1, u2, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (instHSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toSMul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (DivInvMonoid.toMonoid.{u1} M (Group.toDivInvMonoid.{u1} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u1} M (InvOneClass.toInv.{u1} M (DivInvOneMonoid.toInvOneClass.{u1} M (DivisionMonoid.toDivInvOneMonoid.{u1} M (Group.toDivisionMonoid.{u1} M _inst_1)))) a) S) T)
+Case conversion may be inaccurate. Consider using '#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iffₓ'. -/
theorem subset_pointwise_smul_iff {a : M} {S T : Subsemiring R} : S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff
#align subsemiring.subset_pointwise_smul_iff Subsemiring.subset_pointwise_smul_iff
--/
/-! TODO: add `equiv_smul` like we have for subgroup. -/
@@ -193,49 +221,73 @@ variable [GroupWithZero M] [Semiring R] [MulSemiringAction M R]
open Pointwise
-#print Subsemiring.smul_mem_pointwise_smul_iff₀ /-
+/- warning: subsemiring.smul_mem_pointwise_smul_iff₀ -> Subsemiring.smul_mem_pointwise_smul_iff₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x S))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) a x) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x S))
+Case conversion may be inaccurate. Consider using '#align subsemiring.smul_mem_pointwise_smul_iff₀ Subsemiring.smul_mem_pointwise_smul_iff₀ₓ'. -/
@[simp]
theorem smul_mem_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
a • x ∈ a • S ↔ x ∈ S :=
smul_mem_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.smul_mem_pointwise_smul_iff₀ Subsemiring.smul_mem_pointwise_smul_iff₀
--/
-#print Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ /-
+/- warning: subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ -> Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) x) S))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) x) S))
+Case conversion may be inaccurate. Consider using '#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ₓ'. -/
theorem mem_pointwise_smul_iff_inv_smul_mem₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a • S ↔ a⁻¹ • x ∈ S :=
mem_smul_set_iff_inv_smul_mem₀ ha (S : Set R) x
#align subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀ Subsemiring.mem_pointwise_smul_iff_inv_smul_mem₀
--/
-#print Subsemiring.mem_inv_pointwise_smul_iff₀ /-
+/- warning: subsemiring.mem_inv_pointwise_smul_iff₀ -> Subsemiring.mem_inv_pointwise_smul_iff₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall (S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (x : R), Iff (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) x (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S)) (Membership.Mem.{u2, u2} R (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (SMul.smul.{u1, u2} M R (SMulZeroClass.toHasSmul.{u1, u2} M R (AddZeroClass.toHasZero.{u2} R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))))) (DistribSMul.toSmulZeroClass.{u1, u2} M R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (DistribMulAction.toDistribSMul.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)))) a x) S))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall (S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (x : R), Iff (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) x (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) S)) (Membership.mem.{u1, u1} R (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) R (Subsemiring.instSetLikeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (HSMul.hSMul.{u2, u1, u1} M R R (instHSMul.{u2, u1} M R (SMulZeroClass.toSMul.{u2, u1} M R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u1} M R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) (DistribMulAction.toDistribSMul.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))) (MulSemiringAction.toDistribMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))))) a x) S))
+Case conversion may be inaccurate. Consider using '#align subsemiring.mem_inv_pointwise_smul_iff₀ Subsemiring.mem_inv_pointwise_smul_iff₀ₓ'. -/
theorem mem_inv_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) (S : Subsemiring R) (x : R) :
x ∈ a⁻¹ • S ↔ a • x ∈ S :=
mem_inv_smul_set_iff₀ ha (S : Set R) x
#align subsemiring.mem_inv_pointwise_smul_iff₀ Subsemiring.mem_inv_pointwise_smul_iff₀
--/
-#print Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ /-
+/- warning: subsemiring.pointwise_smul_le_pointwise_smul_iff₀ -> Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S T))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S T))
+Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀ₓ'. -/
@[simp]
theorem pointwise_smul_le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ a • T ↔ S ≤ T :=
set_smul_subset_set_smul_iff₀ ha
#align subsemiring.pointwise_smul_le_pointwise_smul_iff₀ Subsemiring.pointwise_smul_le_pointwise_smul_iff₀
--/
-#print Subsemiring.pointwise_smul_le_iff₀ /-
+/- warning: subsemiring.pointwise_smul_le_iff₀ -> Subsemiring.pointwise_smul_le_iff₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a S) T) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) T)))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a S) T) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) T)))
+Case conversion may be inaccurate. Consider using '#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀ₓ'. -/
theorem pointwise_smul_le_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
a • S ≤ T ↔ S ≤ a⁻¹ • T :=
set_smul_subset_iff₀ ha
#align subsemiring.pointwise_smul_le_iff₀ Subsemiring.pointwise_smul_le_iff₀
--/
-#print Subsemiring.le_pointwise_smul_iff₀ /-
+/- warning: subsemiring.le_pointwise_smul_iff₀ -> Subsemiring.le_pointwise_smul_iff₀ is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} {R : Type.{u2}} [_inst_1 : GroupWithZero.{u1} M] [_inst_2 : Semiring.{u2} R] [_inst_3 : MulSemiringAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u1} M a (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)))))))) -> (forall {S : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)} {T : Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)}, Iff (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) S (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) a T)) (LE.le.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (Preorder.toLE.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (PartialOrder.toPreorder.{u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (SetLike.partialOrder.{u2, u2} (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) R (Subsemiring.setLike.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))))) (SMul.smul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MulAction.toHasSmul.{u1, u2} M (Subsemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2)) (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) (Subsemiring.pointwiseMulAction.{u1, u2} M R (MonoidWithZero.toMonoid.{u1} M (GroupWithZero.toMonoidWithZero.{u1} M _inst_1)) _inst_2 _inst_3)) (Inv.inv.{u1} M (DivInvMonoid.toHasInv.{u1} M (GroupWithZero.toDivInvMonoid.{u1} M _inst_1)) a) S) T))
+but is expected to have type
+ forall {M : Type.{u2}} {R : Type.{u1}} [_inst_1 : GroupWithZero.{u2} M] [_inst_2 : Semiring.{u1} R] [_inst_3 : MulSemiringAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2] {a : M}, (Ne.{succ u2} M a (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (MonoidWithZero.toZero.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1))))) -> (forall {S : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)} {T : Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, Iff (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) S (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) a T)) (LE.le.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (instHSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MulAction.toSMul.{u2, u1} M (Subsemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) (Subsemiring.pointwiseMulAction.{u2, u1} M R (MonoidWithZero.toMonoid.{u2} M (GroupWithZero.toMonoidWithZero.{u2} M _inst_1)) _inst_2 _inst_3))) (Inv.inv.{u2} M (GroupWithZero.toInv.{u2} M _inst_1) a) S) T))
+Case conversion may be inaccurate. Consider using '#align subsemiring.le_pointwise_smul_iff₀ Subsemiring.le_pointwise_smul_iff₀ₓ'. -/
theorem le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
S ≤ a • T ↔ a⁻¹ • S ≤ T :=
subset_set_smul_iff₀ ha
#align subsemiring.le_pointwise_smul_iff₀ Subsemiring.le_pointwise_smul_iff₀
--/
end GroupWithZero
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
A mix of various changes; generated with a script and manually tweaked.
@@ -36,7 +36,7 @@ variable [Monoid M] [Semiring R] [MulSemiringAction M R]
/-- The action on a subsemiring corresponding to applying the action to every element.
-This is available as an instance in the `pointwise` locale. -/
+This is available as an instance in the `Pointwise` locale. -/
protected def pointwiseMulAction : MulAction M (Subsemiring R)
where
smul a S := S.map (MulSemiringAction.toRingHom _ _ a)
Everywhere we have a smul_mem_pointwise_smul
lemma, I've added this result.
@@ -69,6 +69,9 @@ theorem smul_mem_pointwise_smul (m : M) (r : R) (S : Subsemiring R) : r ∈ S
(Set.smul_mem_smul_set : _ → _ ∈ m • (S : Set R))
#align subsemiring.smul_mem_pointwise_smul Subsemiring.smul_mem_pointwise_smul
+instance : CovariantClass M (Subsemiring R) HSMul.hSMul LE.le :=
+ ⟨fun _ _ => image_subset _⟩
+
theorem mem_smul_pointwise_iff_exists (m : M) (r : R) (S : Subsemiring R) :
r ∈ m • S ↔ ∃ s : R, s ∈ S ∧ m • s = r :=
(Set.mem_smul_set : r ∈ m • (S : Set R) ↔ _)
@@ -174,4 +177,3 @@ theorem le_pointwise_smul_iff₀ {a : M} (ha : a ≠ 0) {S T : Subsemiring R} :
end GroupWithZero
end Subsemiring
-
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -26,7 +26,7 @@ keep them in sync.
open Set
-variable {M R : Type _}
+variable {M R : Type*}
namespace Subsemiring
@@ -2,17 +2,14 @@
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 ring_theory.subsemiring.pointwise
-! leanprover-community/mathlib commit 59694bd07f0a39c5beccba34bd9f413a160782bf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.GroupRingAction.Basic
import Mathlib.RingTheory.Subsemiring.Basic
import Mathlib.GroupTheory.Submonoid.Pointwise
import Mathlib.Data.Set.Pointwise.Basic
+#align_import ring_theory.subsemiring.pointwise from "leanprover-community/mathlib"@"59694bd07f0a39c5beccba34bd9f413a160782bf"
+
/-! # Pointwise instances on `Subsemiring`s
This file provides the action `Subsemiring.PointwiseMulAction` which matches the action of
The unported dependencies are