@@ -1098,15 +1098,6 @@ begin
1098
1098
exact mul_rpow_of_ne_zero h.1 h.2 z
1099
1099
end
1100
1100
1101
- lemma one_le_rpow {x : ennreal} {z : ℝ} (h : 1 ≤ x) (h₁ : 0 ≤ z) : 1 ≤ x^z :=
1102
- begin
1103
- cases x,
1104
- { rcases le_iff_eq_or_lt.1 h₁ with H|H,
1105
- { simp [← H, le_refl] },
1106
- { simp [top_rpow_of_pos H] } },
1107
- { simp only [one_le_coe_iff, some_eq_coe] at h,
1108
- simp [coe_rpow_of_nonneg _ h₁, nnreal.one_le_rpow h h₁] }
1109
- end
1110
1101
1111
1102
lemma rpow_le_rpow {x y : ennreal} {z : ℝ} (h₁ : x ≤ y) (h₂ : 0 ≤ z) : x^z ≤ y^z :=
1112
1103
begin
@@ -1168,29 +1159,69 @@ begin
1168
1159
nnreal.rpow_le_rpow_of_exponent_ge (bot_lt_iff_ne_bot.mpr h) hx1 hyz] }
1169
1160
end
1170
1161
1171
- lemma rpow_le_one {x : ennreal} {z : ℝ} (hx2 : x ≤ 1 ) (hz : 0 ≤ z) : x^z ≤ 1 :=
1162
+ lemma rpow_lt_one {x : ennreal} {z : ℝ} (hx : x < 1 ) (hz : 0 < z) : x^z < 1 :=
1172
1163
begin
1173
- lift x to ℝ≥0 using ne_of_lt (lt_of_le_of_lt hx2 coe_lt_top),
1174
- simp at hx2,
1175
- simp [coe_rpow_of_nonneg _ hz, nnreal.rpow_le_one hx2 hz]
1164
+ lift x to ℝ≥0 using ne_of_lt (lt_of_lt_of_le hx le_top),
1165
+ simp only [coe_lt_one_iff] at hx,
1166
+ simp [coe_rpow_of_nonneg _ (le_of_lt hz), nnreal.rpow_lt_one (zero_le x) hx hz],
1167
+ end
1168
+
1169
+ lemma rpow_le_one {x : ennreal} {z : ℝ} (hx : x ≤ 1 ) (hz : 0 ≤ z) : x^z ≤ 1 :=
1170
+ begin
1171
+ lift x to ℝ≥0 using ne_of_lt (lt_of_le_of_lt hx coe_lt_top),
1172
+ simp only [coe_le_one_iff] at hx,
1173
+ simp [coe_rpow_of_nonneg _ hz, nnreal.rpow_le_one hx hz],
1174
+ end
1175
+
1176
+ lemma rpow_lt_one_of_one_lt_of_neg {x : ennreal} {z : ℝ} (hx : 1 < x) (hz : z < 0 ) : x^z < 1 :=
1177
+ begin
1178
+ cases x,
1179
+ { simp [top_rpow_of_neg hz, ennreal.zero_lt_one] },
1180
+ { simp only [some_eq_coe, one_lt_coe_iff] at hx,
1181
+ simp [coe_rpow_of_ne_zero (ne_of_gt (lt_trans zero_lt_one hx)),
1182
+ nnreal.rpow_lt_one_of_one_lt_of_neg hx hz] },
1183
+ end
1184
+
1185
+ lemma rpow_le_one_of_one_le_of_neg {x : ennreal} {z : ℝ} (hx : 1 ≤ x) (hz : z < 0 ) : x^z ≤ 1 :=
1186
+ begin
1187
+ cases x,
1188
+ { simp [top_rpow_of_neg hz, ennreal.zero_lt_one] },
1189
+ { simp only [one_le_coe_iff, some_eq_coe] at hx,
1190
+ simp [coe_rpow_of_ne_zero (ne_of_gt (lt_of_lt_of_le zero_lt_one hx)),
1191
+ nnreal.rpow_le_one_of_one_le_of_nonpos hx (le_of_lt hz)] },
1176
1192
end
1177
1193
1178
1194
lemma one_lt_rpow {x : ennreal} {z : ℝ} (hx : 1 < x) (hz : 0 < z) : 1 < x^z :=
1179
1195
begin
1180
1196
cases x,
1181
1197
{ simp [top_rpow_of_pos hz] },
1182
- { simp at hx,
1198
+ { simp only [some_eq_coe, one_lt_coe_iff] at hx,
1183
1199
simp [coe_rpow_of_nonneg _ (le_of_lt hz), nnreal.one_lt_rpow hx hz] }
1184
1200
end
1185
1201
1186
- lemma rpow_lt_one {x : ennreal} {z : ℝ} (hx1 : x < 1 ) (hz : 0 < z) : x^z < 1 :=
1202
+ lemma one_le_rpow {x : ennreal} {z : ℝ} (hx : 1 ≤ x ) (hz : 0 < z) : 1 ≤ x^z :=
1187
1203
begin
1188
- by_cases h : x = 0 ,
1189
- { simp [h, zero_rpow_of_pos hz, ennreal.zero_lt_one] },
1190
- { lift x to ℝ≥0 using ne_of_lt (lt_of_lt_of_le hx1 le_top),
1191
- simp at h hx1,
1192
- have : 0 ≤ x := le_of_lt (bot_lt_iff_ne_bot.mpr h),
1193
- simp [coe_rpow_of_nonneg _ (le_of_lt hz), nnreal.rpow_lt_one this hx1 hz] }
1204
+ cases x,
1205
+ { simp [top_rpow_of_pos hz] },
1206
+ { simp only [one_le_coe_iff, some_eq_coe] at hx,
1207
+ simp [coe_rpow_of_nonneg _ (le_of_lt hz), nnreal.one_le_rpow hx (le_of_lt hz)] },
1208
+ end
1209
+
1210
+ lemma one_lt_rpow_of_pos_of_lt_one_of_neg {x : ennreal} {z : ℝ} (hx1 : 0 < x) (hx2 : x < 1 )
1211
+ (hz : z < 0 ) : 1 < x^z :=
1212
+ begin
1213
+ lift x to ℝ≥0 using ne_of_lt (lt_of_lt_of_le hx2 le_top),
1214
+ simp only [coe_lt_one_iff, coe_pos] at ⊢ hx1 hx2,
1215
+ simp [coe_rpow_of_ne_zero (ne_of_gt hx1), nnreal.one_lt_rpow_of_pos_of_lt_one_of_neg hx1 hx2 hz],
1216
+ end
1217
+
1218
+ lemma one_le_rpow_of_pos_of_le_one_of_neg {x : ennreal} {z : ℝ} (hx1 : 0 < x) (hx2 : x ≤ 1 )
1219
+ (hz : z < 0 ) : 1 ≤ x^z :=
1220
+ begin
1221
+ lift x to ℝ≥0 using ne_of_lt (lt_of_le_of_lt hx2 coe_lt_top),
1222
+ simp only [coe_le_one_iff, coe_pos] at ⊢ hx1 hx2,
1223
+ simp [coe_rpow_of_ne_zero (ne_of_gt hx1),
1224
+ nnreal.one_le_rpow_of_pos_of_le_one_of_nonpos hx1 hx2 (le_of_lt hz)],
1194
1225
end
1195
1226
1196
1227
lemma to_real_rpow (x : ennreal) (z : ℝ) :
0 commit comments