module Library.LessThan.Alternative where

open import Library.Nat
open import Library.LessThan

infix 4 _<='_ _<'_

data _<='_ :  ->  -> Set where
  le-refl' : {n : }   -> n <=' n
  le-succ' : {m n : } -> m <=' n -> m <=' succ n

_<'_ :  ->  -> Set
x <' y = succ x <=' y

zero<=' : {x : } -> 0 <=' x
zero<=' {zero}   = le-refl'
zero<=' {succ x} = le-succ' zero<='

succ<=' : {x y : } -> x <=' y -> succ x <=' succ y
succ<=' le-refl'     = le-refl'
succ<=' (le-succ' p) = le-succ' (succ<=' p)

<=to<=' : {x y : } -> x <= y -> x <=' y
<=to<=' le-zero     = zero<='
<=to<=' (le-succ p) = succ<=' (<=to<=' p)

<='to<= : {x y : } -> x <=' y -> x <= y
<='to<= le-refl' = le-refl
<='to<= (le-succ' p) = le-succ-r (<='to<= p)