{-# OPTIONS --warning=error --safe --without-K #-} open import WellFoundedInduction open import LogicalFormulae open import Functions open import Lists.Lists open import Numbers.Naturals.Order open import Numbers.Naturals.Order.Lemmas open import Numbers.Naturals.Semiring open import Groups.Definition open import Numbers.BinaryNaturals.Definition open import Orders open import Semirings.Definition module Numbers.BinaryNaturals.Order where data Compare : Set where Equal : Compare FirstLess : Compare FirstGreater : Compare badCompare : Equal ≡ FirstLess → False badCompare () badCompare' : Equal ≡ FirstGreater → False badCompare' () badCompare'' : FirstLess ≡ FirstGreater → False badCompare'' () _0 rewrite binNatToNZero' b b=0 = naughtE b>0 chopFirstBit : (m n : BinNat) {b : Bit} (s : Compare) → go