@@ -104,6 +104,8 @@ This file acts as a substitute for `Mathlib.Algebra.Order.SMul`. We now need to
104
104
* rethink `OrderedSMul`
105
105
-/
106
106
107
+ open OrderDual
108
+
107
109
variable (α β : Type *)
108
110
109
111
section Defs
@@ -814,13 +816,13 @@ variable [OrderedAddCommGroup β] [Module α β]
814
816
section PosSMulMono
815
817
variable [PosSMulMono α β]
816
818
817
- lemma smul_le_smul_of_nonpos (h : b₁ ≤ b₂) (ha : a ≤ 0 ) : a • b₂ ≤ a • b₁ := by
819
+ lemma smul_le_smul_of_nonpos_left (h : b₁ ≤ b₂) (ha : a ≤ 0 ) : a • b₂ ≤ a • b₁ := by
818
820
rw [← neg_neg a, neg_smul, neg_smul (-a), neg_le_neg_iff]
819
821
exact smul_le_smul_of_nonneg_left h (neg_nonneg_of_nonpos ha)
820
- #align smul_le_smul_of_nonpos smul_le_smul_of_nonpos
822
+ #align smul_le_smul_of_nonpos smul_le_smul_of_nonpos_left
821
823
822
- lemma antitone_smul_left (ha : a ≤ 0 ) : Antitone (SMul.smul a : β → β) :=
823
- fun _ _ h => smul_le_smul_of_nonpos h ha
824
+ lemma antitone_smul_left (ha : a ≤ 0 ) : Antitone ((a • ·) : β → β) :=
825
+ fun _ _ h ↦ smul_le_smul_of_nonpos_left h ha
824
826
#align antitone_smul_left antitone_smul_left
825
827
826
828
instance PosSMulMono.toSMulPosMono : SMulPosMono α β where
@@ -831,14 +833,14 @@ end PosSMulMono
831
833
section PosSMulStrictMono
832
834
variable [PosSMulStrictMono α β]
833
835
834
- lemma smul_lt_smul_of_neg (hb : b₁ < b₂) (ha : a < 0 ) : a • b₂ < a • b₁ := by
836
+ lemma smul_lt_smul_of_neg_left (hb : b₁ < b₂) (ha : a < 0 ) : a • b₂ < a • b₁ := by
835
837
rw [← neg_neg a, neg_smul, neg_smul (-a), neg_lt_neg_iff]
836
838
exact smul_lt_smul_of_pos_left hb (neg_pos_of_neg ha)
837
- #align smul_lt_smul_of_neg smul_lt_smul_of_neg
839
+ #align smul_lt_smul_of_neg smul_lt_smul_of_neg_left
838
840
839
- lemma strict_anti_smul_left (ha : a < 0 ) : StrictAnti (SMul.smul a : β → β) :=
840
- fun _ _ h => smul_lt_smul_of_neg h ha
841
- #align strict_anti_smul_left strict_anti_smul_left
841
+ lemma strictAnti_smul_left (ha : a < 0 ) : StrictAnti ((a • ·) : β → β) :=
842
+ fun _ _ h ↦ smul_lt_smul_of_neg_left h ha
843
+ #align strict_anti_smul_left strictAnti_smul_left
842
844
843
845
instance PosSMulStrictMono.toSMulPosStrictMono : SMulPosStrictMono α β where
844
846
elim _b hb a₁ a₂ ha := by rw [← sub_pos, ← sub_smul]; exact smul_pos (sub_pos.2 ha) hb
@@ -860,30 +862,30 @@ lemma smul_nonneg_of_nonpos_of_nonpos [SMulPosMono α β] (ha : a ≤ 0) (hb : b
860
862
smul_nonpos_of_nonpos_of_nonneg (β := βᵒᵈ) ha hb
861
863
#align smul_nonneg_of_nonpos_of_nonpos smul_nonneg_of_nonpos_of_nonpos
862
864
863
- lemma smul_le_smul_iff_of_neg [PosSMulMono α β] [PosSMulReflectLE α β] (ha : a < 0 ) :
865
+ lemma smul_le_smul_iff_of_neg_left [PosSMulMono α β] [PosSMulReflectLE α β] (ha : a < 0 ) :
864
866
a • b₁ ≤ a • b₂ ↔ b₂ ≤ b₁ := by
865
867
rw [← neg_neg a, neg_smul, neg_smul (-a), neg_le_neg_iff]
866
868
exact smul_le_smul_iff_of_pos_left (neg_pos_of_neg ha)
867
- #align smul_le_smul_iff_of_neg smul_le_smul_iff_of_neg
869
+ #align smul_le_smul_iff_of_neg smul_le_smul_iff_of_neg_left
868
870
869
871
section PosSMulStrictMono
870
872
variable [PosSMulStrictMono α β] [PosSMulReflectLT α β]
871
873
872
- lemma smul_lt_smul_iff_of_neg (ha : a < 0 ) : a • b₁ < a • b₂ ↔ b₂ < b₁ := by
874
+ lemma smul_lt_smul_iff_of_neg_left (ha : a < 0 ) : a • b₁ < a • b₂ ↔ b₂ < b₁ := by
873
875
rw [← neg_neg a, neg_smul, neg_smul (-a), neg_lt_neg_iff]
874
876
exact smul_lt_smul_iff_of_pos_left (neg_pos_of_neg ha)
875
- #align smul_lt_smul_iff_of_neg smul_lt_smul_iff_of_neg
877
+ #align smul_lt_smul_iff_of_neg smul_lt_smul_iff_of_neg_left
876
878
877
- lemma smul_pos_iff_of_neg (ha : a < 0 ) : 0 < a • b₁ ↔ b₁ < 0 := by
878
- simpa only [smul_zero] using smul_lt_smul_iff_of_neg ha (b₁ := (0 : β))
879
- #align smul_pos_iff_of_neg smul_pos_iff_of_neg
879
+ lemma smul_pos_iff_of_neg_left (ha : a < 0 ) : 0 < a • b ↔ b < 0 := by
880
+ simpa only [smul_zero] using smul_lt_smul_iff_of_neg_left ha (b₁ := (0 : β))
881
+ #align smul_pos_iff_of_neg smul_pos_iff_of_neg_left
880
882
881
- alias ⟨_, smul_pos_of_neg_of_neg⟩ := smul_pos_iff_of_neg
883
+ alias ⟨_, smul_pos_of_neg_of_neg⟩ := smul_pos_iff_of_neg_left
882
884
#align smul_pos_of_neg_of_neg smul_pos_of_neg_of_neg
883
885
884
- lemma smul_neg_iff_of_neg (ha : a < 0 ) : a • b₁ < 0 ↔ 0 < b₁ := by
885
- simpa only [smul_zero] using smul_lt_smul_iff_of_neg ha (b₂ := (0 : β))
886
- #align smul_neg_iff_of_neg smul_neg_iff_of_neg
886
+ lemma smul_neg_iff_of_neg_left (ha : a < 0 ) : a • b < 0 ↔ 0 < b := by
887
+ simpa only [smul_zero] using smul_lt_smul_iff_of_neg_left ha (b₂ := (0 : β))
888
+ #align smul_neg_iff_of_neg smul_neg_iff_of_neg_left
887
889
888
890
end PosSMulStrictMono
889
891
@@ -996,35 +998,32 @@ section PosSMulMono
996
998
variable [PosSMulMono α β]
997
999
998
1000
lemma inv_smul_le_iff_of_neg (h : a < 0 ) : a⁻¹ • b₁ ≤ b₂ ↔ a • b₂ ≤ b₁ := by
999
- rw [← smul_le_smul_iff_of_neg h, smul_inv_smul₀ h.ne]
1001
+ rw [← smul_le_smul_iff_of_neg_left h, smul_inv_smul₀ h.ne]
1000
1002
#align inv_smul_le_iff_of_neg inv_smul_le_iff_of_neg
1001
1003
1002
1004
lemma smul_inv_le_iff_of_neg (h : a < 0 ) : b₁ ≤ a⁻¹ • b₂ ↔ b₂ ≤ a • b₁ := by
1003
- rw [← smul_le_smul_iff_of_neg h, smul_inv_smul₀ h.ne]
1005
+ rw [← smul_le_smul_iff_of_neg_left h, smul_inv_smul₀ h.ne]
1006
+ #align smul_inv_le_iff_of_neg smul_inv_le_iff_of_neg
1004
1007
1005
1008
variable (β)
1006
1009
1007
1010
/-- Left scalar multiplication as an order isomorphism. -/
1008
- @[simps]
1009
- def OrderIso.smulLeftDual (ha : a < 0 ) : β ≃o βᵒᵈ where
1010
- toFun b₂ := OrderDual.toDual (a • b₂)
1011
- invFun b₂ := a⁻¹ • OrderDual.ofDual b₂
1012
- left_inv := inv_smul_smul₀ ha.ne
1013
- right_inv := smul_inv_smul₀ ha.ne
1014
- map_rel_iff' := (@OrderDual.toDual_le_toDual β).trans <| smul_le_smul_iff_of_neg ha
1015
- #align order_iso.smul_left_dual OrderIso.smulLeftDual
1016
- #align smul_inv_le_iff_of_neg smul_inv_le_iff_of_neg
1011
+ @[simps!]
1012
+ def OrderIso.smulRightDual (ha : a < 0 ) : β ≃o βᵒᵈ where
1013
+ toEquiv := (Equiv.smulRight ha.ne).trans toDual
1014
+ map_rel_iff' := (@OrderDual.toDual_le_toDual β).trans <| smul_le_smul_iff_of_neg_left ha
1015
+ #align order_iso.smul_left_dual OrderIso.smulRightDual
1017
1016
1018
1017
end PosSMulMono
1019
1018
1020
1019
variable [PosSMulStrictMono α β]
1021
1020
1022
1021
lemma inv_smul_lt_iff_of_neg (h : a < 0 ) : a⁻¹ • b₁ < b₂ ↔ a • b₂ < b₁ := by
1023
- rw [← smul_lt_smul_iff_of_neg h, smul_inv_smul₀ h.ne]
1022
+ rw [← smul_lt_smul_iff_of_neg_left h, smul_inv_smul₀ h.ne]
1024
1023
#align inv_smul_lt_iff_of_neg inv_smul_lt_iff_of_neg
1025
1024
1026
1025
lemma smul_inv_lt_iff_of_neg (h : a < 0 ) : b₁ < a⁻¹ • b₂ ↔ b₂ < a • b₁ := by
1027
- rw [← smul_lt_smul_iff_of_neg h, smul_inv_smul₀ h.ne]
1026
+ rw [← smul_lt_smul_iff_of_neg_left h, smul_inv_smul₀ h.ne]
1028
1027
#align smul_inv_lt_iff_of_neg smul_inv_lt_iff_of_neg
1029
1028
1030
1029
end Field
@@ -1181,7 +1180,7 @@ end Mathlib.Meta.Positivity
1181
1180
/-!
1182
1181
### Deprecated lemmas
1183
1182
1184
- Those lemmas have been deprecated on the 2023/12/ 23.
1183
+ Those lemmas have been deprecated on 2023-12- 23.
1185
1184
-/
1186
1185
1187
1186
@[deprecated] alias monotone_smul_left := monotone_smul_left_of_nonneg
@@ -1202,3 +1201,15 @@ Those lemmas have been deprecated on the 2023/12/23.
1202
1201
@[deprecated] alias OrderIso.smulLeft_symm_apply := OrderIso.smulRight_symm_apply
1203
1202
@[deprecated] alias OrderIso.smulLeft_apply := OrderIso.smulRight_apply
1204
1203
@[deprecated] alias smul_neg_iff_of_pos := smul_neg_iff_of_pos_left
1204
+
1205
+ /-!
1206
+ Those lemmas have been deprecated on 2023-12-27.
1207
+ -/
1208
+
1209
+ @[deprecated] alias strict_anti_smul_left := strictAnti_smul_left
1210
+ @[deprecated] alias smul_le_smul_of_nonpos := smul_le_smul_of_nonpos_left
1211
+ @[deprecated] alias smul_lt_smul_of_neg := smul_lt_smul_of_neg_left
1212
+ @[deprecated] alias smul_pos_iff_of_neg := smul_pos_iff_of_neg_left
1213
+ @[deprecated] alias smul_neg_iff_of_neg := smul_neg_iff_of_neg_left
1214
+ @[deprecated] alias smul_le_smul_iff_of_neg := smul_le_smul_iff_of_neg_left
1215
+ @[deprecated] alias smul_lt_smul_iff_of_neg := smul_lt_smul_iff_of_neg_left
0 commit comments