property le_trans : all m n p : Self, le(m, n) -> le(n, p) -> le(m, p);
property le_antisym : all m n : Self, le(m, n) -> le(n, m) -> m = n;
property le_total : all m n : Self, le(m, n) \/ le(n, m);
property le_predmax : all p : Self -> prop, ((ex n : Self, p(n)) /\ (ex m : Self, all n : Self, p(n) -> le(n, m))) <-> (ex m : Self, p(m) /\ all n : Self, p(n) -> le(n, m));
end;;
species NatPlusLe =
...
...
@@ -110,13 +109,6 @@ species NatLtThm =
property lt_trans : all m n p : Self, lt(m, n) -> lt(n, p) -> lt(m, p);
property lt_acyclic : all m n : Self, ~ (lt(m, n) /\ lt(n, m));
property lt_trichotomy : all m n : Self, lt(m, n) \/ lt(n, m) \/ m = n;
property strong_induction : all p : Self -> prop,
(all n : Self, (all m : Self, lt(m, n) -> p(m)) -> p(n)) ->
all n : Self, p(n);
property lt_predmin : all p : Self -> prop,
(ex n : Self, p(n)) <->
(ex n : Self, p(n) /\ all m : Self, lt(m, n) -> ~ p(m));