Additional properties/lemmata of Nats involving order
LTESuccInjectiveMonotone : (m : Nat) -> (n : Nat) -> Reflects (LTE m n) b -> Reflects (LTE (S m) (S n)) b
lteReflection : (a : Nat) -> (b : Nat) -> Reflects (LTE a b) (lte a b)
ltReflection : (a : Nat) -> (b : Nat) -> Reflects (LT a b) (lt a b)
lteIsLTE : (a : Nat) -> (b : Nat) -> lte a b = True -> LTE a b
ltIsLT : (a : Nat) -> (b : Nat) -> lt a b = True -> LT a b
notlteIsNotLTE : (a : Nat) -> (b : Nat) -> lte a b = False -> Not (LTE a b)
notltIsNotLT : (a : Nat) -> (b : Nat) -> lt a b = False -> Not (LT a b)
notlteIsLT : (a : Nat) -> (b : Nat) -> lte a b = False -> LT b a
notltIsGTE : (a : Nat) -> (b : Nat) -> lt a b = False -> GTE a b
LteIslte : (a : Nat) -> (b : Nat) -> LTE a b -> lte a b = True
notLteIsnotlte : (a : Nat) -> (b : Nat) -> Not (LTE a b) -> lte a b = False
GTIsnotlte : (a : Nat) -> (b : Nat) -> LT b a -> lte a b = False
minusLTE : (a : Nat) -> (b : Nat) -> LTE (minus b a) b
Subtracting a number gives a smaller number
minusPosLT : (a : Nat) -> (b : Nat) -> LT 0 a -> LTE a b -> LT (minus b a) b
Subtracting a positive number gives a strictly smaller number
multLteMonotoneRight : (l : Nat) -> (a : Nat) -> (b : Nat) -> LTE a b -> LTE (l * a) (l * b)
multLteMonotoneLeft : (a : Nat) -> (b : Nat) -> (r : Nat) -> LTE a b -> LTE (a * r) (b * r)
lteNotLtEq : (a : Nat) -> (b : Nat) -> LTE a b -> Not (LT a b) -> a = b
decomposeLte : (a : Nat) -> (b : Nat) -> LTE a b -> Either (LT a b) (a = b)