From bde2f037924b8854d5ed4e6b133c306156a1fcf5 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Sun, 26 Oct 2008 15:54:40 +0000 Subject: [PATCH] ... --- .../contribs/dama/dama/ordered_uniform.ma | 82 ++++++++++++++----- 1 file changed, 60 insertions(+), 22 deletions(-) diff --git a/helm/software/matita/contribs/dama/dama/ordered_uniform.ma b/helm/software/matita/contribs/dama/dama/ordered_uniform.ma index 63c966056..7b93454ef 100644 --- a/helm/software/matita/contribs/dama/dama/ordered_uniform.ma +++ b/helm/software/matita/contribs/dama/dama/ordered_uniform.ma @@ -109,13 +109,24 @@ lemma bs2_of_bss2: coercion bs2_of_bss2 nocomposites. -(* -lemma xxx : - ∀O,s,x.bs2_of_bss2 (ordered_set_OF_ordered_uniform_space O) s x - = - x. -intros; reflexivity; -*) + +lemma a2sa : + ∀O:ordered_uniform_space.∀s:‡(ordered_set_OF_ordered_uniform_space O). + ∀x: + bs_carr + (square_bishop_set + (bishop_set_of_ordered_set + (segment_ordered_set + (ordered_set_OF_ordered_uniform_space O) s))). + (\fst x) ≈ (\snd x) → + (\fst (bs2_of_bss2 (ordered_set_OF_ordered_uniform_space O) s x)) + ≈ + (\snd (bs2_of_bss2 (ordered_set_OF_ordered_uniform_space O) s x)). +intros 3; cases x (a b); clear x; cases a (x Hx); cases b (y Hy); clear a b; +simplify; intros 2 (K H); apply K; clear K; whd; whd in H; cases H; +[left|right] apply x2sx; assumption; +qed. + lemma segment_ordered_uniform_space: ∀O:ordered_uniform_space.∀s:‡O.ordered_uniform_space. @@ -127,43 +138,70 @@ intros (O s); apply mk_ordered_uniform_space; apply (mk_uniform_space (bishop_set_of_ordered_set {[s]}) f); [1: intros (U H); intro x; simplify; cases H (w Hw); cases Hw (Gw Hwp); clear H Hw; intro Hm; - lapply (us_phi1 O w Gw x) as IH;[2:intro;apply Hm;cases H; clear H; - [left;apply (x2sx ? s (\fst x) (\snd x) H1); - |right;apply (x2sx ? s ?? H1);] - + lapply (us_phi1 O w Gw x (a2sa ??? Hm)) as IH; apply (restrict ? s ??? Hwp IH); |2: intros (U V HU HV); cases HU (u Hu); cases HV (v Hv); clear HU HV; cases Hu (Gu HuU); cases Hv (Gv HvV); clear Hu Hv; cases (us_phi2 O u v Gu Gv) (w HW); cases HW (Gw Hw); clear HW; - exists; [apply (λb:{[l,r]} squareB.w b)] split; + exists; [apply (λb:{[s]} squareB.w b)] split; [1: unfold f; simplify; clearbody f; exists; [apply w]; split; [assumption] intro b; simplify; unfold segment_square_of_ordered_set_square; cases b; intros; split; intros; assumption; |2: intros 2 (x Hx); cases (Hw ? Hx); split; - [apply (restrict O l r ??? HuU H)|apply (restrict O l r ??? HvV H1);]] + [apply (restrict O s ??? HuU H)|apply (restrict O s ??? HvV H1);]] |3: intros (U Hu); cases Hu (u HU); cases HU (Gu HuU); clear Hu HU; cases (us_phi3 O u Gu) (w HW); cases HW (Gw Hwu); clear HW; - exists; [apply (λx:{[l,r]} squareB.w x)] split; + exists; [apply (λx:{[s]} squareB.w x)] split; [1: exists;[apply w];split;[assumption] intros; simplify; intro; unfold segment_square_of_ordered_set_square; cases b; intros; split; intro; assumption; - |2: intros 2 (x Hx); apply (restrict O l r ??? HuU); apply Hwu; + |2: intros 2 (x Hx); apply (restrict O s ??? HuU); apply Hwu; cases Hx (m Hm); exists[apply (\fst m)] apply Hm;] |4: intros (U HU x); cases HU (u Hu); cases Hu (Gu HuU); clear HU Hu; cases (us_phi4 O u Gu x) (Hul Hur); split; intros; - [1: lapply (invert_restriction_agreement O l r ?? HuU) as Ra; - apply (restrict O l r ?? x Ra); - apply Hul; apply (unrestrict O l r ??? HuU H); - |2: apply (restrict O l r ??? HuU); apply Hur; - apply (unrestrict O l r ??? (invert_restriction_agreement O l r ?? HuU) H);]] + [1: lapply (invert_restriction_agreement O s ?? HuU) as Ra; + apply (restrict O s ?? x Ra); + apply Hul; apply (unrestrict O s ??? HuU H); + |2: apply (restrict O s ??? HuU); apply Hur; + apply (unrestrict O s ??? (invert_restriction_agreement O s ?? HuU) H);]] |2: simplify; reflexivity;] |2: simplify; unfold convex; intros; cases H (u HU); cases HU (Gu HuU); clear HU H; + +lemma ls2l: + ∀O:ordered_set.∀s:‡O.∀x,y:os_l (square_ordered_set (segment_ordered_set O s)). + le (os_l (square_ordered_set (segment_ordered_set O s))) x y → + \fst x ≤ \fst y. +intros 4; cases x (a1 a2); cases y (b1 b2); clear x y; +intros 2 (H K); apply H; clear H; +simplify in K:(? ? ? %); +simplify in K:(? ? % ?); +whd in ⊢ (? (? (% ?)) ? ?); +whd in ⊢ (? (? ((λ_:?.? ? ? (? ? (? (% ?)))) ?)) ? ?); +simplify; +whd in K:(% ? ? ?); +simplify in K:(%); +whd in ⊢ (? (% ?) ? ? ? ?); +simplify in ⊢ (? (% ?) ? ? ? ?); +simplify in ⊢ (? % ? ? ? ?); +simplify in ⊢ (%); +cases (wloss_prop (os_l (segment_ordered_set O s))); +rewrite