Additional properties/lemmata of Nats involving order
LTESuccInjectiveMonotone : (m : Nat) -> (n : Nat) -> Reflects (LTE m n) b -> Reflects (LTE (S m) (S n)) blteReflection : (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 bltIsLT : (a : Nat) -> (b : Nat) -> lt a b = True -> LT a bnotlteIsNotLTE : (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 anotltIsGTE : (a : Nat) -> (b : Nat) -> lt a b = False -> GTE a bLteIslte : (a : Nat) -> (b : Nat) -> LTE a b -> lte a b = TruenotLteIsnotlte : (a : Nat) -> (b : Nat) -> Not (LTE a b) -> lte a b = FalseGTIsnotlte : (a : Nat) -> (b : Nat) -> LT b a -> lte a b = FalseminusLTE : (a : Nat) -> (b : Nat) -> LTE (minus b a) bSubtracting a number gives a smaller number
minusPosLT : (a : Nat) -> (b : Nat) -> LT 0 a -> LTE a b -> LT (minus b a) bSubtracting 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 = bdecomposeLte : (a : Nat) -> (b : Nat) -> LTE a b -> Either (LT a b) (a = b)