@@ -1634,6 +1634,14 @@ m≤n⇒n∸m≤n (s≤s m≤n) = m≤n⇒m≤1+n (m≤n⇒n∸m≤n m≤n)
16341634 suc ((m + n) ∸ o) ≡⟨ cong suc (+-∸-assoc m o≤n) ⟩
16351635 suc (m + (n ∸ o)) ∎
16361636
1637+ m∸n+o≡m∸[n∸o] : ∀ {m n o} → n ≤ m → o ≤ n → (m ∸ n) + o ≡ m ∸ (n ∸ o)
1638+ m∸n+o≡m∸[n∸o] {m} {zero} {zero} z≤n _ = +-identityʳ m
1639+ m∸n+o≡m∸[n∸o] {suc m} {suc n} {zero} (s≤s n≤m) z≤n = +-identityʳ (m ∸ n)
1640+ m∸n+o≡m∸[n∸o] {suc m} {suc n} {suc o} (s≤s n≤m) (s≤s o≤n)
1641+ rewrite +-suc (m ∸ n) o
1642+ | ∸-suc (≤-trans (m∸n≤m n o) n≤m)
1643+ = cong suc $ m∸n+o≡m∸[n∸o] n≤m o≤n
1644+
16371645m≤n+o⇒m∸n≤o : ∀ m n {o} → m ≤ n + o → m ∸ n ≤ o
16381646m≤n+o⇒m∸n≤o m zero le = le
16391647m≤n+o⇒m∸n≤o zero (suc n) _ = z≤n
@@ -1722,11 +1730,24 @@ even≢odd (suc m) (suc n) eq = even≢odd m n (suc-injective (begin-equality
17221730------------------------------------------------------------------------
17231731-- Properties of _∸_ and _⊓_ and _⊔_
17241732
1733+ m∸n≤m⊔n : ∀ m n → m ∸ n ≤ m ⊔ n
1734+ m∸n≤m⊔n m n = ≤-trans (m∸n≤m m n) (m≤m⊔n m n)
1735+
17251736m⊓n+n∸m≡n : ∀ m n → (m ⊓ n) + (n ∸ m) ≡ n
17261737m⊓n+n∸m≡n zero n = refl
17271738m⊓n+n∸m≡n (suc m) zero = refl
17281739m⊓n+n∸m≡n (suc m) (suc n) = cong suc $ m⊓n+n∸m≡n m n
17291740
1741+ m⊔n∸[m∸n]≡n : ∀ m n → m ⊔ n ∸ (m ∸ n) ≡ n
1742+ m⊔n∸[m∸n]≡n zero n rewrite 0∸n≡0 n = refl
1743+ m⊔n∸[m∸n]≡n (suc m) zero = n∸n≡0 m
1744+ m⊔n∸[m∸n]≡n (suc m) (suc n) rewrite ∸-suc (m∸n≤m⊔n m n) = cong suc $ m⊔n∸[m∸n]≡n m n
1745+
1746+ m⊔n≡m∸n+n : ∀ m n → m ⊔ n ≡ m ∸ n + n
1747+ m⊔n≡m∸n+n zero n rewrite 0∸n≡0 n = refl
1748+ m⊔n≡m∸n+n (suc m) zero rewrite +-identityʳ m = refl
1749+ m⊔n≡m∸n+n (suc m) (suc n) rewrite +-suc (m ∸ n) n = cong suc $ m⊔n≡m∸n+n m n
1750+
17301751[m∸n]⊓[n∸m]≡0 : ∀ m n → (m ∸ n) ⊓ (n ∸ m) ≡ 0
17311752[m∸n]⊓[n∸m]≡0 zero zero = refl
17321753[m∸n]⊓[n∸m]≡0 zero (suc n) = refl
@@ -1844,6 +1865,17 @@ m∸n≤∣m-n∣ m n with ≤-total m n
18441865∣m-n∣≤m⊔n (suc m) zero = ≤-refl
18451866∣m-n∣≤m⊔n (suc m) (suc n) = m≤n⇒m≤1+n (∣m-n∣≤m⊔n m n)
18461867
1868+ ∣m-n∣≡m⊔n∸m⊓n : ∀ m n → ∣ m - n ∣ ≡ m ⊔ n ∸ m ⊓ n
1869+ ∣m-n∣≡m⊔n∸m⊓n m n with ≤-total m n
1870+ ... | inj₁ m≤n
1871+ rewrite m≤n⇒m⊔n≡n m≤n
1872+ | m≤n⇒m⊓n≡m m≤n
1873+ = m≤n⇒∣m-n∣≡n∸m m≤n
1874+ ... | inj₂ n≤m
1875+ rewrite m≥n⇒m⊔n≡m n≤m
1876+ | m≥n⇒m⊓n≡n n≤m
1877+ = m≤n⇒∣n-m∣≡n∸m n≤m
1878+
18471879∣-∣-identityˡ : LeftIdentity 0 ∣_-_∣
18481880∣-∣-identityˡ x = refl
18491881
0 commit comments