(* *)
(**************************************************************************)
-set "baseuri" "cic:/matita/RELATIONAL/NLE/props".
-include "NLE/fwd.ma".
-theorem nle_zero: \forall q. zero <= q.
- unfold NLE.
- intros. apply ex_intro; auto. (**)
-qed.
-
-theorem nle_succ: \forall p,q. p <= q \to succ p <= succ q.
- unfold NLE.
- intros. decompose.
- apply ex_intro; auto. (**)
-qed.
-
-theorem nle_refl: \forall x. x <= x.
- intros 1; elim x; clear x; intros; auto new timeout=100.
-qed.
+include "NLE/order.ma".
theorem nle_trans_succ: \forall x,y. x <= y \to x <= succ y.
- intros 1. elim x; clear x; intros;
- [ auto new timeout=100.
- | lapply linear nle_gen_succ_1 to H1 as H0. decompose H0. subst.
- auto new timeout=100.
- ].
+ intros. elim H; clear H x y; autobatch.
qed.
-theorem nle_lt_or_eq: \forall y,x. x <= y \to x < y \lor x = y.
- intros 1. elim y; clear y; intros;
- [ lapply linear nle_gen_zero_2 to H. auto new timeout=100
- | lapply linear nle_gen_succ_2 to H1. decompose;
- [ subst. auto new timeout=100
- | lapply linear H to H3 as H0. decompose;
- subst; auto new timeout=100
- ]
+theorem nle_gt_or_le: \forall x, y. y > x \lor y <= x.
+ intros 2; elim y; clear y;
+ [ autobatch
+ | decompose;
+ [ lapply linear nle_inv_succ_1 to H1
+ | lapply linear nle_lt_or_eq to H1
+ ]; decompose; destruct; autobatch depth = 4
].
qed.