X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcontribs%2FRELATIONAL%2FNLE%2Fprops.ma;h=b571dfc6b46f9e8ab9385bef2462baf354e1d286;hb=94873bb61a663b4fca3dc6d07b7bb9f42122003e;hp=e961f5a9ced40c39a053ab7d7d07f88455a91bc8;hpb=216686b3739474d279c87892892af82c5ea5aec3;p=helm.git diff --git a/matita/contribs/RELATIONAL/NLE/props.ma b/matita/contribs/RELATIONAL/NLE/props.ma index e961f5a9c..b571dfc6b 100644 --- a/matita/contribs/RELATIONAL/NLE/props.ma +++ b/matita/contribs/RELATIONAL/NLE/props.ma @@ -16,23 +16,36 @@ 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. + intros 1; elim x; clear x; intros; auto new timeout=100. qed. theorem nle_trans_succ: \forall x,y. x <= y \to x <= succ y. - intros. elim H; clear H x y; intros; auto. + 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. + ]. 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 + [ lapply linear nle_gen_zero_2 to H. auto new timeout=100 | lapply linear nle_gen_succ_2 to H1. decompose; - [ rewrite > H1. clear H1. auto + [ subst. auto new timeout=100 | lapply linear H to H3 as H0. decompose; - [ rewrite > H1. clear H1 x. auto - | rewrite < H. clear H n. auto - ] + subst; auto new timeout=100 ] ]. qed.