diff --git a/src/Data/Digit.agda b/src/Data/Digit.agda index 207b0280b7..b0aa6bc9fa 100644 --- a/src/Data/Digit.agda +++ b/src/Data/Digit.agda @@ -56,7 +56,7 @@ toNatDigits base@(suc (suc _)) n = aux (<-wellFounded-fast n) [] aux {zero} _ xs = (0 ∷ xs) aux {n@(suc _)} (acc wf) xs with does (0 1 n) ⟩ m * n ∎ + where instance _ = nonTrivial⇒nonZero n /-mono-≤ : .{{_ : NonZero o}} .{{_ : NonZero p}} → m ≤ n → o ≥ p → m / o ≤ n / p @@ -239,13 +240,13 @@ m≥n⇒m/n>0 {m@(suc _)} {n@(suc _)} m≥n = begin m / n ∎ m/n≡0⇒m-nonZero (m≥n⇒m/n>0 n≤m) m/n≢0⇒n≤m : ∀ {m n} .{{_ : NonZero n}} → m / n ≢ 0 → n ≤ m -m/n≢0⇒n≤m {m} {n@(suc _)} m/n≢0 with <-≤-connex m n +m/n≢0⇒n≤m {m} {n} m/n≢0 with <-≤-connex m n ... | inj₁ m0 (≢-nonZero⁻¹ o)) n≥o -m*n/o*n≡m/o : ∀ m n o .{{_ : NonZero o}} .{{_ : NonZero (o * n)}} → +m*n/o*n≡m/o : ∀ m n o .{{_ : NonZero n}} .{{_ : NonZero o}} → + let instance _ = m*n≢0 o n in m * n / (o * n) ≡ m / o m*n/o*n≡m/o m n o = begin-equality - m * n / (o * n) ≡⟨ /-congˡ (*-comm m n) ⟩ + m * n / (o * n) ≡⟨ /-congˡ {{o*n≢0}} (*-comm m n) ⟩ n * m / (o * n) ≡⟨ /-congʳ (*-comm o n) ⟩ n * m / (n * o) ≡⟨ m*n/m*o≡n/o n m o ⟩ m / o ∎ where instance - _ : NonZero n - _ = m*n≢0⇒n≢0 o - _ : NonZero (n * o) + o*n≢0 : NonZero (o * n) + o*n≢0 = m*n≢0 o n _ = m*n≢0 n o m