X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2FRELATIONAL%2FNLE%2Fprops.ma;h=1eb0455fe94ca8d5da93f32be17d397275e71cc7;hb=6b61a9e6698a7c1936adf217b599e34e65a5e4c9;hp=34e5d0a242c42b541ef257f1f6a450721f712887;hpb=d51cbf8e8a8855d458eb7f53c017160892e42d47;p=helm.git diff --git a/helm/software/matita/contribs/RELATIONAL/NLE/props.ma b/helm/software/matita/contribs/RELATIONAL/NLE/props.ma index 34e5d0a24..1eb0455fe 100644 --- a/helm/software/matita/contribs/RELATIONAL/NLE/props.ma +++ b/helm/software/matita/contribs/RELATIONAL/NLE/props.ma @@ -12,55 +12,20 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/RELATIONAL/NLE/props". -include "NLE/fwd.ma". -theorem nle_zero_1: \forall q. zero <= q. - intros. auto. -qed. - -theorem nle_succ_succ: \forall p,q. p <= q \to succ p <= succ q. - intros. elim H. clear H. auto. -qed. - -theorem nle_ind: \forall P:(Nat \to Nat \to Prop). - (\forall n:Nat.P zero n) \to - (\forall n,n1:Nat. - n <= n1 \to P n n1 \to P (succ n) (succ n1) - ) \to - \forall n,n1:Nat. n <= n1 \to P n n1. - intros 4. elim n; clear n; - [ auto - | lapply linear nle_inv_succ_1 to H3. decompose; subst. - auto - ]. -qed. - -theorem nle_refl: \forall x. x <= x. - intros 1; elim x; clear x; intros; auto. -qed. +include "NLE/order.ma". theorem nle_trans_succ: \forall x,y. x <= y \to x <= succ y. - intros. elim H using nle_ind; clear H x y; auto. -qed. - -theorem nle_false: \forall x,y. x <= y \to y < x \to False. - intros 3; elim H using nle_ind; clear H x y; auto. -qed. - -theorem nle_trans: \forall x,y. x <= y \to - \forall z. y <= z \to x <= z. - intros 3. elim H using nle_ind; clear H x y; - [ auto - | lapply linear nle_inv_succ_1 to H3. decompose. subst. - auto - ]. + 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. elim H using nle_ind; clear H x y; - [ elim n; clear n; auto - | decompose; subst; auto +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.