@@ -532,8 +532,8 @@ open ≤-Reasoning
532
532
n + suc m ∎
533
533
534
534
+-cancelˡ-≡ : LeftCancellative _≡_ _+_
535
- +-cancelˡ-≡ zero eq = eq
536
- +-cancelˡ-≡ (suc m) eq = +-cancelˡ-≡ m (cong pred eq)
535
+ +-cancelˡ-≡ zero _ _ eq = eq
536
+ +-cancelˡ-≡ (suc m) _ _ eq = +-cancelˡ-≡ m _ _ (cong pred eq)
537
537
538
538
+-cancelʳ-≡ : RightCancellative _≡_ _+_
539
539
+-cancelʳ-≡ = comm+cancelˡ⇒cancelʳ +-comm +-cancelˡ-≡
@@ -650,21 +650,21 @@ m+n≡0⇒n≡0 m {n} m+n≡0 = m+n≡0⇒m≡0 n (trans (+-comm n m) (m+n≡0))
650
650
-- Properties of _+_ and _≤_/_<_
651
651
652
652
+-cancelˡ-≤ : LeftCancellative _≤_ _+_
653
- +-cancelˡ-≤ zero le = le
654
- +-cancelˡ-≤ (suc m) (s≤s le) = +-cancelˡ-≤ m le
653
+ +-cancelˡ-≤ zero _ _ le = le
654
+ +-cancelˡ-≤ (suc m) _ _ (s≤s le) = +-cancelˡ-≤ m _ _ le
655
655
656
656
+-cancelʳ-≤ : RightCancellative _≤_ _+_
657
- +-cancelʳ-≤ {m} n o le =
658
- +-cancelˡ-≤ m (subst₂ _≤_ (+-comm n m) (+-comm o m) le)
657
+ +-cancelʳ-≤ m n o le =
658
+ +-cancelˡ-≤ m _ _ (subst₂ _≤_ (+-comm n m) (+-comm o m) le)
659
659
660
660
+-cancel-≤ : Cancellative _≤_ _+_
661
661
+-cancel-≤ = +-cancelˡ-≤ , +-cancelʳ-≤
662
662
663
663
+-cancelˡ-< : LeftCancellative _<_ _+_
664
- +-cancelˡ-< m {n} {o} = +-cancelˡ-≤ m ∘ subst (_≤ m + o) (sym (+-suc m n))
664
+ +-cancelˡ-< m n o = +-cancelˡ-≤ m (suc n) o ∘ subst (_≤ m + o) (sym (+-suc m n))
665
665
666
666
+-cancelʳ-< : RightCancellative _<_ _+_
667
- +-cancelʳ-< n o n+m<o+m = +-cancelʳ-≤ (suc n) o n+m<o+m
667
+ +-cancelʳ-< m n o n+m<o+m = +-cancelʳ-≤ m (suc n) o n+m<o+m
668
668
669
669
+-cancel-< : Cancellative _<_ _+_
670
670
+-cancel-< = +-cancelˡ-< , +-cancelʳ-<
@@ -915,7 +915,7 @@ m+n≮m m n = subst (_≮ m) (+-comm n m) (m+n≮n n m)
915
915
*-cancelʳ-≡ : ∀ m n {o} .{{_ : NonZero o}} → m * o ≡ n * o → m ≡ n
916
916
*-cancelʳ-≡ zero zero {suc o} eq = refl
917
917
*-cancelʳ-≡ (suc m) (suc n) {suc o} eq =
918
- cong suc (*-cancelʳ-≡ m n (+-cancelˡ-≡ (suc o) eq))
918
+ cong suc (*-cancelʳ-≡ m n (+-cancelˡ-≡ (suc o) (m * suc o) (n * suc o) eq))
919
919
920
920
*-cancelˡ-≡ : ∀ {m n} o .{{_ : NonZero o}} → o * m ≡ o * n → m ≡ n
921
921
*-cancelˡ-≡ {m} {n} o rewrite *-comm o m | *-comm o n = *-cancelʳ-≡ m n
@@ -953,7 +953,7 @@ m*n≡1⇒n≡1 m n eq = m*n≡1⇒m≡1 n m (trans (*-comm n m) eq)
953
953
*-cancelʳ-≤ : ∀ m n o .{{_ : NonZero o}} → m * o ≤ n * o → m ≤ n
954
954
*-cancelʳ-≤ zero _ (suc o) _ = z≤n
955
955
*-cancelʳ-≤ (suc m) (suc n) (suc o) le =
956
- s≤s (*-cancelʳ-≤ m n (suc o) (+-cancelˡ-≤ (suc o) le))
956
+ s≤s (*-cancelʳ-≤ m n (suc o) (+-cancelˡ-≤ _ _ _ le))
957
957
958
958
*-cancelˡ-≤ : ∀ {m n} o .{{_ : NonZero o}} → o * m ≤ o * n → m ≤ n
959
959
*-cancelˡ-≤ {m} {n} o rewrite *-comm o m | *-comm o n = *-cancelʳ-≤ m n o
@@ -1011,13 +1011,13 @@ m<n⇒m<o*n {m} {n} o m<n = begin-strict
1011
1011
o * n ∎
1012
1012
1013
1013
*-cancelʳ-< : RightCancellative _<_ _*_
1014
- *-cancelʳ-< { zero} zero (suc o) _ = 0<1+n
1015
- *-cancelʳ-< { suc m} zero (suc o) _ = 0<1+n
1016
- *-cancelʳ-< {m} (suc n) (suc o) nm<om =
1017
- s≤s (*-cancelʳ-< n o (+-cancelˡ-< m nm<om))
1014
+ *-cancelʳ-< zero zero (suc o) _ = 0<1+n
1015
+ *-cancelʳ-< ( suc m) zero (suc o) _ = 0<1+n
1016
+ *-cancelʳ-< m (suc n) (suc o) nm<om =
1017
+ s≤s (*-cancelʳ-< m n o (+-cancelˡ-< m _ _ nm<om))
1018
1018
1019
1019
*-cancelˡ-< : LeftCancellative _<_ _*_
1020
- *-cancelˡ-< x {y} {z} rewrite *-comm x y | *-comm x z = *-cancelʳ-< y z
1020
+ *-cancelˡ-< x y z rewrite *-comm x y | *-comm x z = *-cancelʳ-< x y z
1021
1021
1022
1022
*-cancel-< : Cancellative _<_ _*_
1023
1023
*-cancel-< = *-cancelˡ-< , *-cancelʳ-<
@@ -2071,7 +2071,7 @@ _>″?_ = flip _<″?_
2071
2071
≤″-irrelevant : Irrelevant _≤″_
2072
2072
≤″-irrelevant {m} (less-than-or-equal eq₁)
2073
2073
(less-than-or-equal eq₂)
2074
- with +-cancelˡ-≡ m (trans eq₁ (sym eq₂))
2074
+ with +-cancelˡ-≡ m _ _ (trans eq₁ (sym eq₂))
2075
2075
... | refl = cong less-than-or-equal (≡-irrelevant eq₁ eq₂)
2076
2076
2077
2077
<″-irrelevant : Irrelevant _<″_
0 commit comments