{-# OPTIONS --safe #-}
module Data.Nat.AbsoluteDifference where
open import Data.Nat.Base
open import Path
open import Prelude
open import Algebra
∣_-_∣ : ℕ → ℕ → ℕ
∣ 0 - m ∣ = m
∣ n@(suc _) - 0 ∣ = n
∣ suc n - suc m ∣ = ∣ n - m ∣
_ : ∣ 5 - 3 ∣ ≡ 2
_ = refl
_ : ∣ 3 - 5 ∣ ≡ 2
_ = refl
∣-∣‿comm : Commutative ∣_-_∣
∣-∣‿comm zero zero = refl
∣-∣‿comm zero (suc y) = refl
∣-∣‿comm (suc x) zero = refl
∣-∣‿comm (suc x) (suc y) = ∣-∣‿comm x y