X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fdama%2Fdama%2Fsupremum.ma;h=e3a83a09a4f5d2d72646ee2a360b65ef82c03f90;hb=5322d66340d43e85b85e15dddcddeff3ae3a3552;hp=bad35177b12bd3d2c4601f6eb588f9af999a70d1;hpb=f20f1ac4aea15d81599bd2283c5440fce8d4cf6a;p=helm.git diff --git a/helm/software/matita/contribs/dama/dama/supremum.ma b/helm/software/matita/contribs/dama/dama/supremum.ma index bad35177b..e3a83a09a 100644 --- a/helm/software/matita/contribs/dama/dama/supremum.ma +++ b/helm/software/matita/contribs/dama/dama/supremum.ma @@ -202,26 +202,26 @@ record segment (O : Type) : Type ≝ { seg_u_ : O }. -notation > "𝕦_term 90 s p" non associative with precedence 45 for @{'upp $s $p}. -notation "𝕦 \sub term 90 s p" non associative with precedence 45 for @{'upp $s $p}. -notation > "𝕝_term 90 s p" non associative with precedence 45 for @{'low $s $p}. -notation "𝕝 \sub term 90 s p" non associative with precedence 45 for @{'low $s $p}. +notation > "𝕦_term 90 s" non associative with precedence 45 for @{'upp $s}. +notation "𝕦 \sub term 90 s" non associative with precedence 45 for @{'upp $s}. +notation > "𝕝_term 90 s" non associative with precedence 45 for @{'low $s}. +notation "𝕝 \sub term 90 s" non associative with precedence 45 for @{'low $s}. definition seg_u ≝ - λO:half_ordered_set.λs:segment O.λP: O → CProp. - wloss O ? (λl,u.P l) (seg_u_ ? s) (seg_l_ ? s). + λO:half_ordered_set.λs:segment O. + wloss O ?? (λl,u.l) (seg_u_ ? s) (seg_l_ ? s). definition seg_l ≝ - λO:half_ordered_set.λs:segment O.λP: O → CProp. - wloss O ? (λl,u.P l) (seg_l_ ? s) (seg_u_ ? s). + λO:half_ordered_set.λs:segment O. + wloss O ?? (λl,u.l) (seg_l_ ? s) (seg_u_ ? s). -interpretation "uppper" 'upp s P = (seg_u (os_l _) s P). -interpretation "lower" 'low s P = (seg_l (os_l _) s P). -interpretation "uppper dual" 'upp s P = (seg_l (os_r _) s P). -interpretation "lower dual" 'low s P = (seg_u (os_r _) s P). +interpretation "uppper" 'upp s = (seg_u (os_l _) s). +interpretation "lower" 'low s = (seg_l (os_l _) s). +interpretation "uppper dual" 'upp s = (seg_l (os_r _) s). +interpretation "lower dual" 'low s = (seg_u (os_r _) s). definition in_segment ≝ λO:half_ordered_set.λs:segment O.λx:O. - wloss O ? (λp1,p2.p1 ∧ p2) (seg_l ? s (λl.l ≤≤ x)) (seg_u ? s (λu.x ≤≤ u)). + wloss O ?? (λp1,p2.p1 ∧ p2) (seg_l ? s ≤≤ x) (x ≤≤ seg_u ? s). notation "‡O" non associative with precedence 90 for @{'segment $O}. interpretation "Ordered set sergment" 'segment x = (segment x). @@ -234,19 +234,19 @@ definition segment_ordered_set_exc ≝ λO:half_ordered_set.λs:‡O. λx,y:segment_ordered_set_carr O s.hos_excess_ O (\fst x) (\fst y). lemma segment_ordered_set_corefl: - ∀O,s. coreflexive ? (wloss O ? (segment_ordered_set_exc O s)). + ∀O,s. coreflexive ? (wloss O ?? (segment_ordered_set_exc O s)). intros 3; cases x; cases (wloss_prop O); generalize in match (hos_coreflexive O w); -rewrite < (H1 ? (segment_ordered_set_exc O s)); -rewrite < (H1 ? (hos_excess_ O)); intros; assumption; +rewrite < (H1 ?? (segment_ordered_set_exc O s)); +rewrite < (H1 ?? (hos_excess_ O)); intros; assumption; qed. lemma segment_ordered_set_cotrans : - ∀O,s. cotransitive ? (wloss O ? (segment_ordered_set_exc O s)). + ∀O,s. cotransitive ? (wloss O ?? (segment_ordered_set_exc O s)). intros 5 (O s x y z); cases x; cases y ; cases z; clear x y z; generalize in match (hos_cotransitive O w w1 w2); cases (wloss_prop O); -do 3 rewrite < (H3 ? (segment_ordered_set_exc O s)); -do 3 rewrite < (H3 ? (hos_excess_ O)); intros; apply H4; assumption; +do 3 rewrite < (H3 ?? (segment_ordered_set_exc O s)); +do 3 rewrite < (H3 ?? (hos_excess_ O)); intros; apply H4; assumption; qed. lemma half_segment_ordered_set: @@ -278,6 +278,19 @@ interpretation "Ordered set segment" 'segset s = (segment_ordered_set _ s). intros; try reflexivity; *) +lemma prove_in_segment: + ∀O:half_ordered_set.∀s:segment O.∀x:O. + (seg_l O s) ≤≤ x → x ≤≤ (seg_u O s) → x ∈ s. +intros; unfold; cases (wloss_prop O); rewrite < H2; +split; assumption; +qed. + +lemma cases_in_segment: + ∀C:half_ordered_set.∀s:segment C.∀x. x ∈ s → (seg_l C s) ≤≤ x ∧ x ≤≤ (seg_u C s). +intros; unfold in H; cases (wloss_prop C) (W W); rewrite