data.real.pointwise
⟷
Mathlib.Data.Real.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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -95,7 +95,7 @@ theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csInf_singleton 0
by_cases BddAbove s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csSup' hs h).symm
+ · exact ((OrderIso.smulRightDual ℝ ha').map_csSup' hs h).symm
·
rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
@@ -117,7 +117,7 @@ theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csSup_singleton 0
by_cases BddBelow s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csInf' hs h).symm
+ · exact ((OrderIso.smulRightDual ℝ ha').map_csInf' hs h).symm
·
rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -45,7 +45,7 @@ theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csInf_singleton 0
by_cases BddBelow s
- · exact ((OrderIso.smulLeft ℝ ha').map_csInf' hs h).symm
+ · exact ((OrderIso.smulRight ℝ ha').map_csInf' hs h).symm
·
rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
@@ -67,7 +67,7 @@ theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csSup_singleton 0
by_cases BddAbove s
- · exact ((OrderIso.smulLeft ℝ ha').map_csSup' hs h).symm
+ · exact ((OrderIso.smulRight ℝ ha').map_csSup' hs h).symm
·
rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-/
-import Mathbin.Algebra.Order.Module
-import Mathbin.Data.Real.Basic
+import Algebra.Order.Module
+import Data.Real.Basic
#align_import data.real.pointwise from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2021 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-
-! This file was ported from Lean 3 source module data.real.pointwise
-! leanprover-community/mathlib commit 34ee86e6a59d911a8e4f89b68793ee7577ae79c7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Order.Module
import Mathbin.Data.Real.Basic
+#align_import data.real.pointwise from "leanprover-community/mathlib"@"34ee86e6a59d911a8e4f89b68793ee7577ae79c7"
+
/-!
# Pointwise operations on sets of reals
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -39,6 +39,7 @@ section MulActionWithZero
variable [MulActionWithZero α ℝ] [OrderedSMul α ℝ] {a : α}
+#print Real.sInf_smul_of_nonneg /-
theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -52,11 +53,15 @@ theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) =
rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonneg
+-/
+#print Real.smul_iInf_of_nonneg /-
theorem Real.smul_iInf_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
(Real.sInf_smul_of_nonneg ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonneg
+-/
+#print Real.sSup_smul_of_nonneg /-
theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -70,10 +75,13 @@ theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) =
rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonneg
+-/
+#print Real.smul_iSup_of_nonneg /-
theorem Real.smul_iSup_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
(Real.sSup_smul_of_nonneg ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonneg
+-/
end MulActionWithZero
@@ -81,6 +89,7 @@ section Module
variable [Module α ℝ] [OrderedSMul α ℝ] {a : α}
+#print Real.sInf_smul_of_nonpos /-
theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -94,11 +103,15 @@ theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) =
rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonpos
+-/
+#print Real.smul_iSup_of_nonpos /-
theorem Real.smul_iSup_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
(Real.sInf_smul_of_nonpos ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonpos
+-/
+#print Real.sSup_smul_of_nonpos /-
theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -112,10 +125,13 @@ theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) =
rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonpos
+-/
+#print Real.smul_iInf_of_nonpos /-
theorem Real.smul_iInf_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
(Real.sSup_smul_of_nonpos ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonpos
+-/
end Module
@@ -126,37 +142,53 @@ section Mul
variable {r : ℝ}
+#print Real.mul_iInf_of_nonneg /-
theorem Real.mul_iInf_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
Real.smul_iInf_of_nonneg ha f
#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonneg
+-/
+#print Real.mul_iSup_of_nonneg /-
theorem Real.mul_iSup_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
Real.smul_iSup_of_nonneg ha f
#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonneg
+-/
+#print Real.mul_iInf_of_nonpos /-
theorem Real.mul_iInf_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
Real.smul_iInf_of_nonpos ha f
#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonpos
+-/
+#print Real.mul_iSup_of_nonpos /-
theorem Real.mul_iSup_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
Real.smul_iSup_of_nonpos ha f
#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonpos
+-/
+#print Real.iInf_mul_of_nonneg /-
theorem Real.iInf_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
simp only [Real.mul_iInf_of_nonneg ha, mul_comm]
#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonneg
+-/
+#print Real.iSup_mul_of_nonneg /-
theorem Real.iSup_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
simp only [Real.mul_iSup_of_nonneg ha, mul_comm]
#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonneg
+-/
+#print Real.iInf_mul_of_nonpos /-
theorem Real.iInf_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
simp only [Real.mul_iInf_of_nonpos ha, mul_comm]
#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonpos
+-/
+#print Real.iSup_mul_of_nonpos /-
theorem Real.iSup_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
simp only [Real.mul_iSup_of_nonpos ha, mul_comm]
#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonpos
+-/
end Mul
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -31,7 +31,7 @@ don't have those yet.
open Set
-open Pointwise
+open scoped Pointwise
variable {ι : Sort _} {α : Type _} [LinearOrderedField α]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -39,12 +39,6 @@ section MulActionWithZero
variable [MulActionWithZero α ℝ] [OrderedSMul α ℝ] {a : α}
-/- warning: real.Inf_smul_of_nonneg -> Real.sInf_smul_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (InfSet.sInf.{0} Real Real.hasInf s)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonnegₓ'. -/
theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -59,22 +53,10 @@ theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) =
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonneg
-/- warning: real.smul_infi_of_nonneg -> Real.smul_iInf_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonnegₓ'. -/
theorem Real.smul_iInf_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
(Real.sInf_smul_of_nonneg ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonneg
-/- warning: real.Sup_smul_of_nonneg -> Real.sSup_smul_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (SupSet.sSup.{0} Real Real.hasSup s)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonnegₓ'. -/
theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -89,12 +71,6 @@ theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) =
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonneg
-/- warning: real.smul_supr_of_nonneg -> Real.smul_iSup_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonnegₓ'. -/
theorem Real.smul_iSup_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
(Real.sSup_smul_of_nonneg ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonneg
@@ -105,12 +81,6 @@ section Module
variable [Module α ℝ] [OrderedSMul α ℝ] {a : α}
-/- warning: real.Inf_smul_of_nonpos -> Real.sInf_smul_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (SupSet.sSup.{0} Real Real.hasSup s)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonposₓ'. -/
theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -125,22 +95,10 @@ theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) =
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonpos
-/- warning: real.smul_supr_of_nonpos -> Real.smul_iSup_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonposₓ'. -/
theorem Real.smul_iSup_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
(Real.sInf_smul_of_nonpos ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonpos
-/- warning: real.Sup_smul_of_nonpos -> Real.sSup_smul_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (InfSet.sInf.{0} Real Real.hasInf s)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonposₓ'. -/
theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
@@ -155,12 +113,6 @@ theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) =
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonpos
-/- warning: real.smul_infi_of_nonpos -> Real.smul_iInf_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonposₓ'. -/
theorem Real.smul_iInf_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
(Real.sSup_smul_of_nonpos ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonpos
@@ -174,82 +126,34 @@ section Mul
variable {r : ℝ}
-/- warning: real.mul_infi_of_nonneg -> Real.mul_iInf_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonnegₓ'. -/
theorem Real.mul_iInf_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
Real.smul_iInf_of_nonneg ha f
#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonneg
-/- warning: real.mul_supr_of_nonneg -> Real.mul_iSup_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonnegₓ'. -/
theorem Real.mul_iSup_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
Real.smul_iSup_of_nonneg ha f
#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonneg
-/- warning: real.mul_infi_of_nonpos -> Real.mul_iInf_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonposₓ'. -/
theorem Real.mul_iInf_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
Real.smul_iInf_of_nonpos ha f
#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonpos
-/- warning: real.mul_supr_of_nonpos -> Real.mul_iSup_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonposₓ'. -/
theorem Real.mul_iSup_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
Real.smul_iSup_of_nonpos ha f
#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonpos
-/- warning: real.infi_mul_of_nonneg -> Real.iInf_mul_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonnegₓ'. -/
theorem Real.iInf_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
simp only [Real.mul_iInf_of_nonneg ha, mul_comm]
#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonneg
-/- warning: real.supr_mul_of_nonneg -> Real.iSup_mul_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonnegₓ'. -/
theorem Real.iSup_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
simp only [Real.mul_iSup_of_nonneg ha, mul_comm]
#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonneg
-/- warning: real.infi_mul_of_nonpos -> Real.iInf_mul_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonposₓ'. -/
theorem Real.iInf_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
simp only [Real.mul_iInf_of_nonpos ha, mul_comm]
#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonpos
-/- warning: real.supr_mul_of_nonpos -> Real.iSup_mul_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
-but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonposₓ'. -/
theorem Real.iSup_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
simp only [Real.mul_iSup_of_nonpos ha, mul_comm]
#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonpos
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -41,7 +41,7 @@ variable [MulActionWithZero α ℝ] [OrderedSMul α ℝ] {a : α}
/- warning: real.Inf_smul_of_nonneg -> Real.sInf_smul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (InfSet.sInf.{0} Real Real.hasInf s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (InfSet.sInf.{0} Real Real.hasInf s)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonnegₓ'. -/
@@ -61,7 +61,7 @@ theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) =
/- warning: real.smul_infi_of_nonneg -> Real.smul_iInf_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
but is expected to have type
forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonnegₓ'. -/
@@ -71,7 +71,7 @@ theorem Real.smul_iInf_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i,
/- warning: real.Sup_smul_of_nonneg -> Real.sSup_smul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (SupSet.sSup.{0} Real Real.hasSup s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (SupSet.sSup.{0} Real Real.hasSup s)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonnegₓ'. -/
@@ -91,7 +91,7 @@ theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) =
/- warning: real.smul_supr_of_nonneg -> Real.smul_iSup_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
but is expected to have type
forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonnegₓ'. -/
@@ -107,7 +107,7 @@ variable [Module α ℝ] [OrderedSMul α ℝ] {a : α}
/- warning: real.Inf_smul_of_nonpos -> Real.sInf_smul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (SupSet.sSup.{0} Real Real.hasSup s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (SupSet.sSup.{0} Real Real.hasSup s)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonposₓ'. -/
@@ -127,7 +127,7 @@ theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) =
/- warning: real.smul_supr_of_nonpos -> Real.smul_iSup_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
but is expected to have type
forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonposₓ'. -/
@@ -137,7 +137,7 @@ theorem Real.smul_iSup_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i,
/- warning: real.Sup_smul_of_nonpos -> Real.sSup_smul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (InfSet.sInf.{0} Real Real.hasInf s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (InfSet.sInf.{0} Real Real.hasInf s)))
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonposₓ'. -/
@@ -157,7 +157,7 @@ theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) =
/- warning: real.smul_infi_of_nonpos -> Real.smul_iInf_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
but is expected to have type
forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonposₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -39,65 +39,65 @@ section MulActionWithZero
variable [MulActionWithZero α ℝ] [OrderedSMul α ℝ] {a : α}
-/- warning: real.Inf_smul_of_nonneg -> Real.infₛ_smul_of_nonneg is a dubious translation:
+/- warning: real.Inf_smul_of_nonneg -> Real.sInf_smul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.infₛ.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (InfSet.infₛ.{0} Real Real.hasInf s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (InfSet.sInf.{0} Real Real.hasInf s)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.infₛ.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (InfSet.infₛ.{0} Real Real.instInfSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonneg Real.infₛ_smul_of_nonnegₓ'. -/
-theorem Real.infₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : infₛ (a • s) = a • infₛ s :=
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
+Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonnegₓ'. -/
+theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.infₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sInf_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact cinfₛ_singleton 0
+ exact csInf_singleton 0
by_cases BddBelow s
- · exact ((OrderIso.smulLeft ℝ ha').map_cinfₛ' hs h).symm
+ · exact ((OrderIso.smulLeft ℝ ha').map_csInf' hs h).symm
·
- rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
- Real.infₛ_of_not_bddBelow h, smul_zero]
-#align real.Inf_smul_of_nonneg Real.infₛ_smul_of_nonneg
+ rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
+ Real.sInf_of_not_bddBelow h, smul_zero]
+#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonneg
-/- warning: real.smul_infi_of_nonneg -> Real.smul_infᵢ_of_nonneg is a dubious translation:
+/- warning: real.smul_infi_of_nonneg -> Real.smul_iInf_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonneg Real.smul_infᵢ_of_nonnegₓ'. -/
-theorem Real.smul_infᵢ_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
- (Real.infₛ_smul_of_nonneg ha _).symm.trans <| congr_arg infₛ <| (range_comp _ _).symm
-#align real.smul_infi_of_nonneg Real.smul_infᵢ_of_nonneg
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
+Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonnegₓ'. -/
+theorem Real.smul_iInf_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
+ (Real.sInf_smul_of_nonneg ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
+#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonneg
-/- warning: real.Sup_smul_of_nonneg -> Real.supₛ_smul_of_nonneg is a dubious translation:
+/- warning: real.Sup_smul_of_nonneg -> Real.sSup_smul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.supₛ.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (SupSet.supₛ.{0} Real Real.hasSup s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2)))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) Real.hasZero _inst_2))) a (SupSet.sSup.{0} Real Real.hasSup s)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.supₛ.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (SupSet.supₛ.{0} Real Real.instSupSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonneg Real.supₛ_smul_of_nonnegₓ'. -/
-theorem Real.supₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : supₛ (a • s) = a • supₛ s :=
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : MulActionWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))) a) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
+Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonnegₓ'. -/
+theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.supₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sSup_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact csupₛ_singleton 0
+ exact csSup_singleton 0
by_cases BddAbove s
- · exact ((OrderIso.smulLeft ℝ ha').map_csupₛ' hs h).symm
+ · exact ((OrderIso.smulLeft ℝ ha').map_csSup' hs h).symm
·
- rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
- Real.supₛ_of_not_bddAbove h, smul_zero]
-#align real.Sup_smul_of_nonneg Real.supₛ_smul_of_nonneg
+ rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
+ Real.sSup_of_not_bddAbove h, smul_zero]
+#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonneg
-/- warning: real.smul_supr_of_nonneg -> Real.smul_supᵢ_of_nonneg is a dubious translation:
+/- warning: real.smul_supr_of_nonneg -> Real.smul_iSup_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real Real.hasZero (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) Real.hasZero (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) Real.hasZero _inst_2))) a (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonneg Real.smul_supᵢ_of_nonnegₓ'. -/
-theorem Real.smul_supᵢ_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
- (Real.supₛ_smul_of_nonneg ha _).symm.trans <| congr_arg supₛ <| (range_comp _ _).symm
-#align real.smul_supr_of_nonneg Real.smul_supᵢ_of_nonneg
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : MulActionWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) _inst_2)] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))))) a) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal _inst_2)))) a (f i))))
+Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonnegₓ'. -/
+theorem Real.smul_iSup_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
+ (Real.sSup_smul_of_nonneg ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
+#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonneg
end MulActionWithZero
@@ -105,65 +105,65 @@ section Module
variable [Module α ℝ] [OrderedSMul α ℝ] {a : α}
-/- warning: real.Inf_smul_of_nonpos -> Real.infₛ_smul_of_nonpos is a dubious translation:
+/- warning: real.Inf_smul_of_nonpos -> Real.sInf_smul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.infₛ.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (SupSet.supₛ.{0} Real Real.hasSup s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.hasInf (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (SupSet.sSup.{0} Real Real.hasSup s)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.infₛ.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (SupSet.supₛ.{0} Real Real.instSupSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonpos Real.infₛ_smul_of_nonposₓ'. -/
-theorem Real.infₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : infₛ (a • s) = a • supₛ s :=
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (InfSet.sInf.{0} Real Real.instInfSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (SupSet.sSup.{0} Real Real.instSupSetReal s)))
+Case conversion may be inaccurate. Consider using '#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonposₓ'. -/
+theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) = a • sSup s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.infₛ_empty, Real.supₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sInf_empty, Real.sSup_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact cinfₛ_singleton 0
+ exact csInf_singleton 0
by_cases BddAbove s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csupₛ' hs h).symm
+ · exact ((OrderIso.smulLeftDual ℝ ha').map_csSup' hs h).symm
·
- rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
- Real.supₛ_of_not_bddAbove h, smul_zero]
-#align real.Inf_smul_of_nonpos Real.infₛ_smul_of_nonpos
+ rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
+ Real.sSup_of_not_bddAbove h, smul_zero]
+#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonpos
-/- warning: real.smul_supr_of_nonpos -> Real.smul_supᵢ_of_nonpos is a dubious translation:
+/- warning: real.smul_supr_of_nonpos -> Real.smul_iSup_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonpos Real.smul_supᵢ_of_nonposₓ'. -/
-theorem Real.smul_supᵢ_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
- (Real.infₛ_smul_of_nonpos ha _).symm.trans <| congr_arg infₛ <| (range_comp _ _).symm
-#align real.smul_supr_of_nonpos Real.smul_supᵢ_of_nonpos
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
+Case conversion may be inaccurate. Consider using '#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonposₓ'. -/
+theorem Real.smul_iSup_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
+ (Real.sInf_smul_of_nonpos ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
+#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonpos
-/- warning: real.Sup_smul_of_nonpos -> Real.supₛ_smul_of_nonpos is a dubious translation:
+/- warning: real.Sup_smul_of_nonpos -> Real.sSup_smul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.supₛ.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (InfSet.infₛ.{0} Real Real.hasInf s)))
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u1, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.hasSup (SMul.smul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2))))) a s)) (SMul.smul.{u1, 0} α Real (SMulZeroClass.toHasSmul.{u1, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u1, 0} α Real (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α (MonoidWithZero.toMulZeroOneClass.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (Ring.toSemiring.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (InfSet.sInf.{0} Real Real.hasInf s)))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.supₛ.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (InfSet.infₛ.{0} Real Real.instInfSetReal s)))
-Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonpos Real.supₛ_smul_of_nonposₓ'. -/
-theorem Real.supₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : supₛ (a • s) = a • infₛ s :=
+ forall {α : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Module.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u1, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))))) -> (forall (s : Set.{0} Real), Eq.{1} Real (SupSet.sSup.{0} Real Real.instSupSetReal (HSMul.hSMul.{u1, 0, 0} α (Set.{0} Real) (Set.{0} Real) (instHSMul.{u1, 0} α (Set.{0} Real) (Set.smulSet.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2)))))) a s)) (HSMul.hSMul.{u1, 0, 0} α Real Real (instHSMul.{u1, 0} α Real (SMulZeroClass.toSMul.{u1, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u1, 0} α Real (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (LinearOrderedSemifield.toSemifield.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u1, 0} α Real (Semiring.toMonoidWithZero.{u1} α (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u1, 0} α Real (StrictOrderedSemiring.toSemiring.{u1} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (InfSet.sInf.{0} Real Real.instInfSetReal s)))
+Case conversion may be inaccurate. Consider using '#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonposₓ'. -/
+theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) = a • sInf s :=
by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.supₛ_empty, Real.infₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sSup_empty, Real.sInf_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact csupₛ_singleton 0
+ exact csSup_singleton 0
by_cases BddBelow s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_cinfₛ' hs h).symm
+ · exact ((OrderIso.smulLeftDual ℝ ha').map_csInf' hs h).symm
·
- rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
- Real.infₛ_of_not_bddBelow h, smul_zero]
-#align real.Sup_smul_of_nonpos Real.supₛ_smul_of_nonpos
+ rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
+ Real.sInf_of_not_bddBelow h, smul_zero]
+#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonpos
-/- warning: real.smul_infi_of_nonpos -> Real.smul_infᵢ_of_nonpos is a dubious translation:
+/- warning: real.smul_infi_of_nonpos -> Real.smul_iInf_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid] [_inst_3 : OrderedSMul.{u2, 0} α Real (StrictOrderedSemiring.toOrderedSemiring.{u2} α (StrictOrderedRing.toStrictOrderedSemiring.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid)))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α (StrictOrderedRing.toOrderedAddCommGroup.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1))))))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))))))) -> (forall (f : ι -> Real), Eq.{1} Real (SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => SMul.smul.{u2, 0} α Real (SMulZeroClass.toHasSmul.{u2, 0} α Real (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (SMulWithZero.toSmulZeroClass.{u2, 0} α Real (MulZeroClass.toHasZero.{u2} α (MulZeroOneClass.toMulZeroClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1))))) (AddZeroClass.toHasZero.{0} Real (AddMonoid.toAddZeroClass.{0} Real (AddCommMonoid.toAddMonoid.{0} Real Real.addCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (Ring.toSemiring.{u2} α (DivisionRing.toRing.{u2} α (Field.toDivisionRing.{u2} α (LinearOrderedField.toField.{u2} α _inst_1)))) Real.addCommMonoid _inst_2)))) a (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
-Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonpos Real.smul_infᵢ_of_nonposₓ'. -/
-theorem Real.smul_infᵢ_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
- (Real.supₛ_smul_of_nonpos ha _).symm.trans <| congr_arg supₛ <| (range_comp _ _).symm
-#align real.smul_infi_of_nonpos Real.smul_infᵢ_of_nonpos
+ forall {ι : Sort.{u1}} {α : Type.{u2}} [_inst_1 : LinearOrderedField.{u2} α] [_inst_2 : Module.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal] [_inst_3 : OrderedSMul.{u2, 0} α Real (OrderedCommSemiring.toOrderedSemiring.{u2} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.orderedAddCommMonoid (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) (AddMonoid.toZero.{0} Real (AddCommMonoid.toAddMonoid.{0} Real (OrderedAddCommMonoid.toAddCommMonoid.{0} Real Real.orderedAddCommMonoid))) (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))] {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (StrictOrderedRing.toPartialOrder.{u2} α (LinearOrderedRing.toStrictOrderedRing.{u2} α (LinearOrderedCommRing.toLinearOrderedRing.{u2} α (LinearOrderedField.toLinearOrderedCommRing.{u2} α _inst_1)))))) a (OfNat.ofNat.{u2} α 0 (Zero.toOfNat0.{u2} α (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))))) -> (forall (f : ι -> Real), Eq.{1} Real (HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HSMul.hSMul.{u2, 0, 0} α Real Real (instHSMul.{u2, 0} α Real (SMulZeroClass.toSMul.{u2, 0} α Real Real.instZeroReal (SMulWithZero.toSMulZeroClass.{u2, 0} α Real (CommMonoidWithZero.toZero.{u2} α (CommGroupWithZero.toCommMonoidWithZero.{u2} α (Semifield.toCommGroupWithZero.{u2} α (LinearOrderedSemifield.toSemifield.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instZeroReal (MulActionWithZero.toSMulWithZero.{u2, 0} α Real (Semiring.toMonoidWithZero.{u2} α (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1)))))) Real.instZeroReal (Module.toMulActionWithZero.{u2, 0} α Real (StrictOrderedSemiring.toSemiring.{u2} α (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} α (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} α (LinearOrderedField.toLinearOrderedSemifield.{u2} α _inst_1))))) Real.instAddCommMonoidReal _inst_2))))) a (f i))))
+Case conversion may be inaccurate. Consider using '#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonposₓ'. -/
+theorem Real.smul_iInf_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
+ (Real.sSup_smul_of_nonpos ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
+#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonpos
end Module
@@ -174,85 +174,85 @@ section Mul
variable {r : ℝ}
-/- warning: real.mul_infi_of_nonneg -> Real.mul_infᵢ_of_nonneg is a dubious translation:
+/- warning: real.mul_infi_of_nonneg -> Real.mul_iInf_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonneg Real.mul_infᵢ_of_nonnegₓ'. -/
-theorem Real.mul_infᵢ_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
- Real.smul_infᵢ_of_nonneg ha f
-#align real.mul_infi_of_nonneg Real.mul_infᵢ_of_nonneg
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
+Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonnegₓ'. -/
+theorem Real.mul_iInf_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
+ Real.smul_iInf_of_nonneg ha f
+#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonneg
-/- warning: real.mul_supr_of_nonneg -> Real.mul_supᵢ_of_nonneg is a dubious translation:
+/- warning: real.mul_supr_of_nonneg -> Real.mul_iSup_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonneg Real.mul_supᵢ_of_nonnegₓ'. -/
-theorem Real.mul_supᵢ_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
- Real.smul_supᵢ_of_nonneg ha f
-#align real.mul_supr_of_nonneg Real.mul_supᵢ_of_nonneg
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
+Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonnegₓ'. -/
+theorem Real.mul_iSup_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
+ Real.smul_iSup_of_nonneg ha f
+#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonneg
-/- warning: real.mul_infi_of_nonpos -> Real.mul_infᵢ_of_nonpos is a dubious translation:
+/- warning: real.mul_infi_of_nonpos -> Real.mul_iInf_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonpos Real.mul_infᵢ_of_nonposₓ'. -/
-theorem Real.mul_infᵢ_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
- Real.smul_infᵢ_of_nonpos ha f
-#align real.mul_infi_of_nonpos Real.mul_infᵢ_of_nonpos
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i))) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
+Case conversion may be inaccurate. Consider using '#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonposₓ'. -/
+theorem Real.mul_iInf_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
+ Real.smul_iInf_of_nonpos ha f
+#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonpos
-/- warning: real.mul_supr_of_nonpos -> Real.mul_supᵢ_of_nonpos is a dubious translation:
+/- warning: real.mul_supr_of_nonpos -> Real.mul_iSup_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) r (f i))))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
-Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonpos Real.mul_supᵢ_of_nonposₓ'. -/
-theorem Real.mul_supᵢ_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
- Real.smul_supᵢ_of_nonpos ha f
-#align real.mul_supr_of_nonpos Real.mul_supᵢ_of_nonpos
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i))) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) r (f i))))
+Case conversion may be inaccurate. Consider using '#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonposₓ'. -/
+theorem Real.mul_iSup_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
+ Real.smul_iSup_of_nonpos ha f
+#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonpos
-/- warning: real.infi_mul_of_nonneg -> Real.infᵢ_mul_of_nonneg is a dubious translation:
+/- warning: real.infi_mul_of_nonneg -> Real.iInf_mul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonneg Real.infᵢ_mul_of_nonnegₓ'. -/
-theorem Real.infᵢ_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
- simp only [Real.mul_infᵢ_of_nonneg ha, mul_comm]
-#align real.infi_mul_of_nonneg Real.infᵢ_mul_of_nonneg
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
+Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonnegₓ'. -/
+theorem Real.iInf_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
+ simp only [Real.mul_iInf_of_nonneg ha, mul_comm]
+#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonneg
-/- warning: real.supr_mul_of_nonneg -> Real.supᵢ_mul_of_nonneg is a dubious translation:
+/- warning: real.supr_mul_of_nonneg -> Real.iSup_mul_of_nonneg is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonneg Real.supᵢ_mul_of_nonnegₓ'. -/
-theorem Real.supᵢ_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
- simp only [Real.mul_supᵢ_of_nonneg ha, mul_comm]
-#align real.supr_mul_of_nonneg Real.supᵢ_mul_of_nonneg
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
+Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonnegₓ'. -/
+theorem Real.iSup_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
+ simp only [Real.mul_iSup_of_nonneg ha, mul_comm]
+#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonneg
-/- warning: real.infi_mul_of_nonpos -> Real.infᵢ_mul_of_nonpos is a dubious translation:
+/- warning: real.infi_mul_of_nonpos -> Real.iInf_mul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonpos Real.infᵢ_mul_of_nonposₓ'. -/
-theorem Real.infᵢ_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
- simp only [Real.mul_infᵢ_of_nonpos ha, mul_comm]
-#align real.infi_mul_of_nonpos Real.infᵢ_mul_of_nonpos
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => f i)) r) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
+Case conversion may be inaccurate. Consider using '#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonposₓ'. -/
+theorem Real.iInf_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
+ simp only [Real.mul_iInf_of_nonpos ha, mul_comm]
+#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonpos
-/- warning: real.supr_mul_of_nonpos -> Real.supᵢ_mul_of_nonpos is a dubious translation:
+/- warning: real.supr_mul_of_nonpos -> Real.iSup_mul_of_nonpos is a dubious translation:
lean 3 declaration is
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (supᵢ.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (infᵢ.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.hasLe r (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (iSup.{0, u1} Real Real.hasSup ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.hasInf ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (f i) r)))
but is expected to have type
- forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (supᵢ.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (infᵢ.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
-Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonpos Real.supᵢ_mul_of_nonposₓ'. -/
-theorem Real.supᵢ_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
- simp only [Real.mul_supᵢ_of_nonpos ha, mul_comm]
-#align real.supr_mul_of_nonpos Real.supᵢ_mul_of_nonpos
+ forall {ι : Sort.{u1}} {r : Real}, (LE.le.{0} Real Real.instLEReal r (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) -> (forall (f : ι -> Real), Eq.{1} Real (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (iSup.{0, u1} Real Real.instSupSetReal ι (fun (i : ι) => f i)) r) (iInf.{0, u1} Real Real.instInfSetReal ι (fun (i : ι) => HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (f i) r)))
+Case conversion may be inaccurate. Consider using '#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonposₓ'. -/
+theorem Real.iSup_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
+ simp only [Real.mul_iSup_of_nonpos ha, mul_comm]
+#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonpos
end Mul
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -79,7 +79,7 @@ theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csInf_singleton 0
by_cases h : BddAbove s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csSup' hs h).symm
+ · exact ((OrderIso.smulRightDual ℝ ha').map_csSup' hs h).symm
· rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonpos
@@ -95,7 +95,7 @@ theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csSup_singleton 0
by_cases h : BddBelow s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csInf' hs h).symm
+ · exact ((OrderIso.smulRightDual ℝ ha').map_csInf' hs h).symm
· rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonpos
•
lemmas in modules (#9241)
Sort the lemmas in Algebra.Order.Module
into Algebra.Order.Module.Defs
and Algebra.Order.Module.Pointwise
. Generalise them.
A later PR will rename the lemmas to better match the naming convention.
@@ -3,7 +3,7 @@ Copyright (c) 2021 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-/
-import Mathlib.Algebra.Order.Module
+import Mathlib.Algebra.Order.Module.OrderedSMul
import Mathlib.Algebra.Order.Module.Pointwise
import Mathlib.Data.Real.Archimedean
•
lemmas (#9179)
Remove the duplicates introduced in #8869 by sorting the lemmas in Algebra.Order.SMul
into three files:
Algebra.Order.Module.Defs
for the order isomorphism induced by scalar multiplication by a positivity elementAlgebra.Order.Module.Pointwise
for the order properties of scalar multiplication of sets. This file is new. I credit myself for https://github.com/leanprover-community/mathlib/pull/9078Algebra.Order.Module.OrderedSMul
: The material about OrderedSMul
per se. Inherits the copyright header from Algebra.Order.SMul
. This file should eventually be deleted.I move each #align
to the correct file. On top of that, I delete unused redundant OrderedSMul
instances (they were useful in Lean 3, but not anymore) and eq_of_smul_eq_smul_of_pos_of_le
/eq_of_smul_eq_smul_of_neg_of_le
since those lemmas are weird and unused.
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-/
import Mathlib.Algebra.Order.Module
+import Mathlib.Algebra.Order.Module.Pointwise
import Mathlib.Data.Real.Archimedean
#align_import data.real.pointwise from "leanprover-community/mathlib"@"dde670c9a3f503647fd5bfdf1037bad526d3397a"
@@ -40,7 +41,7 @@ theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csInf_singleton 0
by_cases h : BddBelow s
- · exact ((OrderIso.smulLeft ℝ ha').map_csInf' hs h).symm
+ · exact ((OrderIso.smulRight ha').map_csInf' hs h).symm
· rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
Real.sInf_of_not_bddBelow h, smul_zero]
#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonneg
@@ -56,7 +57,7 @@ theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) =
· rw [zero_smul_set hs, zero_smul]
exact csSup_singleton 0
by_cases h : BddAbove s
- · exact ((OrderIso.smulLeft ℝ ha').map_csSup' hs h).symm
+ · exact ((OrderIso.smulRight ha').map_csSup' hs h).symm
· rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
Real.sSup_of_not_bddAbove h, smul_zero]
#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonneg
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-/
import Mathlib.Algebra.Order.Module
-import Mathlib.Data.Real.Basic
+import Mathlib.Data.Real.Archimedean
#align_import data.real.pointwise from "leanprover-community/mathlib"@"dde670c9a3f503647fd5bfdf1037bad526d3397a"
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -27,7 +27,7 @@ open Set
open Pointwise
-variable {ι : Sort _} {α : Type _} [LinearOrderedField α]
+variable {ι : Sort*} {α : Type*} [LinearOrderedField α]
section MulActionWithZero
@@ -2,15 +2,12 @@
Copyright (c) 2021 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies, Eric Wieser
-
-! This file was ported from Lean 3 source module data.real.pointwise
-! leanprover-community/mathlib commit dde670c9a3f503647fd5bfdf1037bad526d3397a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Order.Module
import Mathlib.Data.Real.Basic
+#align_import data.real.pointwise from "leanprover-community/mathlib"@"dde670c9a3f503647fd5bfdf1037bad526d3397a"
+
/-!
# Pointwise operations on sets of reals
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -14,7 +14,7 @@ import Mathlib.Data.Real.Basic
/-!
# Pointwise operations on sets of reals
-This file relates `infₛ (a • s)`/`supₛ (a • s)` with `a • infₛ s`/`a • supₛ s` for `s : Set ℝ`.
+This file relates `sInf (a • s)`/`sSup (a • s)` with `a • sInf s`/`a • sSup s` for `s : Set ℝ`.
From these, it relates `⨅ i, a • f i` / `⨆ i, a • f i` with `a • (⨅ i, f i)` / `a • (⨆ i, f i)`,
and provides lemmas about distributing `*` over `⨅` and `⨆`.
@@ -36,37 +36,37 @@ section MulActionWithZero
variable [MulActionWithZero α ℝ] [OrderedSMul α ℝ] {a : α}
-theorem Real.infₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : infₛ (a • s) = a • infₛ s := by
+theorem Real.sInf_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sInf (a • s) = a • sInf s := by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.infₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sInf_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact cinfₛ_singleton 0
+ exact csInf_singleton 0
by_cases h : BddBelow s
- · exact ((OrderIso.smulLeft ℝ ha').map_cinfₛ' hs h).symm
- · rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
- Real.infₛ_of_not_bddBelow h, smul_zero]
-#align real.Inf_smul_of_nonneg Real.infₛ_smul_of_nonneg
+ · exact ((OrderIso.smulLeft ℝ ha').map_csInf' hs h).symm
+ · rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
+ Real.sInf_of_not_bddBelow h, smul_zero]
+#align real.Inf_smul_of_nonneg Real.sInf_smul_of_nonneg
-theorem Real.smul_infᵢ_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
- (Real.infₛ_smul_of_nonneg ha _).symm.trans <| congr_arg infₛ <| (range_comp _ _).symm
-#align real.smul_infi_of_nonneg Real.smul_infᵢ_of_nonneg
+theorem Real.smul_iInf_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨅ i, a • f i :=
+ (Real.sInf_smul_of_nonneg ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
+#align real.smul_infi_of_nonneg Real.smul_iInf_of_nonneg
-theorem Real.supₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : supₛ (a • s) = a • supₛ s := by
+theorem Real.sSup_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : sSup (a • s) = a • sSup s := by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.supₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sSup_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact csupₛ_singleton 0
+ exact csSup_singleton 0
by_cases h : BddAbove s
- · exact ((OrderIso.smulLeft ℝ ha').map_csupₛ' hs h).symm
- · rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
- Real.supₛ_of_not_bddAbove h, smul_zero]
-#align real.Sup_smul_of_nonneg Real.supₛ_smul_of_nonneg
+ · exact ((OrderIso.smulLeft ℝ ha').map_csSup' hs h).symm
+ · rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
+ Real.sSup_of_not_bddAbove h, smul_zero]
+#align real.Sup_smul_of_nonneg Real.sSup_smul_of_nonneg
-theorem Real.smul_supᵢ_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
- (Real.supₛ_smul_of_nonneg ha _).symm.trans <| congr_arg supₛ <| (range_comp _ _).symm
-#align real.smul_supr_of_nonneg Real.smul_supᵢ_of_nonneg
+theorem Real.smul_iSup_of_nonneg (ha : 0 ≤ a) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨆ i, a • f i :=
+ (Real.sSup_smul_of_nonneg ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
+#align real.smul_supr_of_nonneg Real.smul_iSup_of_nonneg
end MulActionWithZero
@@ -74,37 +74,37 @@ section Module
variable [Module α ℝ] [OrderedSMul α ℝ] {a : α}
-theorem Real.infₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : infₛ (a • s) = a • supₛ s := by
+theorem Real.sInf_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sInf (a • s) = a • sSup s := by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.infₛ_empty, Real.supₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sInf_empty, Real.sSup_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact cinfₛ_singleton 0
+ exact csInf_singleton 0
by_cases h : BddAbove s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_csupₛ' hs h).symm
- · rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
- Real.supₛ_of_not_bddAbove h, smul_zero]
-#align real.Inf_smul_of_nonpos Real.infₛ_smul_of_nonpos
+ · exact ((OrderIso.smulLeftDual ℝ ha').map_csSup' hs h).symm
+ · rw [Real.sInf_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
+ Real.sSup_of_not_bddAbove h, smul_zero]
+#align real.Inf_smul_of_nonpos Real.sInf_smul_of_nonpos
-theorem Real.smul_supᵢ_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
- (Real.infₛ_smul_of_nonpos ha _).symm.trans <| congr_arg infₛ <| (range_comp _ _).symm
-#align real.smul_supr_of_nonpos Real.smul_supᵢ_of_nonpos
+theorem Real.smul_iSup_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨆ i, f i) = ⨅ i, a • f i :=
+ (Real.sInf_smul_of_nonpos ha _).symm.trans <| congr_arg sInf <| (range_comp _ _).symm
+#align real.smul_supr_of_nonpos Real.smul_iSup_of_nonpos
-theorem Real.supₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : supₛ (a • s) = a • infₛ s := by
+theorem Real.sSup_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : sSup (a • s) = a • sInf s := by
obtain rfl | hs := s.eq_empty_or_nonempty
- · rw [smul_set_empty, Real.supₛ_empty, Real.infₛ_empty, smul_zero]
+ · rw [smul_set_empty, Real.sSup_empty, Real.sInf_empty, smul_zero]
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
- exact csupₛ_singleton 0
+ exact csSup_singleton 0
by_cases h : BddBelow s
- · exact ((OrderIso.smulLeftDual ℝ ha').map_cinfₛ' hs h).symm
- · rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
- Real.infₛ_of_not_bddBelow h, smul_zero]
-#align real.Sup_smul_of_nonpos Real.supₛ_smul_of_nonpos
+ · exact ((OrderIso.smulLeftDual ℝ ha').map_csInf' hs h).symm
+ · rw [Real.sSup_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
+ Real.sInf_of_not_bddBelow h, smul_zero]
+#align real.Sup_smul_of_nonpos Real.sSup_smul_of_nonpos
-theorem Real.smul_infᵢ_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
- (Real.supₛ_smul_of_nonpos ha _).symm.trans <| congr_arg supₛ <| (range_comp _ _).symm
-#align real.smul_infi_of_nonpos Real.smul_infᵢ_of_nonpos
+theorem Real.smul_iInf_of_nonpos (ha : a ≤ 0) (f : ι → ℝ) : (a • ⨅ i, f i) = ⨆ i, a • f i :=
+ (Real.sSup_smul_of_nonpos ha _).symm.trans <| congr_arg sSup <| (range_comp _ _).symm
+#align real.smul_infi_of_nonpos Real.smul_iInf_of_nonpos
end Module
@@ -115,36 +115,36 @@ section Mul
variable {r : ℝ}
-theorem Real.mul_infᵢ_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
- Real.smul_infᵢ_of_nonneg ha f
-#align real.mul_infi_of_nonneg Real.mul_infᵢ_of_nonneg
+theorem Real.mul_iInf_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨅ i, r * f i :=
+ Real.smul_iInf_of_nonneg ha f
+#align real.mul_infi_of_nonneg Real.mul_iInf_of_nonneg
-theorem Real.mul_supᵢ_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
- Real.smul_supᵢ_of_nonneg ha f
-#align real.mul_supr_of_nonneg Real.mul_supᵢ_of_nonneg
+theorem Real.mul_iSup_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨆ i, r * f i :=
+ Real.smul_iSup_of_nonneg ha f
+#align real.mul_supr_of_nonneg Real.mul_iSup_of_nonneg
-theorem Real.mul_infᵢ_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
- Real.smul_infᵢ_of_nonpos ha f
-#align real.mul_infi_of_nonpos Real.mul_infᵢ_of_nonpos
+theorem Real.mul_iInf_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨅ i, f i) = ⨆ i, r * f i :=
+ Real.smul_iInf_of_nonpos ha f
+#align real.mul_infi_of_nonpos Real.mul_iInf_of_nonpos
-theorem Real.mul_supᵢ_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
- Real.smul_supᵢ_of_nonpos ha f
-#align real.mul_supr_of_nonpos Real.mul_supᵢ_of_nonpos
+theorem Real.mul_iSup_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (r * ⨆ i, f i) = ⨅ i, r * f i :=
+ Real.smul_iSup_of_nonpos ha f
+#align real.mul_supr_of_nonpos Real.mul_iSup_of_nonpos
-theorem Real.infᵢ_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
- simp only [Real.mul_infᵢ_of_nonneg ha, mul_comm]
-#align real.infi_mul_of_nonneg Real.infᵢ_mul_of_nonneg
+theorem Real.iInf_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨅ i, f i) * r = ⨅ i, f i * r := by
+ simp only [Real.mul_iInf_of_nonneg ha, mul_comm]
+#align real.infi_mul_of_nonneg Real.iInf_mul_of_nonneg
-theorem Real.supᵢ_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
- simp only [Real.mul_supᵢ_of_nonneg ha, mul_comm]
-#align real.supr_mul_of_nonneg Real.supᵢ_mul_of_nonneg
+theorem Real.iSup_mul_of_nonneg (ha : 0 ≤ r) (f : ι → ℝ) : (⨆ i, f i) * r = ⨆ i, f i * r := by
+ simp only [Real.mul_iSup_of_nonneg ha, mul_comm]
+#align real.supr_mul_of_nonneg Real.iSup_mul_of_nonneg
-theorem Real.infᵢ_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
- simp only [Real.mul_infᵢ_of_nonpos ha, mul_comm]
-#align real.infi_mul_of_nonpos Real.infᵢ_mul_of_nonpos
+theorem Real.iInf_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨅ i, f i) * r = ⨆ i, f i * r := by
+ simp only [Real.mul_iInf_of_nonpos ha, mul_comm]
+#align real.infi_mul_of_nonpos Real.iInf_mul_of_nonpos
-theorem Real.supᵢ_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
- simp only [Real.mul_supᵢ_of_nonpos ha, mul_comm]
-#align real.supr_mul_of_nonpos Real.supᵢ_mul_of_nonpos
+theorem Real.iSup_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i) * r = ⨅ i, f i * r := by
+ simp only [Real.mul_iSup_of_nonpos ha, mul_comm]
+#align real.supr_mul_of_nonpos Real.iSup_mul_of_nonpos
end Mul
@@ -14,7 +14,7 @@ import Mathlib.Data.Real.Basic
/-!
# Pointwise operations on sets of reals
-This file relates `Inf (a • s)`/`Sup (a • s)` with `a • Inf s`/`a • Sup s` for `s : Set ℝ`.
+This file relates `infₛ (a • s)`/`supₛ (a • s)` with `a • infₛ s`/`a • supₛ s` for `s : Set ℝ`.
From these, it relates `⨅ i, a • f i` / `⨆ i, a • f i` with `a • (⨅ i, f i)` / `a • (⨆ i, f i)`,
and provides lemmas about distributing `*` over `⨅` and `⨆`.
@@ -42,7 +42,7 @@ theorem Real.infₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : infₛ (a •
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
exact cinfₛ_singleton 0
- by_cases BddBelow s
+ by_cases h : BddBelow s
· exact ((OrderIso.smulLeft ℝ ha').map_cinfₛ' hs h).symm
· rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_pos ha').1 h),
Real.infₛ_of_not_bddBelow h, smul_zero]
@@ -58,7 +58,7 @@ theorem Real.supₛ_smul_of_nonneg (ha : 0 ≤ a) (s : Set ℝ) : supₛ (a •
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
exact csupₛ_singleton 0
- by_cases BddAbove s
+ by_cases h : BddAbove s
· exact ((OrderIso.smulLeft ℝ ha').map_csupₛ' hs h).symm
· rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_pos ha').1 h),
Real.supₛ_of_not_bddAbove h, smul_zero]
@@ -80,7 +80,7 @@ theorem Real.infₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : infₛ (a •
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
exact cinfₛ_singleton 0
- by_cases BddAbove s
+ by_cases h : BddAbove s
· exact ((OrderIso.smulLeftDual ℝ ha').map_csupₛ' hs h).symm
· rw [Real.infₛ_of_not_bddBelow (mt (bddBelow_smul_iff_of_neg ha').1 h),
Real.supₛ_of_not_bddAbove h, smul_zero]
@@ -96,7 +96,7 @@ theorem Real.supₛ_smul_of_nonpos (ha : a ≤ 0) (s : Set ℝ) : supₛ (a •
obtain rfl | ha' := ha.eq_or_lt
· rw [zero_smul_set hs, zero_smul]
exact csupₛ_singleton 0
- by_cases BddBelow s
+ by_cases h : BddBelow s
· exact ((OrderIso.smulLeftDual ℝ ha').map_cinfₛ' hs h).symm
· rw [Real.supₛ_of_not_bddAbove (mt (bddAbove_smul_iff_of_neg ha').1 h),
Real.infₛ_of_not_bddBelow h, smul_zero]
@@ -148,4 +148,3 @@ theorem Real.supᵢ_mul_of_nonpos (ha : r ≤ 0) (f : ι → ℝ) : (⨆ i, f i)
#align real.supr_mul_of_nonpos Real.supᵢ_mul_of_nonpos
end Mul
-
The unported dependencies are