@@ -429,9 +429,9 @@ toℚᵘ-cong refl = *≡* refl
429
429
430
430
fromℚᵘ-cong : fromℚᵘ Preserves _≃ᵘ_ ⟶ _≡_
431
431
fromℚᵘ-cong {p} {q} p≃q = toℚᵘ-injective (begin-equality
432
- toℚᵘ (fromℚᵘ p) ≈ ⟨ toℚᵘ-fromℚᵘ p ⟩
433
- p ≈ ⟨ p≃q ⟩
434
- q ≈ ˘⟨ toℚᵘ-fromℚᵘ q ⟩
432
+ toℚᵘ (fromℚᵘ p) ≃ ⟨ toℚᵘ-fromℚᵘ p ⟩
433
+ p ≃ ⟨ p≃q ⟩
434
+ q ≃ ˘⟨ toℚᵘ-fromℚᵘ q ⟩
435
435
toℚᵘ (fromℚᵘ q) ∎)
436
436
where open ℚᵘ.≤-Reasoning
437
437
@@ -705,15 +705,24 @@ _>?_ = flip _<?_
705
705
------------------------------------------------------------------------
706
706
707
707
module ≤-Reasoning where
708
- open import Relation.Binary.Reasoning.Base.Triple
708
+ import Relation.Binary.Reasoning.Base.Triple
709
709
≤-isPreorder
710
710
<-trans
711
711
(resp₂ _<_)
712
712
<⇒≤
713
713
<-≤-trans
714
714
≤-<-trans
715
- public
716
- hiding (step-≈; step-≈˘)
715
+ as Triple
716
+ open Triple public hiding (step-≈; step-≈˘)
717
+
718
+ infixr 2 step-≃ step-≃˘
719
+
720
+ step-≃ = Triple.step-≈
721
+ step-≃˘ = Triple.step-≈˘
722
+
723
+ syntax step-≃ x y∼z x≃y = x ≃⟨ x≃y ⟩ y∼z
724
+ syntax step-≃˘ x y∼z y≃x = x ≃˘⟨ y≃x ⟩ y∼z
725
+
717
726
718
727
------------------------------------------------------------------------
719
728
-- Properties of Positive/NonPositive/Negative/NonNegative and _≤_/_<_
@@ -950,9 +959,9 @@ neg-distrib-+ = +-Monomorphism.⁻¹-distrib-∙ ℚᵘ.+-0-isAbelianGroup (ℚ
950
959
951
960
+-mono-≤ : _+_ Preserves₂ _≤_ ⟶ _≤_ ⟶ _≤_
952
961
+-mono-≤ {p} {q} {r} {s} p≤q r≤s = toℚᵘ-cancel-≤ (begin
953
- toℚᵘ(p + r) ≈ ⟨ toℚᵘ-homo-+ p r ⟩
962
+ toℚᵘ(p + r) ≃ ⟨ toℚᵘ-homo-+ p r ⟩
954
963
toℚᵘ(p) ℚᵘ.+ toℚᵘ(r) ≤⟨ ℚᵘ.+-mono-≤ (toℚᵘ-mono-≤ p≤q) (toℚᵘ-mono-≤ r≤s) ⟩
955
- toℚᵘ(q) ℚᵘ.+ toℚᵘ(s) ≈ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-+ q s) ⟩
964
+ toℚᵘ(q) ℚᵘ.+ toℚᵘ(s) ≃ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-+ q s) ⟩
956
965
toℚᵘ(q + s) ∎)
957
966
where open ℚᵘ.≤-Reasoning
958
967
@@ -967,9 +976,9 @@ neg-distrib-+ = +-Monomorphism.⁻¹-distrib-∙ ℚᵘ.+-0-isAbelianGroup (ℚ
967
976
968
977
+-mono-<-≤ : _+_ Preserves₂ _<_ ⟶ _≤_ ⟶ _<_
969
978
+-mono-<-≤ {p} {q} {r} {s} p<q r≤s = toℚᵘ-cancel-< (begin-strict
970
- toℚᵘ(p + r) ≈ ⟨ toℚᵘ-homo-+ p r ⟩
979
+ toℚᵘ(p + r) ≃ ⟨ toℚᵘ-homo-+ p r ⟩
971
980
toℚᵘ(p) ℚᵘ.+ toℚᵘ(r) <⟨ ℚᵘ.+-mono-<-≤ (toℚᵘ-mono-< p<q) (toℚᵘ-mono-≤ r≤s) ⟩
972
- toℚᵘ(q) ℚᵘ.+ toℚᵘ(s) ≈ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-+ q s) ⟩
981
+ toℚᵘ(q) ℚᵘ.+ toℚᵘ(s) ≃ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-+ q s) ⟩
973
982
toℚᵘ(q + s) ∎)
974
983
where open ℚᵘ.≤-Reasoning
975
984
@@ -1127,9 +1136,9 @@ private
1127
1136
1128
1137
*-inverseˡ : ∀ p .{{_ : NonZero p}} → (1/ p) * p ≡ 1ℚ
1129
1138
*-inverseˡ p = toℚᵘ-injective (begin-equality
1130
- toℚᵘ (1/ p * p) ≈ ⟨ toℚᵘ-homo-* (1/ p) p ⟩
1131
- toℚᵘ (1/ p) ℚᵘ.* toℚᵘ p ≈ ⟨ ℚᵘ.*-congʳ (toℚᵘ-homo-1/ p) ⟩
1132
- ℚᵘ.1/ (toℚᵘ p) ℚᵘ.* toℚᵘ p ≈ ⟨ ℚᵘ.*-inverseˡ (toℚᵘ p) ⟩
1139
+ toℚᵘ (1/ p * p) ≃ ⟨ toℚᵘ-homo-* (1/ p) p ⟩
1140
+ toℚᵘ (1/ p) ℚᵘ.* toℚᵘ p ≃ ⟨ ℚᵘ.*-congʳ (toℚᵘ-homo-1/ p) ⟩
1141
+ ℚᵘ.1/ (toℚᵘ p) ℚᵘ.* toℚᵘ p ≃ ⟨ ℚᵘ.*-inverseˡ (toℚᵘ p) ⟩
1133
1142
ℚᵘ.1ℚᵘ ∎)
1134
1143
where open ℚᵘ.≤-Reasoning
1135
1144
@@ -1201,9 +1210,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1201
1210
1202
1211
*-cancelʳ-≤-pos : ∀ r .{{_ : Positive r}} → p * r ≤ q * r → p ≤ q
1203
1212
*-cancelʳ-≤-pos {p} {q} r pr≤qr = toℚᵘ-cancel-≤ (ℚᵘ.*-cancelʳ-≤-pos (toℚᵘ r) (begin
1204
- toℚᵘ p ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* p r ⟩
1213
+ toℚᵘ p ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* p r ⟩
1205
1214
toℚᵘ (p * r) ≤⟨ toℚᵘ-mono-≤ pr≤qr ⟩
1206
- toℚᵘ (q * r) ≈ ⟨ toℚᵘ-homo-* q r ⟩
1215
+ toℚᵘ (q * r) ≃ ⟨ toℚᵘ-homo-* q r ⟩
1207
1216
toℚᵘ q ℚᵘ.* toℚᵘ r ∎))
1208
1217
where open ℚᵘ.≤-Reasoning
1209
1218
@@ -1212,9 +1221,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1212
1221
1213
1222
*-monoʳ-≤-nonNeg : ∀ r .{{_ : NonNegative r}} → (_* r) Preserves _≤_ ⟶ _≤_
1214
1223
*-monoʳ-≤-nonNeg r {p} {q} p≤q = toℚᵘ-cancel-≤ (begin
1215
- toℚᵘ (p * r) ≈ ⟨ toℚᵘ-homo-* p r ⟩
1224
+ toℚᵘ (p * r) ≃ ⟨ toℚᵘ-homo-* p r ⟩
1216
1225
toℚᵘ p ℚᵘ.* toℚᵘ r ≤⟨ ℚᵘ.*-monoˡ-≤-nonNeg (toℚᵘ r) (toℚᵘ-mono-≤ p≤q) ⟩
1217
- toℚᵘ q ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* q r ⟩
1226
+ toℚᵘ q ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* q r ⟩
1218
1227
toℚᵘ (q * r) ∎)
1219
1228
where open ℚᵘ.≤-Reasoning
1220
1229
@@ -1223,9 +1232,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1223
1232
1224
1233
*-monoʳ-≤-nonPos : ∀ r .{{_ : NonPositive r}} → (_* r) Preserves _≤_ ⟶ _≥_
1225
1234
*-monoʳ-≤-nonPos r {p} {q} p≤q = toℚᵘ-cancel-≤ (begin
1226
- toℚᵘ (q * r) ≈ ⟨ toℚᵘ-homo-* q r ⟩
1235
+ toℚᵘ (q * r) ≃ ⟨ toℚᵘ-homo-* q r ⟩
1227
1236
toℚᵘ q ℚᵘ.* toℚᵘ r ≤⟨ ℚᵘ.*-monoˡ-≤-nonPos (toℚᵘ r) (toℚᵘ-mono-≤ p≤q) ⟩
1228
- toℚᵘ p ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* p r ⟩
1237
+ toℚᵘ p ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* p r ⟩
1229
1238
toℚᵘ (p * r) ∎)
1230
1239
where open ℚᵘ.≤-Reasoning
1231
1240
@@ -1234,9 +1243,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1234
1243
1235
1244
*-cancelʳ-≤-neg : ∀ r .{{_ : Negative r}} → p * r ≤ q * r → p ≥ q
1236
1245
*-cancelʳ-≤-neg {p} {q} r pr≤qr = toℚᵘ-cancel-≤ (ℚᵘ.*-cancelʳ-≤-neg _ (begin
1237
- toℚᵘ p ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* p r ⟩
1246
+ toℚᵘ p ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* p r ⟩
1238
1247
toℚᵘ (p * r) ≤⟨ toℚᵘ-mono-≤ pr≤qr ⟩
1239
- toℚᵘ (q * r) ≈ ⟨ toℚᵘ-homo-* q r ⟩
1248
+ toℚᵘ (q * r) ≃ ⟨ toℚᵘ-homo-* q r ⟩
1240
1249
toℚᵘ q ℚᵘ.* toℚᵘ r ∎))
1241
1250
where open ℚᵘ.≤-Reasoning
1242
1251
@@ -1248,9 +1257,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1248
1257
1249
1258
*-monoˡ-<-pos : ∀ r .{{_ : Positive r}} → (_* r) Preserves _<_ ⟶ _<_
1250
1259
*-monoˡ-<-pos r {p} {q} p<q = toℚᵘ-cancel-< (begin-strict
1251
- toℚᵘ (p * r) ≈ ⟨ toℚᵘ-homo-* p r ⟩
1260
+ toℚᵘ (p * r) ≃ ⟨ toℚᵘ-homo-* p r ⟩
1252
1261
toℚᵘ p ℚᵘ.* toℚᵘ r <⟨ ℚᵘ.*-monoˡ-<-pos (toℚᵘ r) (toℚᵘ-mono-< p<q) ⟩
1253
- toℚᵘ q ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* q r ⟩
1262
+ toℚᵘ q ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* q r ⟩
1254
1263
toℚᵘ (q * r) ∎)
1255
1264
where open ℚᵘ.≤-Reasoning
1256
1265
@@ -1259,9 +1268,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1259
1268
1260
1269
*-cancelˡ-<-nonNeg : ∀ r .{{_ : NonNegative r}} → ∀ {p q} → r * p < r * q → p < q
1261
1270
*-cancelˡ-<-nonNeg r {p} {q} rp<rq = toℚᵘ-cancel-< (ℚᵘ.*-cancelˡ-<-nonNeg (toℚᵘ r) (begin-strict
1262
- toℚᵘ r ℚᵘ.* toℚᵘ p ≈ ˘⟨ toℚᵘ-homo-* r p ⟩
1271
+ toℚᵘ r ℚᵘ.* toℚᵘ p ≃ ˘⟨ toℚᵘ-homo-* r p ⟩
1263
1272
toℚᵘ (r * p) <⟨ toℚᵘ-mono-< rp<rq ⟩
1264
- toℚᵘ (r * q) ≈ ⟨ toℚᵘ-homo-* r q ⟩
1273
+ toℚᵘ (r * q) ≃ ⟨ toℚᵘ-homo-* r q ⟩
1265
1274
toℚᵘ r ℚᵘ.* toℚᵘ q ∎))
1266
1275
where open ℚᵘ.≤-Reasoning
1267
1276
@@ -1270,9 +1279,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1270
1279
1271
1280
*-monoˡ-<-neg : ∀ r .{{_ : Negative r}} → (_* r) Preserves _<_ ⟶ _>_
1272
1281
*-monoˡ-<-neg r {p} {q} p<q = toℚᵘ-cancel-< (begin-strict
1273
- toℚᵘ (q * r) ≈ ⟨ toℚᵘ-homo-* q r ⟩
1282
+ toℚᵘ (q * r) ≃ ⟨ toℚᵘ-homo-* q r ⟩
1274
1283
toℚᵘ q ℚᵘ.* toℚᵘ r <⟨ ℚᵘ.*-monoˡ-<-neg (toℚᵘ r) (toℚᵘ-mono-< p<q) ⟩
1275
- toℚᵘ p ℚᵘ.* toℚᵘ r ≈ ˘⟨ toℚᵘ-homo-* p r ⟩
1284
+ toℚᵘ p ℚᵘ.* toℚᵘ r ≃ ˘⟨ toℚᵘ-homo-* p r ⟩
1276
1285
toℚᵘ (p * r) ∎)
1277
1286
where open ℚᵘ.≤-Reasoning
1278
1287
@@ -1281,9 +1290,9 @@ neg-distribʳ-* = +-*-Monomorphism.neg-distribʳ-* ℚᵘ.+-0-isGroup ℚᵘ.*-i
1281
1290
1282
1291
*-cancelˡ-<-nonPos : ∀ r .{{_ : NonPositive r}} → r * p < r * q → p > q
1283
1292
*-cancelˡ-<-nonPos {p} {q} r rp<rq = toℚᵘ-cancel-< (ℚᵘ.*-cancelˡ-<-nonPos (toℚᵘ r) (begin-strict
1284
- toℚᵘ r ℚᵘ.* toℚᵘ p ≈ ˘⟨ toℚᵘ-homo-* r p ⟩
1293
+ toℚᵘ r ℚᵘ.* toℚᵘ p ≃ ˘⟨ toℚᵘ-homo-* r p ⟩
1285
1294
toℚᵘ (r * p) <⟨ toℚᵘ-mono-< rp<rq ⟩
1286
- toℚᵘ (r * q) ≈ ⟨ toℚᵘ-homo-* r q ⟩
1295
+ toℚᵘ (r * q) ≃ ⟨ toℚᵘ-homo-* r q ⟩
1287
1296
toℚᵘ r ℚᵘ.* toℚᵘ q ∎))
1288
1297
where open ℚᵘ.≤-Reasoning
1289
1298
@@ -1578,7 +1587,7 @@ toℚᵘ-homo-∣-∣ (mkℚ -[1+ _ ] _ _) = *≡* refl
1578
1587
1579
1588
∣p∣≡p⇒0≤p : ∀ {p} → ∣ p ∣ ≡ p → 0ℚ ≤ p
1580
1589
∣p∣≡p⇒0≤p {p} ∣p∣≡p = toℚᵘ-cancel-≤ (ℚᵘ.∣p∣≃p⇒0≤p (begin-equality
1581
- ℚᵘ.∣ toℚᵘ p ∣ ≈ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-∣-∣ p) ⟩
1590
+ ℚᵘ.∣ toℚᵘ p ∣ ≃ ⟨ ℚᵘ.≃-sym (toℚᵘ-homo-∣-∣ p) ⟩
1582
1591
toℚᵘ ∣ p ∣ ≡⟨ cong toℚᵘ ∣p∣≡p ⟩
1583
1592
toℚᵘ p ∎))
1584
1593
where open ℚᵘ.≤-Reasoning
@@ -1589,11 +1598,11 @@ toℚᵘ-homo-∣-∣ (mkℚ -[1+ _ ] _ _) = *≡* refl
1589
1598
1590
1599
∣p+q∣≤∣p∣+∣q∣ : ∀ p q → ∣ p + q ∣ ≤ ∣ p ∣ + ∣ q ∣
1591
1600
∣p+q∣≤∣p∣+∣q∣ p q = toℚᵘ-cancel-≤ (begin
1592
- toℚᵘ ∣ p + q ∣ ≈ ⟨ toℚᵘ-homo-∣-∣ (p + q) ⟩
1593
- ℚᵘ.∣ toℚᵘ (p + q) ∣ ≈ ⟨ ℚᵘ.∣-∣-cong (toℚᵘ-homo-+ p q) ⟩
1601
+ toℚᵘ ∣ p + q ∣ ≃ ⟨ toℚᵘ-homo-∣-∣ (p + q) ⟩
1602
+ ℚᵘ.∣ toℚᵘ (p + q) ∣ ≃ ⟨ ℚᵘ.∣-∣-cong (toℚᵘ-homo-+ p q) ⟩
1594
1603
ℚᵘ.∣ toℚᵘ p ℚᵘ.+ toℚᵘ q ∣ ≤⟨ ℚᵘ.∣p+q∣≤∣p∣+∣q∣ (toℚᵘ p) (toℚᵘ q) ⟩
1595
- ℚᵘ.∣ toℚᵘ p ∣ ℚᵘ.+ ℚᵘ.∣ toℚᵘ q ∣ ≈ ˘⟨ ℚᵘ.+-cong (toℚᵘ-homo-∣-∣ p) (toℚᵘ-homo-∣-∣ q) ⟩
1596
- toℚᵘ ∣ p ∣ ℚᵘ.+ toℚᵘ ∣ q ∣ ≈ ˘⟨ toℚᵘ-homo-+ ∣ p ∣ ∣ q ∣ ⟩
1604
+ ℚᵘ.∣ toℚᵘ p ∣ ℚᵘ.+ ℚᵘ.∣ toℚᵘ q ∣ ≃ ˘⟨ ℚᵘ.+-cong (toℚᵘ-homo-∣-∣ p) (toℚᵘ-homo-∣-∣ q) ⟩
1605
+ toℚᵘ ∣ p ∣ ℚᵘ.+ toℚᵘ ∣ q ∣ ≃ ˘⟨ toℚᵘ-homo-+ ∣ p ∣ ∣ q ∣ ⟩
1597
1606
toℚᵘ (∣ p ∣ + ∣ q ∣) ∎)
1598
1607
where open ℚᵘ.≤-Reasoning
1599
1608
@@ -1606,11 +1615,11 @@ toℚᵘ-homo-∣-∣ (mkℚ -[1+ _ ] _ _) = *≡* refl
1606
1615
1607
1616
∣p*q∣≡∣p∣*∣q∣ : ∀ p q → ∣ p * q ∣ ≡ ∣ p ∣ * ∣ q ∣
1608
1617
∣p*q∣≡∣p∣*∣q∣ p q = toℚᵘ-injective (begin-equality
1609
- toℚᵘ ∣ p * q ∣ ≈ ⟨ toℚᵘ-homo-∣-∣ (p * q) ⟩
1610
- ℚᵘ.∣ toℚᵘ (p * q) ∣ ≈ ⟨ ℚᵘ.∣-∣-cong (toℚᵘ-homo-* p q) ⟩
1611
- ℚᵘ.∣ toℚᵘ p ℚᵘ.* toℚᵘ q ∣ ≈ ⟨ ℚᵘ.∣p*q∣≃∣p∣*∣q∣ (toℚᵘ p) (toℚᵘ q) ⟩
1612
- ℚᵘ.∣ toℚᵘ p ∣ ℚᵘ.* ℚᵘ.∣ toℚᵘ q ∣ ≈ ˘⟨ ℚᵘ.*-cong (toℚᵘ-homo-∣-∣ p) (toℚᵘ-homo-∣-∣ q) ⟩
1613
- toℚᵘ ∣ p ∣ ℚᵘ.* toℚᵘ ∣ q ∣ ≈ ˘⟨ toℚᵘ-homo-* ∣ p ∣ ∣ q ∣ ⟩
1618
+ toℚᵘ ∣ p * q ∣ ≃ ⟨ toℚᵘ-homo-∣-∣ (p * q) ⟩
1619
+ ℚᵘ.∣ toℚᵘ (p * q) ∣ ≃ ⟨ ℚᵘ.∣-∣-cong (toℚᵘ-homo-* p q) ⟩
1620
+ ℚᵘ.∣ toℚᵘ p ℚᵘ.* toℚᵘ q ∣ ≃ ⟨ ℚᵘ.∣p*q∣≃∣p∣*∣q∣ (toℚᵘ p) (toℚᵘ q) ⟩
1621
+ ℚᵘ.∣ toℚᵘ p ∣ ℚᵘ.* ℚᵘ.∣ toℚᵘ q ∣ ≃ ˘⟨ ℚᵘ.*-cong (toℚᵘ-homo-∣-∣ p) (toℚᵘ-homo-∣-∣ q) ⟩
1622
+ toℚᵘ ∣ p ∣ ℚᵘ.* toℚᵘ ∣ q ∣ ≃ ˘⟨ toℚᵘ-homo-* ∣ p ∣ ∣ q ∣ ⟩
1614
1623
toℚᵘ (∣ p ∣ * ∣ q ∣) ∎)
1615
1624
where open ℚᵘ.≤-Reasoning
1616
1625
0 commit comments