@@ -1540,9 +1540,9 @@ pred[m∸n]≡m∸[1+n] (suc m) (suc n) = pred[m∸n]≡m∸[1+n] m n
15401540------------------------------------------------------------------------
15411541-- Properties of _∸_ and _≤_/_<_
15421542
1543- ∸-suc : m ≤ n → suc n ∸ m ≡ suc (n ∸ m)
1544- ∸-suc z≤n = refl
1545- ∸-suc (s≤s m≤n) = ∸-suc m≤n
1543+ ∸-suc : .( m ≤ n) → suc n ∸ m ≡ suc (n ∸ m)
1544+ ∸-suc {m = zero} _ = refl
1545+ ∸-suc {m = suc _} {n = suc _} m≤n = ∸-suc (s≤s⁻¹ m≤n)
15461546
15471547m∸n≤m : ∀ m n → m ∸ n ≤ m
15481548m∸n≤m n zero = ≤-refl
@@ -1633,7 +1633,7 @@ m≤n⇒n∸m≤n (s≤s m≤n) = m≤n⇒m≤1+n (m≤n⇒n∸m≤n m≤n)
16331633∸-+-assoc (suc m) zero o = refl
16341634∸-+-assoc (suc m) (suc n) o = ∸-+-assoc m n o
16351635
1636- +-∸-assoc : ∀ m {n o} → o ≤ n → (m + n) ∸ o ≡ m + (n ∸ o)
1636+ +-∸-assoc : ∀ m {n o} → .( o ≤ n) → (m + n) ∸ o ≡ m + (n ∸ o)
16371637+-∸-assoc zero {n = n} {o = o} _ = begin-equality n ∸ o ∎
16381638+-∸-assoc (suc m) {n = n} {o = o} o≤n = begin-equality
16391639 suc (m + n) ∸ o ≡⟨ ∸-suc (m≤n⇒m≤o+n m o≤n) ⟩
@@ -1674,16 +1674,16 @@ m+n∸n≡m m n = begin-equality
16741674m+n∸m≡n : ∀ m n → m + n ∸ m ≡ n
16751675m+n∸m≡n m n = trans (cong (_∸ m) (+-comm m n)) (m+n∸n≡m n m)
16761676
1677- m+[n∸m]≡n : m ≤ n → m + (n ∸ m) ≡ n
1677+ m+[n∸m]≡n : .( m ≤ n) → m + (n ∸ m) ≡ n
16781678m+[n∸m]≡n {m} {n} m≤n = begin-equality
1679- m + (n ∸ m) ≡⟨ sym $ +-∸-assoc m m≤n ⟩
1679+ m + (n ∸ m) ≡⟨ +-∸-assoc m m≤n ⟨
16801680 (m + n) ∸ m ≡⟨ cong (_∸ m) (+-comm m n) ⟩
16811681 (n + m) ∸ m ≡⟨ m+n∸n≡m n m ⟩
16821682 n ∎
16831683
16841684m∸n+n≡m : ∀ {m n} → n ≤ m → (m ∸ n) + n ≡ m
16851685m∸n+n≡m {m} {n} n≤m = begin-equality
1686- (m ∸ n) + n ≡⟨ sym ( +-∸-comm n n≤m) ⟩
1686+ (m ∸ n) + n ≡⟨ +-∸-comm n n≤m ⟨
16871687 (m + n) ∸ n ≡⟨ m+n∸n≡m m n ⟩
16881688 m ∎
16891689
@@ -2136,9 +2136,11 @@ n≤′m+n (suc m) n = ≤′-step (n≤′m+n m n)
21362136------------------------------------------------------------------------
21372137
21382138-- equivalence of _≤″_ to _≤_
2139+ -- NB the change in #2939 making the m≤n argument to m+[n∸m]≡n irrelevant
2140+ -- means that this proof must now be eta-expanded in order to typecheck.
21392141
21402142≤⇒≤″ : _≤_ ⇒ _≤″_
2141- ≤⇒≤″ = (_ ,_) ∘ m+[n∸m]≡n
2143+ ≤⇒≤″ m≤n = (_ , m+[n∸m]≡n m≤n)
21422144
21432145<⇒<″ : _<_ ⇒ _<″_
21442146<⇒<″ = ≤⇒≤″
0 commit comments