{-# OPTIONS --cubical --safe #-} module Data.Binary.Order where open import Prelude open import Data.Binary.Definition infix 4 _≲ᴮ_&_ _≲ᴮ_&_ : 𝔹 → 𝔹 → Bool → Bool 0ᵇ ≲ᴮ ys & true = true 0ᵇ ≲ᴮ 0ᵇ & false = false 0ᵇ ≲ᴮ 1ᵇ ys & false = true 0ᵇ ≲ᴮ 2ᵇ ys & false = true 1ᵇ xs ≲ᴮ 0ᵇ & s = false 1ᵇ xs ≲ᴮ 1ᵇ ys & s = xs ≲ᴮ ys & s 1ᵇ xs ≲ᴮ 2ᵇ ys & s = xs ≲ᴮ ys & true 2ᵇ xs ≲ᴮ 0ᵇ & s = false 2ᵇ xs ≲ᴮ 1ᵇ ys & s = xs ≲ᴮ ys & false 2ᵇ xs ≲ᴮ 2ᵇ ys & s = xs ≲ᴮ ys & s infix 4 _≤ᴮ_ _<ᴮ_ _≤ᴮ_ : 𝔹 → 𝔹 → Bool xs ≤ᴮ ys = xs ≲ᴮ ys & true _<ᴮ_ : 𝔹 → 𝔹 → Bool xs <ᴮ ys = xs ≲ᴮ ys & false infix 4 _≤_ _<_ _≤_ : 𝔹 → 𝔹 → Type xs ≤ ys = T (xs ≤ᴮ ys) _<_ : 𝔹 → 𝔹 → Type xs < ys = T (xs <ᴮ ys)