{-# OPTIONS --safe #-} module Data.Nat.Order where open import Data.Nat open import Agda.Builtin.Nat renaming (_<_ to _<ᵇ_) open import Prelude open import Data.Bool infix 4 _<_ _≤ᵇ_ _≤_ _≤?_ _<_ : ℕ → ℕ → Type n < m = T (n <ᵇ m) _≤ᵇ_ : ℕ → ℕ → Bool n ≤ᵇ m = n <ᵇ suc m _≤_ : ℕ → ℕ → Type n ≤ m = T (n ≤ᵇ m) _≤?_ : ∀ n m → Dec (n ≤ m) n ≤? m = T? _ ≰⇒> : ∀ n m → ¬ (n ≤ m) → m < n ≰⇒> zero zero p = p tt ≰⇒> zero (suc m) p = p tt ≰⇒> (suc n) zero p = tt ≰⇒> (suc n) (suc m) p = ≰⇒> n m p <⇒≤ : ∀ n m → n < m → n ≤ m <⇒≤ zero m p = tt <⇒≤ (suc n) zero p = p <⇒≤ (suc n₁) (suc n) p = <⇒≤ n₁ n p