From 6fbeff97e37927fd95b3aee3eb23b4309fc465c4 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Thu, 20 Nov 2008 15:53:09 +0000 Subject: [PATCH] dama into the library --- helm/software/matita/library/dama/Makefile | 16 + .../matita/library/dama/bishop_set.ma | 89 ++++ .../matita/library/dama/bishop_set_rewrite.ma | 87 ++++ helm/software/matita/library/dama/depends | 35 ++ helm/software/matita/library/dama/depends.png | Bin 0 -> 235258 bytes .../software/matita/library/dama/doc/apal.pdf | Bin 0 -> 180164 bytes helm/software/matita/library/dama/lebesgue.ma | 125 +++++ .../dama/models/discrete_uniformity.ma | 48 ++ .../models/increasing_supremum_stabilizes.ma | 138 ++++++ .../library/dama/models/list_support.ma | 282 +++++++++++ .../library/dama/models/nat_lebesgue.ma | 26 ++ .../dama/models/nat_order_continuous.ma | 39 ++ .../dama/models/nat_ordered_uniform.ma | 32 ++ .../matita/library/dama/models/nat_uniform.ma | 22 + .../matita/library/dama/models/q_bars.ma | 201 ++++++++ .../matita/library/dama/models/q_copy.ma | 146 ++++++ .../matita/library/dama/models/q_rebase.ma | 299 ++++++++++++ .../matita/library/dama/models/q_support.ma | 122 +++++ .../matita/library/dama/nat_ordered_set.ma | 65 +++ .../matita/library/dama/ordered_set.ma | 181 +++++++ .../matita/library/dama/ordered_uniform.ma | 243 ++++++++++ .../library/dama/property_exhaustivity.ma | 171 +++++++ .../matita/library/dama/property_sigma.ma | 121 +++++ helm/software/matita/library/dama/root | 1 + .../matita/library/dama/russell_support.ma | 27 ++ helm/software/matita/library/dama/sandwich.ma | 48 ++ helm/software/matita/library/dama/sequence.ma | 38 ++ helm/software/matita/library/dama/supremum.ma | 442 ++++++++++++++++++ helm/software/matita/library/dama/uniform.ma | 92 ++++ helm/software/matita/matitaMathView.ml | 4 +- 30 files changed, 3138 insertions(+), 2 deletions(-) create mode 100644 helm/software/matita/library/dama/Makefile create mode 100644 helm/software/matita/library/dama/bishop_set.ma create mode 100644 helm/software/matita/library/dama/bishop_set_rewrite.ma create mode 100644 helm/software/matita/library/dama/depends create mode 100644 helm/software/matita/library/dama/depends.png create mode 100644 helm/software/matita/library/dama/doc/apal.pdf create mode 100644 helm/software/matita/library/dama/lebesgue.ma create mode 100644 helm/software/matita/library/dama/models/discrete_uniformity.ma create mode 100644 helm/software/matita/library/dama/models/increasing_supremum_stabilizes.ma create mode 100644 helm/software/matita/library/dama/models/list_support.ma create mode 100644 helm/software/matita/library/dama/models/nat_lebesgue.ma create mode 100644 helm/software/matita/library/dama/models/nat_order_continuous.ma create mode 100644 helm/software/matita/library/dama/models/nat_ordered_uniform.ma create mode 100644 helm/software/matita/library/dama/models/nat_uniform.ma create mode 100644 helm/software/matita/library/dama/models/q_bars.ma create mode 100644 helm/software/matita/library/dama/models/q_copy.ma create mode 100644 helm/software/matita/library/dama/models/q_rebase.ma create mode 100644 helm/software/matita/library/dama/models/q_support.ma create mode 100644 helm/software/matita/library/dama/nat_ordered_set.ma create mode 100644 helm/software/matita/library/dama/ordered_set.ma create mode 100644 helm/software/matita/library/dama/ordered_uniform.ma create mode 100644 helm/software/matita/library/dama/property_exhaustivity.ma create mode 100644 helm/software/matita/library/dama/property_sigma.ma create mode 100644 helm/software/matita/library/dama/root create mode 100644 helm/software/matita/library/dama/russell_support.ma create mode 100644 helm/software/matita/library/dama/sandwich.ma create mode 100644 helm/software/matita/library/dama/sequence.ma create mode 100644 helm/software/matita/library/dama/supremum.ma create mode 100644 helm/software/matita/library/dama/uniform.ma diff --git a/helm/software/matita/library/dama/Makefile b/helm/software/matita/library/dama/Makefile new file mode 100644 index 000000000..92a16d1f0 --- /dev/null +++ b/helm/software/matita/library/dama/Makefile @@ -0,0 +1,16 @@ +include ../../Makefile.defs + +DIR=$(shell basename $$PWD) + +$(DIR) all: + $(BIN)../matitac +$(DIR).opt opt all.opt: + $(BIN)../matitac.opt +clean: + $(BIN)../matitaclean +clean.opt: + $(BIN)../matitaclean.opt +depend: + $(BIN)../matitadep -dot && rm depends.dot +depend.opt: + $(BIN)../matitadep.opt -dot && rm depends.dot diff --git a/helm/software/matita/library/dama/bishop_set.ma b/helm/software/matita/library/dama/bishop_set.ma new file mode 100644 index 000000000..d69bb2732 --- /dev/null +++ b/helm/software/matita/library/dama/bishop_set.ma @@ -0,0 +1,89 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "ordered_set.ma". + +(* Definition 2.2, setoid *) +record bishop_set: Type ≝ { + bs_carr:> Type; + bs_apart: bs_carr → bs_carr → CProp; + bs_coreflexive: coreflexive ? bs_apart; + bs_symmetric: symmetric ? bs_apart; + bs_cotransitive: cotransitive ? bs_apart +}. + +interpretation "bishop set apartness" 'apart x y = (bs_apart _ x y). + +definition bishop_set_of_ordered_set: ordered_set → bishop_set. +intros (E); apply (mk_bishop_set E (λa,b:E. a ≰ b ∨ b ≰ a)); +[1: intro x; simplify; intro H; cases H; clear H; + apply (exc_coreflexive x H1); +|2: intros 3 (x y H); simplify in H ⊢ %; cases H; [right|left]assumption; +|3: intros 4 (x y z H); simplify in H ⊢ %; cases H; clear H; + [ cases (exc_cotransitive x y z H1); [left;left|right;left] assumption; + | cases (exc_cotransitive y x z H1); [right;right|left;right] assumption;]] +qed. + +(* Definition 2.2 (2) *) +definition eq ≝ λA:bishop_set.λa,b:A. ¬ (a # b). + +interpretation "Bishop set alikeness" 'napart a b = (eq _ a b). + +lemma eq_reflexive:∀E:bishop_set. reflexive ? (eq E). +intros (E); unfold; intros (x); apply bs_coreflexive; +qed. + +lemma eq_sym_:∀E:bishop_set.symmetric ? (eq E). +intros 4 (E x y H); intro T; cases (H (bs_symmetric ??? T)); +qed. + +lemma eq_sym:∀E:bishop_set.∀x,y:E.x ≈ y → y ≈ x ≝ eq_sym_. + +lemma eq_trans_: ∀E:bishop_set.transitive ? (eq E). +intros 6 (E x y z Exy Eyz); intro Axy; cases (bs_cotransitive ???y Axy); +[apply Exy|apply Eyz] assumption. +qed. + +coercion bishop_set_of_ordered_set. + +lemma le_antisymmetric: + ∀E:ordered_set.antisymmetric E (le (os_l E)) (eq E). +intros 5 (E x y Lxy Lyx); intro H; +cases H; [apply Lxy;|apply Lyx] assumption; +qed. + +lemma le_le_eq: ∀E:ordered_set.∀a,b:E. a ≤ b → b ≤ a → a ≈ b. +intros (E x y L1 L2); intro H; cases H; [apply L1|apply L2] assumption; +qed. + +definition bs_subset ≝ λO:bishop_set.λP,Q:O→Prop.∀x:O.P x → Q x. + +interpretation "bishop set subset" 'subseteq a b = (bs_subset _ a b). + +definition square_bishop_set : bishop_set → bishop_set. +intro S; apply (mk_bishop_set (S × S)); +[1: intros (x y); apply ((\fst x # \fst y) ∨ (\snd x # \snd y)); +|2: intro x; simplify; intro; cases H (X X); clear H; apply (bs_coreflexive ?? X); +|3: intros 2 (x y); simplify; intro H; cases H (X X); clear H; [left|right] apply (bs_symmetric ??? X); +|4: intros 3 (x y z); simplify; intro H; cases H (X X); clear H; + [1: cases (bs_cotransitive ??? (\fst z) X); [left;left|right;left]assumption; + |2: cases (bs_cotransitive ??? (\snd z) X); [left;right|right;right]assumption;]] +qed. + +notation "s 2 \atop \neq" non associative with precedence 90 + for @{ 'square_bs $s }. +notation > "s 'squareB'" non associative with precedence 90 + for @{ 'squareB $s }. +interpretation "bishop set square" 'squareB x = (square_bishop_set x). +interpretation "bishop set square" 'square_bs x = (square_bishop_set x). \ No newline at end of file diff --git a/helm/software/matita/library/dama/bishop_set_rewrite.ma b/helm/software/matita/library/dama/bishop_set_rewrite.ma new file mode 100644 index 000000000..ff063e29a --- /dev/null +++ b/helm/software/matita/library/dama/bishop_set_rewrite.ma @@ -0,0 +1,87 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "bishop_set.ma". + +coercion eq_sym. + +lemma eq_trans:∀E:bishop_set.∀x,z,y:E.x ≈ y → y ≈ z → x ≈ z ≝ + λE,x,y,z.eq_trans_ E x z y. + +notation > "'Eq'≈" non associative with precedence 50 + for @{'eqrewrite}. + +interpretation "eq_rew" 'eqrewrite = (eq_trans _ _ _). + +lemma le_rewl: ∀E:ordered_set.∀z,y,x:E. x ≈ y → x ≤ z → y ≤ z. +intros (E z y x Exy Lxz); apply (le_transitive ??? ? Lxz); +intro Xyz; apply Exy; right; assumption; +qed. + +lemma le_rewr: ∀E:ordered_set.∀z,y,x:E. x ≈ y → z ≤ x → z ≤ y. +intros (E z y x Exy Lxz); apply (le_transitive ??? Lxz); +intro Xyz; apply Exy; left; assumption; +qed. + +notation > "'Le'≪" non associative with precedence 50 for @{'lerewritel}. +interpretation "le_rewl" 'lerewritel = (le_rewl _ _ _). +notation > "'Le'≫" non associative with precedence 50 for @{'lerewriter}. +interpretation "le_rewr" 'lerewriter = (le_rewr _ _ _). + +lemma ap_rewl: ∀A:bishop_set.∀x,z,y:A. x ≈ y → y # z → x # z. +intros (A x z y Exy Ayz); cases (bs_cotransitive ???x Ayz); [2:assumption] +cases (eq_sym ??? Exy H); +qed. + +lemma ap_rewr: ∀A:bishop_set.∀x,z,y:A. x ≈ y → z # y → z # x. +intros (A x z y Exy Azy); apply bs_symmetric; apply (ap_rewl ???? Exy); +apply bs_symmetric; assumption; +qed. + +notation > "'Ap'≪" non associative with precedence 50 for @{'aprewritel}. +interpretation "ap_rewl" 'aprewritel = (ap_rewl _ _ _). +notation > "'Ap'≫" non associative with precedence 50 for @{'aprewriter}. +interpretation "ap_rewr" 'aprewriter = (ap_rewr _ _ _). + +lemma exc_rewl: ∀A:ordered_set.∀x,z,y:A. x ≈ y → y ≰ z → x ≰ z. +intros (A x z y Exy Ayz); cases (exc_cotransitive ?? x Ayz); [2:assumption] +cases Exy; right; assumption; +qed. + +lemma exc_rewr: ∀A:ordered_set.∀x,z,y:A. x ≈ y → z ≰ y → z ≰ x. +intros (A x z y Exy Azy); cases (exc_cotransitive ??x Azy); [assumption] +cases (Exy); left; assumption; +qed. + +notation > "'Ex'≪" non associative with precedence 50 for @{'ordered_setrewritel}. +interpretation "exc_rewl" 'ordered_setrewritel = (exc_rewl _ _ _). +notation > "'Ex'≫" non associative with precedence 50 for @{'ordered_setrewriter}. +interpretation "exc_rewr" 'ordered_setrewriter = (exc_rewr _ _ _). + +(* +lemma lt_rewr: ∀A:ordered_set.∀x,z,y:A. x ≈ y → z < y → z < x. +intros (A x y z E H); split; cases H; +[apply (Le≫ ? (eq_sym ??? E));|apply (Ap≫ ? E)] assumption; +qed. + +lemma lt_rewl: ∀A:ordered_set.∀x,z,y:A. x ≈ y → y < z → x < z. +intros (A x y z E H); split; cases H; +[apply (Le≪ ? (eq_sym ??? E));| apply (Ap≪ ? E);] assumption; +qed. + +notation > "'Lt'≪" non associative with precedence 50 for @{'ltrewritel}. +interpretation "lt_rewl" 'ltrewritel = (lt_rewl _ _ _). +notation > "'Lt'≫" non associative with precedence 50 for @{'ltrewriter}. +interpretation "lt_rewr" 'ltrewriter = (lt_rewr _ _ _). +*) diff --git a/helm/software/matita/library/dama/depends b/helm/software/matita/library/dama/depends new file mode 100644 index 000000000..7e0d8968e --- /dev/null +++ b/helm/software/matita/library/dama/depends @@ -0,0 +1,35 @@ +property_exhaustivity.ma ordered_uniform.ma property_sigma.ma +sequence.ma nat/nat.ma +supremum.ma datatypes/constructors.ma nat/plus.ma nat_ordered_set.ma sequence.ma +bishop_set_rewrite.ma bishop_set.ma +property_sigma.ma ordered_uniform.ma russell_support.ma +models/q_support.ma Q/q/qplus.ma Q/q/qtimes.ma logic/cprop_connectives.ma +models/increasing_supremum_stabilizes.ma models/nat_uniform.ma nat/le_arith.ma russell_support.ma supremum.ma +ordered_set.ma datatypes/constructors.ma logic/cprop_connectives.ma +sandwich.ma ordered_uniform.ma +nat_ordered_set.ma bishop_set.ma nat/compare.ma +models/nat_ordered_uniform.ma bishop_set_rewrite.ma models/nat_uniform.ma ordered_uniform.ma +models/list_support.ma list/list.ma logic/cprop_connectives.ma nat/minus.ma +models/q_bars.ma logic/cprop_connectives.ma models/list_support.ma models/q_support.ma nat_ordered_set.ma +.unnamed.ma +lebesgue.ma ordered_set.ma property_exhaustivity.ma sandwich.ma +bishop_set.ma ordered_set.ma +models/nat_order_continuous.ma models/increasing_supremum_stabilizes.ma models/nat_ordered_uniform.ma +models/discrete_uniformity.ma bishop_set_rewrite.ma uniform.ma +russell_support.ma logic/cprop_connectives.ma nat/nat.ma +models/q_copy.ma models/q_bars.ma +models/nat_lebesgue.ma lebesgue.ma models/nat_order_continuous.ma +models/nat_uniform.ma models/discrete_uniformity.ma nat_ordered_set.ma +ordered_uniform.ma uniform.ma +uniform.ma supremum.ma +models/q_rebase.ma Q/q/qtimes.ma models/q_copy.ma russell_support.ma +Q/q/qplus.ma +Q/q/qtimes.ma +datatypes/constructors.ma +list/list.ma +logic/cprop_connectives.ma +nat/compare.ma +nat/le_arith.ma +nat/minus.ma +nat/nat.ma +nat/plus.ma diff --git a/helm/software/matita/library/dama/depends.png b/helm/software/matita/library/dama/depends.png new file mode 100644 index 0000000000000000000000000000000000000000..1c10c23666c6e06e0e2137a8ad29930fe875c054 GIT binary patch literal 235258 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�t1?O~H+G0dRMN&E$|_ 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%0AIBqZ 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
>_seNpX+Nk;mTMjhlg@1v0JCx(tGW8+ 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 K$BePw@_zuaA0Mg! literal 0 HcmV?d00001 diff --git a/helm/software/matita/library/dama/doc/apal.pdf b/helm/software/matita/library/dama/doc/apal.pdf new file mode 100644 index 0000000000000000000000000000000000000000..393e71e9dd0ef5152f46f4ca1273b430ed20fa0f GIT binary patch literal 180164 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%0D*x;f0Go$^F$ba%z+Hgn1%TxVi@bp)3VeX| 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 literal 0 HcmV?d00001 diff --git a/helm/software/matita/library/dama/lebesgue.ma b/helm/software/matita/library/dama/lebesgue.ma new file mode 100644 index 000000000..f81c5ce46 --- /dev/null +++ b/helm/software/matita/library/dama/lebesgue.ma @@ -0,0 +1,125 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +(* manca un pezzo del pullback, se inverto poi non tipa *) +include "sandwich.ma". +include "property_exhaustivity.ma". + +(* NOT DUALIZED *) +alias symbol "low" = "lower". +alias id "le" = "cic:/matita/dama/ordered_set/le.con". +lemma order_converges_bigger_lowsegment: + ∀C:ordered_set. + ∀a:sequence (os_l C).∀s:segment C.∀H:∀i:nat.a i ∈ s. + ∀x:C.∀p:order_converge C a x. + ∀j. 𝕝_s ≤ (pi1exT23 ???? p j). +intros; cases p (xi yi Ux Dy Hxy); clear p; simplify; +cases Ux (Ixi Sxi); clear Ux; cases Dy (Dyi Iyi); clear Dy; +cases (Hxy j) (Ia Sa); clear Hxy; cases Ia (Da SSa); cases Sa (Inca SIa); clear Ia Sa; +intro H2; cases (SSa 𝕝_s H2) (w Hw); simplify in Hw; +lapply (H (w+j)) as K; cases (cases_in_segment ? s ? K); apply H3; apply Hw; +qed. + +alias symbol "upp" = "uppper". +alias symbol "leq" = "Ordered set less or equal than". +lemma order_converges_smaller_upsegment: + ∀C:ordered_set. + ∀a:sequence (os_l C).∀s:segment C.∀H:∀i:nat.a i ∈ s. + ∀x:C.∀p:order_converge C a x. + ∀j. (pi2exT23 ???? p j) ≤ 𝕦_s. +intros; cases p (xi yi Ux Dy Hxy); clear p; simplify; +cases Ux (Ixi Sxi); clear Ux; cases Dy (Dyi Iyi); clear Dy; +cases (Hxy j) (Ia Sa); clear Hxy; cases Ia (Da SSa); cases Sa (Inca SIa); clear Ia Sa; +intro H2; cases (SIa 𝕦_s H2) (w Hw); lapply (H (w+j)) as K; +cases (cases_in_segment ? s ? K); apply H1; apply Hw; +qed. + +(* Theorem 3.10 *) +theorem lebesgue_oc: + ∀C:ordered_uniform_space. + (∀s:‡C.order_continuity {[s]}) → + ∀a:sequence C.∀s:‡C.∀H:∀i:nat.a i ∈ s. + ∀x:C.a order_converges x → + x ∈ s ∧ + ∀h:x ∈ s. + uniform_converge {[s]} (⌊n,≪a n,H n≫⌋) ≪x,h≫. +intros; +generalize in match (order_converges_bigger_lowsegment ? a s H1 ? H2); +generalize in match (order_converges_smaller_upsegment ? a s H1 ? H2); +cases H2 (xi yi Hx Hy Hxy); clear H2; simplify in ⊢ ((?→???%) → (?→???%) → ?); intros; +cut (∀i.xi i ∈ s) as Hxi; [2: + intros; apply (prove_in_segment (os_l C)); [apply (H3 i)] cases (Hxy i) (H5 _); cases H5 (H7 _); + lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu); + simplify in K:(? ? % ?); apply (hle_transitive (os_l C) (xi i) (a i) 𝕦_s K Pu);] clear H3; +cut (∀i.yi i ∈ s) as Hyi; [2: + intros; apply (prove_in_segment (os_l C)); [2:apply (H2 i)] cases (Hxy i) (_ H5); cases H5 (H7 _); + lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu); simplify in K; + apply (le_transitive 𝕝_s ? ? ? K);apply Pl;] clear H2; +split; +[1: apply (uparrow_to_in_segment s ? Hxi ? Hx); +|2: intros 3 (h); + letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋); + letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋); + letin Ai ≝ (⌊n,≪a n, H1 n≫⌋); + apply (sandwich {[s]} ≪x, h≫ Xi Yi Ai); [4: assumption;] + [1: intro j; cases (Hxy j); cases H3; cases H4; split; clear H3 H4; simplify in H5 H7; + [apply (l2sl_ ? s (Xi j) (Ai j) (H5 0));|apply (l2sl_ ? s (Ai j) (Yi j) (H7 0))] + |2: cases (H s Xi ≪?,h≫) (Ux Uy); apply Ux; cases Hx; split; [intro i; apply (l2sl_ ? s (Xi i) (Xi (S i)) (H3 i));] + cases H4; split; [intro i; apply (l2sl_ ? s (Xi i) ≪x,h≫ (H5 i))] + intros (y Hy);cases (H6 (\fst y));[2:apply (sx2x_ ? s ? y Hy)] + exists [apply w] apply (x2sx_ ? s (Xi w) y H7); + |3: cases (H s Yi ≪?,h≫) (Ux Uy); apply Uy; cases Hy; split; [intro i; apply (l2sl_ ? s (Yi (S i)) (Yi i) (H3 i));] + cases H4; split; [intro i; apply (l2sl_ ? s ≪x,h≫ (Yi i) (H5 i))] + intros (y Hy);cases (H6 (\fst y));[2:apply (sx2x_ ? s y ≪x,h≫ Hy)] + exists [apply w] apply (x2sx_ ? s y (Yi w) H7);]] +qed. + + +(* Theorem 3.9 *) +theorem lebesgue_se: + ∀C:ordered_uniform_space.property_sigma C → + (∀s:‡C.exhaustive {[s]}) → + ∀a:sequence C.∀s:‡C.∀H:∀i:nat.a i ∈ s. + ∀x:C.a order_converges x → + x ∈ s ∧ + ∀h:x ∈ s. + uniform_converge {[s]} (⌊n,≪a n,H n≫⌋) ≪x,h≫. +intros (C S); +generalize in match (order_converges_bigger_lowsegment ? a s H1 ? H2); +generalize in match (order_converges_smaller_upsegment ? a s H1 ? H2); +cases H2 (xi yi Hx Hy Hxy); clear H2; simplify in ⊢ ((?→???%) → (?→???%) → ?); intros; +cut (∀i.xi i ∈ s) as Hxi; [2: + intros; apply (prove_in_segment (os_l C)); [apply (H3 i)] cases (Hxy i) (H5 _); cases H5 (H7 _); + lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu); + simplify in K:(? ? % ?); apply (hle_transitive (os_l C) (xi i) (a i) 𝕦_s K Pu);] clear H3; +cut (∀i.yi i ∈ s) as Hyi; [2: + intros; apply (prove_in_segment (os_l C)); [2:apply (H2 i)] cases (Hxy i) (_ H5); cases H5 (H7 _); + lapply (H7 0) as K; cases (cases_in_segment ? s ? (H1 i)) (Pl Pu); simplify in K; + apply (le_transitive 𝕝_s ? ? ? K);apply Pl;] clear H2; +letin Xi ≝ (⌊n,≪xi n, Hxi n≫⌋); +letin Yi ≝ (⌊n,≪yi n, Hyi n≫⌋); +cases (restrict_uniform_convergence_uparrow ? S ? (H s) Xi x Hx); +cases (restrict_uniform_convergence_downarrow ? S ? (H s) Yi x Hy); +split; [1: assumption] +intros 3; +lapply (uparrow_upperlocated xi x Hx)as Ux; +lapply (downarrow_lowerlocated yi x Hy)as Uy; +letin Ai ≝ (⌊n,≪a n, H1 n≫⌋); +apply (sandwich {[s]} ≪x, h≫ Xi Yi Ai); [4: assumption;|2:apply H3;|3:apply H5] +intro j; cases (Hxy j); cases H7; cases H8; split; +[apply (l2sl_ ? s (Xi j) (Ai j) (H9 0));|apply (l2sl_ ? s (Ai j) (Yi j) (H11 0))] +qed. + + + diff --git a/helm/software/matita/library/dama/models/discrete_uniformity.ma b/helm/software/matita/library/dama/models/discrete_uniformity.ma new file mode 100644 index 000000000..76461f3f4 --- /dev/null +++ b/helm/software/matita/library/dama/models/discrete_uniformity.ma @@ -0,0 +1,48 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "uniform.ma". +include "bishop_set_rewrite.ma". + +definition discrete_uniform_space_of_bishop_set:bishop_set → uniform_space. +intro C; apply (mk_uniform_space C); +[1: intro; + alias symbol "pi2" = "pair pi2". + alias symbol "pi1" = "pair pi1". + alias symbol "and" = "logical and". + apply (∃d:unit.∀n:C squareB.(\fst n ≈ \snd n → P n) ∧ (P n → \fst n ≈ \snd n)); +|2: intros 4 (U H x Hx); simplify in Hx; + cases H (_ H1); cases (H1 x); apply H2; apply Hx; +|3: intros; cases H (_ PU); cases H1 (_ PV); + exists[apply (λx.U x ∧ V x)] split; + [1: exists[apply something] intro; cases (PU n); cases (PV n); + split; intros; try split;[apply H2;|apply H4] try assumption; + apply H3; cases H6; assumption; + |2: simplify; intros; assumption;] +|4: intros; cases H (_ PU); exists [apply U] split; + [1: exists [apply something] intro n; cases (PU n); + split; intros; try split;[apply H1;|apply H2] assumption; + |2: intros 2 (x Hx); cases Hx; cases H1; clear H1; + cases (PU 〈(\fst x),x1〉); lapply (H4 H2) as H5; simplify in H5; + cases (PU 〈x1,(\snd x)〉); lapply (H7 H3) as H8; simplify in H8; + generalize in match H5; generalize in match H8; + generalize in match (PU x); clear H6 H7 H1 H4 H2 H3 H5 H8; + cases x; simplify; intros; cases H1; clear H1; apply H4; + apply (eq_trans ???? H3 H2);] +|5: intros; cases H (_ H1); split; cases x; + [2: cases (H1 〈b,b1〉); intro; apply H2; cases (H1 〈b1,b〉); + lapply (H6 H4) as H7; apply eq_sym; apply H7; + |1: cases (H1 〈b1,b〉); intro; apply H2; cases (H1 〈b,b1〉); + lapply (H6 H4) as H7; apply eq_sym; apply H7;]] +qed. diff --git a/helm/software/matita/library/dama/models/increasing_supremum_stabilizes.ma b/helm/software/matita/library/dama/models/increasing_supremum_stabilizes.ma new file mode 100644 index 000000000..58626ff15 --- /dev/null +++ b/helm/software/matita/library/dama/models/increasing_supremum_stabilizes.ma @@ -0,0 +1,138 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "models/nat_uniform.ma". +include "supremum.ma". +include "nat/le_arith.ma". +include "russell_support.ma". + +lemma hint1: + ∀s.sequence (Type_of_ordered_set (segment_ordered_set nat_ordered_set s)) + → sequence (hos_carr (os_l (segment_ordered_set nat_ordered_set s))). +intros; assumption; +qed. + +coercion hint1 nocomposites. + +alias symbol "pi1" = "exT \fst". +alias symbol "N" = "ordered set N". +lemma increasing_supremum_stabilizes: + ∀sg:‡ℕ.∀a:sequence {[sg]}. + a is_increasing → + ∀X.X is_supremum a → ∃i.∀j.i ≤ j → \fst X = \fst (a j). +intros 4; cases X (x Hx); clear X; letin X ≝ ≪x,Hx≫; +fold normalize X; intros; cases H1; +alias symbol "N" = "Natural numbers". +letin spec ≝ (λi,j:ℕ.(𝕦_sg ≤ i ∧ x = \fst (a j)) ∨ (i < 𝕦_sg ∧ x + i ≤ 𝕦_sg + \fst (a j))); +(* x - aj <= max 0 (u - i) *) +letin m ≝ (hide ? ( + let rec aux i ≝ + match i with + [ O ⇒ O + | S m ⇒ + let pred ≝ aux m in + let apred ≝ a pred in + match cmp_nat x (\fst apred) with + [ cmp_le _ ⇒ pred + | cmp_gt nP ⇒ \fst (H3 apred ?)]] + in aux + : + ∀i:nat.∃j:nat.spec i j));[whd; apply nP;] unfold spec in aux ⊢ %; +[3: unfold X in H2; clear H4 n aux spec H3 H1 H X; + cases (cases_in_segment ??? Hx); + elim 𝕦_sg in H1 ⊢ %; intros (a Hs H); + [1: left; split; [apply le_n] + generalize in match H; + generalize in match Hx; + rewrite > (?:x = O); + [2: cases Hx; lapply (os_le_to_nat_le ?? H1); + apply (symmetric_eq nat O x ?).apply (le_n_O_to_eq x ?).apply (Hletin). + |1: intros; unfold Type_of_ordered_set in sg; + lapply (H2 O) as K; lapply (sl2l_ ?? (a O) ≪x,Hx≫ K) as P; + simplify in P:(???%); lapply (le_transitive ??? P H1) as W; + lapply (os_le_to_nat_le ?? W) as R; apply (le_n_O_to_eq (\fst (a O)) R);] + |2: right; cases Hx; rewrite > (sym_plus x O); split; [apply le_S_S; apply le_O_n]; + apply (trans_le ??? (os_le_to_nat_le ?? H3)); + apply le_plus_n_r;] +|2: clear H6; cut (x = \fst (a (aux n1))); [2: + cases (le_to_or_lt_eq ?? H5); [2: assumption] + cases (?:False); apply (H2 (aux n1) H6);] clear H5; + generalize in match Hcut; clear Hcut; intro H5; +|1: clear H6] +[2,1: + cases (aux n1) in H5 ⊢ %; intros; + change in match (a ≪w,H5≫) in H6 ⊢ % with (a w); + cases H5; clear H5; cases H7; clear H7; + [1: left; split; [ apply (le_S ?? H5); | assumption] + |3: cases (?:False); rewrite < H8 in H6; apply (not_le_Sn_n ? H6); + |*: cases (cmp_nat 𝕦_sg (S n1)); + [1,3: left; split; [1,3: assumption |2: assumption] + cut (𝕦_sg = S n1); [2: apply le_to_le_to_eq; assumption ] + clear H7 H5 H4;rewrite > Hcut in H8:(? ? (? % ?)); clear Hcut; + cut (x = S (\fst (a w))); + [2: apply le_to_le_to_eq; [2: assumption] + change in H8 with (x + n1 ≤ S (n1 + \fst (a w))); + rewrite > plus_n_Sm in H8; rewrite > sym_plus in H8; + apply (le_plus_to_le ??? H8);] + cases (H3 (a w) H6); + change with (x = \fst (a w1)); + change in H4 with (\fst (a w) < \fst (a w1)); + apply le_to_le_to_eq; [ rewrite > Hcut; assumption ] + apply (os_le_to_nat_le (\fst (a w1)) x (H2 w1)); + |*: right; split; try assumption; + [1: rewrite > sym_plus in ⊢ (? ? %); + rewrite < H6; apply le_plus_r; assumption; + |2: cases (H3 (a w) H6); + change with (x + S n1 ≤ 𝕦_sg + \fst (a w1));rewrite < plus_n_Sm; + apply (trans_le ??? (le_S_S ?? H8)); rewrite > plus_n_Sm; + apply (le_plus ???? (le_n ?) H9);]]]] +clearbody m; unfold spec in m; clear spec; +letin find ≝ ( + let rec find i u on u : nat ≝ + match u with + [ O ⇒ (m i:nat) + | S w ⇒ match eqb (\fst (a (m i))) x with + [ true ⇒ (m i:nat) + | false ⇒ find (S i) w]] + in find + : + ∀i,bound.∃j.i + bound = 𝕦_sg → x = \fst (a j)); +[1: cases (find (S n) n2); intro; change with (x = \fst (a w)); + apply H6; rewrite < H7; simplify; apply plus_n_Sm; +|2: intros; rewrite > (eqb_true_to_eq ?? H5); reflexivity +|3: intros; rewrite > sym_plus in H5; rewrite > H5; clear H5 H4 n n1; + cases (m 𝕦_sg); cases H4; clear H4; cases H5; clear H5; [assumption] + cases (not_le_Sn_n ? H4)] +clearbody find; cases (find O 𝕦_sg); +exists [apply w]; intros; change with (x = \fst (a j)); +rewrite > (H4 ?); [2: reflexivity] +apply le_to_le_to_eq; +[1: apply os_le_to_nat_le; + apply (trans_increasing ? H ? ? (nat_le_to_os_le ?? H5)); +|2: apply (trans_le ? x ?);[apply os_le_to_nat_le; apply (H2 j);] + rewrite < (H4 ?); [2: reflexivity] apply le_n;] +qed. + +lemma hint2: + ∀s.sequence (Type_of_ordered_set (segment_ordered_set nat_ordered_set s)) + → sequence (hos_carr (os_r (segment_ordered_set nat_ordered_set s))). +intros; assumption; +qed. + +coercion hint2 nocomposites. + +alias symbol "N" = "ordered set N". +axiom increasing_supremum_stabilizes_r: + ∀s:‡ℕ.∀a:sequence {[s]}.a is_decreasing → + ∀x.x is_infimum a → ∃i.∀j.i ≤ j → \fst x = \fst (a j). diff --git a/helm/software/matita/library/dama/models/list_support.ma b/helm/software/matita/library/dama/models/list_support.ma new file mode 100644 index 000000000..eb70322a9 --- /dev/null +++ b/helm/software/matita/library/dama/models/list_support.ma @@ -0,0 +1,282 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat/minus.ma". +include "list/list.ma". + +interpretation "list nth" 'nth = (nth _). +interpretation "list nth" 'nth_appl l d i = (nth _ l d i). +notation "\nth" with precedence 90 for @{'nth}. +notation < "\nth \nbsp term 90 l \nbsp term 90 d \nbsp term 90 i" +with precedence 69 for @{'nth_appl $l $d $i}. + +definition make_list ≝ + λA:Type.λdef:nat→A. + let rec make_list (n:nat) on n ≝ + match n with [ O ⇒ nil ? | S m ⇒ def m :: make_list m] + in make_list. + +interpretation "\mk_list appl" 'mk_list_appl f n = (make_list _ f n). +interpretation "\mk_list" 'mk_list = (make_list _). +notation "\mk_list" with precedence 90 for @{'mk_list}. +notation < "\mk_list \nbsp term 90 f \nbsp term 90 n" +with precedence 69 for @{'mk_list_appl $f $n}. + +notation "\len" with precedence 90 for @{'len}. +interpretation "len" 'len = (length _). +notation < "\len \nbsp term 90 l" with precedence 69 for @{'len_appl $l}. +interpretation "len appl" 'len_appl l = (length _ l). + +lemma mk_list_ext: ∀T:Type.∀f1,f2:nat→T.∀n. (∀x.x H1; [2: apply le_n] +apply eq_f; apply H; intros; apply H1; apply (trans_le ??? H2); apply le_S; apply le_n; +qed. + +lemma len_mk_list : ∀T:Type.∀f:nat→T.∀n.\len (\mk_list f n) = n. +intros; elim n; [reflexivity] simplify; rewrite > H; reflexivity; +qed. + +record rel (rel_T : Type) : Type ≝ { + rel_op :2> rel_T → rel_T → Prop +}. + +record trans_rel : Type ≝ { + o_T :> Type; + o_rel :> rel o_T; + o_tra : ∀x,y,z: o_T.o_rel x y → o_rel y z → o_rel x z +}. + +lemma trans: ∀r:trans_rel.∀x,y,z:r.r x y → r y z → r x z. +apply o_tra; +qed. + +inductive sorted (lt : trans_rel): list (o_T lt) → Prop ≝ +| sorted_nil : sorted lt [] +| sorted_one : ∀x. sorted lt [x] +| sorted_cons : ∀x,y,tl. lt x y → sorted lt (y::tl) → sorted lt (x::y::tl). + +lemma nth_nil: ∀T,i.∀def:T. \nth [] def i = def. +intros; elim i; simplify; [reflexivity;] assumption; qed. + +lemma len_append: ∀T:Type.∀l1,l2:list T. \len (l1@l2) = \len l1 + \len l2. +intros; elim l1; [reflexivity] simplify; rewrite < H; reflexivity; +qed. + +coinductive non_empty_list (A:Type) : list A → Type := +| show_head: ∀x,l. non_empty_list A (x::l). + +lemma len_gt_non_empty : + ∀T.∀l:list T.O < \len l → non_empty_list T l. +intros; cases l in H; [intros; cases (not_le_Sn_O ? H);] intros; constructor 1; +qed. + +lemma sorted_tail: ∀r,x,l.sorted r (x::l) → sorted r l. +intros; inversion H; intros; [destruct H1;|destruct H1;constructor 1;] +destruct H4; assumption; +qed. + +lemma sorted_skip: ∀r,x,y,l. sorted r (x::y::l) → sorted r (x::l). +intros (r x y l H1); inversion H1; intros; [1,2: destruct H] +destruct H4; inversion H2; intros; [destruct H4] +[1: destruct H4; constructor 2; +|2: destruct H7; constructor 3; + [ apply (o_tra ? ??? H H4); | apply (sorted_tail ??? H2);]] +qed. + +lemma sorted_tail_bigger : ∀r,x,l,d.sorted r (x::l) → ∀i. i < \len l → r x (\nth l d i). +intros 4; elim l; [ cases (not_le_Sn_O i H1);] +cases i in H2; +[2: intros; apply (H ? n);[apply (sorted_skip ???? H1)|apply le_S_S_to_le; apply H2] +|1: intros; inversion H1; intros; [1,2: destruct H3] + destruct H6; simplify; assumption;] +qed. + +(* move in nat/ *) +lemma lt_n_plus_n_Sm : ∀n,m:nat.n < n + S m. +intros; rewrite > sym_plus; apply (le_S_S n (m+n)); alias id "le_plus_n" = "cic:/matita/nat/le_arith/le_plus_n.con". +apply (le_plus_n m n); qed. + +lemma nth_append_lt_len: + ∀T:Type.∀l1,l2:list T.∀def.∀i.i < \len l1 → \nth (l1@l2) def i = \nth l1 def i. +intros 4; elim l1; [cases (not_le_Sn_O ? H)] cases i in H H1; simplify; intros; +[reflexivity| rewrite < H;[reflexivity] apply le_S_S_to_le; apply H1] +qed. + +lemma nth_append_ge_len: + ∀T:Type.∀l1,l2:list T.∀def.∀i. + \len l1 ≤ i → \nth (l1@l2) def i = \nth l2 def (i - \len l1). +intros 4; elim l1; [ rewrite < minus_n_O; reflexivity] +cases i in H1; simplify; intros; [cases (not_le_Sn_O ? H1)] +apply H; apply le_S_S_to_le; apply H1; +qed. + +lemma nth_len: + ∀T:Type.∀l1,l2:list T.∀def,x. + \nth (l1@x::l2) def (\len l1) = x. +intros 2; elim l1;[reflexivity] simplify; apply H; qed. + +lemma sorted_head_smaller: + ∀r,l,p,d. sorted r (p::l) → ∀i.i < \len l → r p (\nth l d i). +intros 2 (r l); elim l; [cases (not_le_Sn_O ? H1)] cases i in H2; simplify; intros; +[1: inversion H1; [1,2: simplify; intros; destruct H3] intros; destruct H6; assumption; +|2: apply (H p ?? n ?); [apply (sorted_skip ???? H1)] apply le_S_S_to_le; apply H2] +qed. + +alias symbol "lt" = "natural 'less than'". +lemma sorted_pivot: + ∀r,l1,l2,p,d. sorted r (l1@p::l2) → + (∀i. i < \len l1 → r (\nth l1 d i) p) ∧ + (∀i. i < \len l2 → r p (\nth l2 d i)). +intros 2 (r l); elim l; +[1: split; [intros; cases (not_le_Sn_O ? H1);] intros; + apply sorted_head_smaller; assumption; +|2: simplify in H1; cases (H ?? d (sorted_tail ??? H1)); + lapply depth = 0 (sorted_head_smaller ??? d H1) as Hs; + split; simplify; intros; + [1: cases i in H4; simplify; intros; + [1: lapply depth = 0 (Hs (\len l1)) as HS; + rewrite > nth_len in HS; apply HS; + rewrite > len_append; simplify; apply lt_n_plus_n_Sm; + |2: apply (H2 n); apply le_S_S_to_le; apply H4] + |2: apply H3; assumption]] +qed. + +coinductive cases_bool (p:bool) : bool → CProp ≝ +| case_true : p = true → cases_bool p true +| cases_false : p = false → cases_bool p false. + +lemma case_b : ∀A:Type.∀f:A → bool. ∀x.cases_bool (f x) (f x). +intros; cases (f x);[left;|right] reflexivity; +qed. + +coinductive break_spec (T : Type) (n : nat) (l : list T) : list T → CProp ≝ +| break_to: ∀l1,x,l2. \len l1 = n → l = l1 @ [x] @ l2 → break_spec T n l l. + +lemma list_break: ∀T,n,l. n < \len l → break_spec T n l l. +intros 2; elim n; +[1: elim l in H; [cases (not_le_Sn_O ? H)] + apply (break_to ?? ? [] a l1); reflexivity; +|2: cases (H l); [2: apply lt_S_to_lt; assumption;] cases l2 in H3; intros; + [1: rewrite < H2 in H1; rewrite > H3 in H1; rewrite > append_nil in H1; + rewrite > len_append in H1; rewrite > plus_n_SO in H1; + cases (not_le_Sn_n ? H1); + |2: apply (break_to ?? ? (l1@[x]) t l3); + [2: simplify; rewrite > associative_append; assumption; + |1: rewrite < H2; rewrite > len_append; rewrite > plus_n_SO; reflexivity]]] +qed. + +include "logic/cprop_connectives.ma". + +definition eject_N ≝ + λP.λp:∃x:nat.P x.match p with [ex_introT p _ ⇒ p]. +coercion eject_N. +definition inject_N ≝ λP.λp:nat.λh:P p. ex_introT ? P p h. +coercion inject_N with 0 1 nocomposites. + +coinductive find_spec (T:Type) (P:T→bool) (l:list T) (d:T) (res : nat) : nat → CProp ≝ +| found: + ∀i. i < \len l → P (\nth l d i) = true → res = i → + (∀j. j < i → P (\nth l d j) = false) → find_spec T P l d res i +| not_found: ∀i. i = \len l → res = i → + (∀j.j < \len l → P (\nth l d j) = false) → find_spec T P l d res i. + +lemma find_lemma : ∀T.∀P:T→bool.∀l:list T.∀d.∃i.find_spec ? P l d i i. +intros; +letin find ≝ ( + let rec aux (acc: nat) (l : list T) on l : nat ≝ + match l with + [ nil ⇒ acc + | cons x tl ⇒ + match P x with + [ false ⇒ aux (S acc) tl + | true ⇒ acc]] + in aux : + ∀acc,l1.∃p:nat. + ∀story. story @ l1 = l → acc = \len story → + find_spec ? P story d acc acc → + find_spec ? P (story @ l1) d p p); +[4: clearbody find; cases (find 0 l); + lapply (H [] (refl_eq ??) (refl_eq ??)) as K; + [2: apply (not_found ?? [] d); intros; try reflexivity; cases (not_le_Sn_O ? H1); + |1: cases K; clear K; + [2: exists[apply (\len l)] + apply not_found; try reflexivity; apply H3; + |1: exists[apply i] apply found; try reflexivity; assumption;]] +|1: intros; cases (aux (S n) l2); simplify; clear aux; + lapply depth = 0 (H5 (story@[t])) as K; clear H5; + change with (find_spec ? P (story @ ([t] @ l2)) d w w); + rewrite < associative_append; apply K; clear K; + [1: rewrite > associative_append; apply H2; + |2: rewrite > H3; rewrite > len_append; rewrite > sym_plus; reflexivity; + |3: cases H4; clear H4; destruct H7; + [2: rewrite > H5; rewrite > (?:S (\len story) = \len (story @ [t])); [2: + rewrite > len_append; rewrite > sym_plus; reflexivity;] + apply not_found; try reflexivity; intros; cases (cmp_nat (S j) (\len story)); + [1: rewrite > (nth_append_lt_len ????? H8); apply H7; apply H8; + |2: rewrite > (nth_append_ge_len ????? (le_S_S_to_le ?? H8)); + rewrite > (?: j - \len story = 0);[assumption] + rewrite > (?:j = \len story);[rewrite > minus_n_n; reflexivity] + apply le_to_le_to_eq; [2: apply le_S_S_to_le; assumption;] + rewrite > len_append in H4;rewrite > sym_plus in H4; + apply le_S_S_to_le; apply H4;] + |1: rewrite < H3 in H5; cases (not_le_Sn_n ? H5);]] +|2: intros; cases H4; clear H4; + [1: destruct H7; rewrite > H3 in H5; cases (not_le_Sn_n ? H5); + |2: apply found; try reflexivity; + [1: rewrite > len_append; simplify; rewrite > H5; apply lt_n_plus_n_Sm; + |2: rewrite > H5; rewrite > nth_append_ge_len; [2: apply le_n] + rewrite < minus_n_n; assumption; + |3: intros; rewrite > H5 in H4; rewrite > nth_append_lt_len; [2:assumption] + apply H7; assumption]] +|3: intros; rewrite > append_nil; assumption;] +qed. + +lemma find : ∀T:Type.∀P:T→bool.∀l:list T.∀d:T.nat. +intros; cases (find_lemma ? f l t); apply w; qed. + +lemma cases_find: ∀T,P,l,d. find_spec T P l d (find T P l d) (find T P l d). +intros; unfold find; cases (find_lemma T P l d); simplify; assumption; qed. + +lemma list_elim_with_len: + ∀T:Type.∀P: nat → list T → CProp. + P O [] → (∀l,a,n.P (\len l) l → P (S n) (a::l)) → + ∀l.P (\len l) l. +intros;elim l; [assumption] simplify; apply H1; apply H2; +qed. + +lemma sorted_near: + ∀r,l. sorted r l → ∀i,d. S i < \len l → r (\nth l d i) (\nth l d (S i)). + intros 3; elim H; + [1: cases (not_le_Sn_O ? H1); + |2: simplify in H1; cases (not_le_Sn_O ? (le_S_S_to_le ?? H1)); + |3: simplify; cases i in H4; intros; [apply H1] + apply H3; apply le_S_S_to_le; apply H4] +qed. + +definition last ≝ + λT:Type.λd.λl:list T. \nth l d (pred (\len l)). + +notation > "\last" non associative with precedence 90 for @{'last}. +notation < "\last d l" non associative with precedence 70 for @{'last2 $d $l}. +interpretation "list last" 'last = (last _). +interpretation "list last applied" 'last2 d l = (last _ d l). + +definition head ≝ + λT:Type.λd.λl:list T.\nth l d O. + +notation > "\hd" non associative with precedence 90 for @{'hd}. +notation < "\hd d l" non associative with precedence 70 for @{'hd2 $d $l}. +interpretation "list head" 'hd = (head _). +interpretation "list head applied" 'hd2 d l = (head _ d l). + diff --git a/helm/software/matita/library/dama/models/nat_lebesgue.ma b/helm/software/matita/library/dama/models/nat_lebesgue.ma new file mode 100644 index 000000000..d5e65215e --- /dev/null +++ b/helm/software/matita/library/dama/models/nat_lebesgue.ma @@ -0,0 +1,26 @@ + (**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "lebesgue.ma". +include "models/nat_order_continuous.ma". + +theorem nat_lebesgue_oc: + ∀a:sequence ℕ.∀s:‡ℕ.∀H:∀i:nat.a i ∈ s. + ∀x:ℕ.a order_converges x → + x ∈ s ∧ + ∀h:x ∈ s. + uniform_converge {[s]} ⌊n,≪a n,H n≫⌋ ≪x,h≫. +intros; apply lebesgue_oc; [apply nat_us_is_oc] assumption; +qed. + diff --git a/helm/software/matita/library/dama/models/nat_order_continuous.ma b/helm/software/matita/library/dama/models/nat_order_continuous.ma new file mode 100644 index 000000000..5f00dc338 --- /dev/null +++ b/helm/software/matita/library/dama/models/nat_order_continuous.ma @@ -0,0 +1,39 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "models/increasing_supremum_stabilizes.ma". +include "models/nat_ordered_uniform.ma". + +lemma nat_us_is_oc: ∀s:‡ℕ.order_continuity (segment_ordered_uniform_space ℕ s). +intros 3; split; intros 3; cases H1; cases H2; clear H2 H1; cases H; clear H; +[1: cases (increasing_supremum_stabilizes s a H1 ? H2); + exists [apply w1]; intros; + apply (restrict nat_ordered_uniform_space s ??? H4); + generalize in match (H ? H5); + cases x; intro; + generalize in match (refl_eq ? (a i):a i = a i); + generalize in match (a i) in ⊢ (?? % ? → %); intro X; cases X; clear X; + intro; rewrite < H9 in H7; simplify; rewrite < H7; simplify; + apply (us_phi1 nat_uniform_space ? H3); simplify; apply (eq_reflexive (us_carr nat_uniform_space)); +|2: cases (increasing_supremum_stabilizes_r s a H1 ? H2); + exists [apply w1]; intros; + apply (restrict nat_ordered_uniform_space s ??? H4); + generalize in match (H ? H5); + cases x; intro; + generalize in match (refl_eq ? (a i):a i = a i); + generalize in match (a i) in ⊢ (?? % ? → %); intro X; cases X; clear X; + intro; rewrite < H9 in H7; simplify; rewrite < H7; simplify; + apply (us_phi1 nat_uniform_space ? H3); simplify; apply (eq_reflexive (us_carr nat_uniform_space));] +qed. + diff --git a/helm/software/matita/library/dama/models/nat_ordered_uniform.ma b/helm/software/matita/library/dama/models/nat_ordered_uniform.ma new file mode 100644 index 000000000..becbab2fb --- /dev/null +++ b/helm/software/matita/library/dama/models/nat_ordered_uniform.ma @@ -0,0 +1,32 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "models/nat_uniform.ma". +include "bishop_set_rewrite.ma". +include "ordered_uniform.ma". + +definition nat_ordered_uniform_space:ordered_uniform_space. + apply (mk_ordered_uniform_space (mk_ordered_uniform_space_ ℕ ℕ (refl_eq ? ℕ))); +simplify; intros 10; cases H (_); cases (H7 y); apply H8; cases (H7 s); +lapply (H11 H1) as H13; apply (le_le_eq); +[2: apply (le_transitive ??? H5); apply (Le≪ ? H13); assumption; +|1: assumption; +|3: change with (le (os_r ℕ) (\snd y) (\fst y)); + apply (ge_transitive ??? H5);apply (ge_transitive ???? H4); + change with (le (os_l ℕ) (\fst s) (\snd s)); + apply (Le≫ ? H13); apply le_reflexive; +|4: assumption;] +qed. + +interpretation "Ordered uniform space N" 'N = nat_ordered_uniform_space. diff --git a/helm/software/matita/library/dama/models/nat_uniform.ma b/helm/software/matita/library/dama/models/nat_uniform.ma new file mode 100644 index 000000000..0b2d43563 --- /dev/null +++ b/helm/software/matita/library/dama/models/nat_uniform.ma @@ -0,0 +1,22 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat_ordered_set.ma". +include "models/discrete_uniformity.ma". + +definition nat_uniform_space: uniform_space. +apply (discrete_uniform_space_of_bishop_set ℕ); +qed. + +interpretation "Uniform space N" 'N = nat_uniform_space. \ No newline at end of file diff --git a/helm/software/matita/library/dama/models/q_bars.ma b/helm/software/matita/library/dama/models/q_bars.ma new file mode 100644 index 000000000..1d2107b7c --- /dev/null +++ b/helm/software/matita/library/dama/models/q_bars.ma @@ -0,0 +1,201 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat_ordered_set.ma". +include "models/q_support.ma". +include "models/list_support.ma". +include "logic/cprop_connectives.ma". + +definition bar ≝ ℚ × (ℚ × ℚ). + +notation < "\rationals \sup 2" non associative with precedence 90 for @{'q2}. +interpretation "Q x Q" 'q2 = (Prod Q Q). + +definition empty_bar : bar ≝ 〈Qpos one,〈OQ,OQ〉〉. +notation "\rect" with precedence 90 for @{'empty_bar}. +interpretation "q0" 'empty_bar = empty_bar. + +notation < "\ldots\rect\square\EmptySmallSquare\ldots" with precedence 90 for @{'lq2}. +interpretation "lq2" 'lq2 = (list bar). + +definition q2_lt := mk_rel bar (λx,y:bar.\fst x < \fst y). + +interpretation "bar lt" 'lt x y = (rel_op _ q2_lt x y). + +lemma q2_trans : ∀a,b,c:bar. a < b → b < c → a < c. +intros 3; cases a; cases b; cases c; unfold q2_lt; simplify; intros; +apply (q_lt_trans ??? H H1); +qed. + +definition q2_trel := mk_trans_rel bar q2_lt q2_trans. + +interpretation "bar lt" 'lt x y = (FunClass_2_OF_trans_rel q2_trel x y). + +definition canonical_q_lt : rel bar → trans_rel ≝ λx:rel bar.q2_trel. + +coercion canonical_q_lt with nocomposites. + +interpretation "bar lt" 'lt x y = (FunClass_2_OF_trans_rel (canonical_q_lt _) x y). + +definition nth_base ≝ λf,n. \fst (\nth f ▭ n). +definition nth_height ≝ λf,n. \snd (\nth f ▭ n). + +record q_f : Type ≝ { + bars: list bar; + bars_sorted : sorted q2_lt bars; + bars_begin_OQ : nth_base bars O = OQ; + bars_end_OQ : nth_height bars (pred (\len bars)) = 〈OQ,OQ〉 +}. + +lemma len_bases_gt_O: ∀f.O < \len (bars f). +intros; generalize in match (bars_begin_OQ f); cases (bars f); intros; +[2: simplify; apply le_S_S; apply le_O_n; +|1: normalize in H; destruct H;] +qed. + +lemma all_bases_positive : ∀f:q_f.∀i. OQ < nth_base (bars f) (S i). +intro f; generalize in match (bars_begin_OQ f); generalize in match (bars_sorted f); +cases (len_gt_non_empty ?? (len_bases_gt_O f)); intros; +cases (cmp_nat (\len l) i); +[2: lapply (sorted_tail_bigger q2_lt ?? ▭ H ? H2) as K; + simplify in H1; rewrite < H1; apply K; +|1: simplify; elim l in i H2;[simplify; rewrite > nth_nil; apply (q_pos_OQ one)] + cases n in H3; intros; [simplify in H3; cases (not_le_Sn_O ? H3)] + apply (H2 n1); simplify in H3; apply (le_S_S_to_le ?? H3);] +qed. + +alias symbol "lt" (instance 9) = "Q less than". +alias symbol "lt" (instance 7) = "natural 'less than'". +alias symbol "lt" (instance 6) = "natural 'less than'". +alias symbol "lt" (instance 5) = "Q less than". +alias symbol "lt" (instance 4) = "natural 'less than'". +alias symbol "lt" (instance 2) = "natural 'less than'". +alias symbol "leq" = "Q less or equal than". +coinductive value_spec (f : list bar) (i : ℚ) : ℚ × ℚ → CProp ≝ +| value_of : ∀j,q. + nth_height f j = q → nth_base f j < i → j < \len f → + (∀n.n H6; + rewrite < H1; simplify; rewrite > nth_len; unfold match_pred; + cases (q_cmp (Qpos i) (\fst x)); simplify; + intros (X Hs); [2: destruct X] clear X; + cases (sorted_pivot q2_lt ??? ▭ Hs); + cut (\len l1 ≤ n) as Hn; [2: + rewrite > H1; cases i1 in H4; simplify; intro X; [2: assumption] + apply lt_to_le; assumption;] + unfold nth_base; rewrite > (nth_append_ge_len ????? Hn); + cut (n - \len l1 < \len (x::l2)) as K; [2: + simplify; rewrite > H1; rewrite > (?:\len l2 = \len f - \len (l1 @ [x]));[2: + rewrite > H6; repeat rewrite > len_append; simplify; + repeat rewrite < plus_n_Sm; rewrite < plus_n_O; simplify; + rewrite > sym_plus; rewrite < minus_plus_m_m; reflexivity;] + rewrite > len_append; rewrite > H1; simplify; rewrite < plus_n_SO; + apply le_S_S; clear H1 H6 H7 Hs H8 H9 Hn x l2 l1 H4 H3 H2 H; + elim (\len f) in i1 n H5; [cases (not_le_Sn_O ? H);] + simplify; cases n2; [ repeat rewrite < minus_n_O; apply le_S_S_to_le; assumption] + cases n1 in H1; [intros; rewrite > eq_minus_n_m_O; apply le_O_n] + intros; simplify; apply H; apply le_S_S_to_le; assumption;] + cases (n - \len l1) in K; simplify; intros; [ assumption] + lapply (H9 ? (le_S_S_to_le ?? H10)) as W; apply (q_le_trans ??? H7); + apply q_lt_to_le; apply W; + |2: cases (not_le_Sn_n i1); rewrite > H in ⊢ (??%); + apply (trans_le ??? ? H4); cases i1 in H3; intros; apply le_S_S; + [ apply le_O_n; | assumption]] +|3: unfold match_domain; cases (cases_find bar (match_pred i) f ▭); [ + cases i1 in H; intros; simplify; [assumption] + apply lt_S_to_lt; assumption;] + rewrite > H; cases (\len f) in len_bases_gt_O_f; intros; [cases (not_le_Sn_O ? H3)] + simplify; apply le_n; +|4: intros; unfold match_domain in H; cases (cases_find bar (match_pred i) f ▭) in H; simplify; intros; + [1: lapply (H3 n); [2: cases i1 in H4; intros [assumption] apply le_S; assumption;] + unfold match_pred in Hletin; cases (q_cmp (Qpos i) (\fst (\nth f ▭ n))) in Hletin; + simplify; intros; [destruct H6] assumption; + |2: destruct H; cases f in len_bases_gt_O_f H2 H3; clear H1; simplify; intros; + [cases (not_le_Sn_O ? H)] lapply (H1 n); [2: apply le_S; assumption] + unfold match_pred in Hletin; cases (q_cmp (Qpos i) (\fst (\nth (b::l) ▭ n))) in Hletin; + simplify; intros; [destruct H4] assumption;]] +qed. + +lemma bars_begin_lt_Qpos : ∀q,r. nth_base (bars q) O bars_begin_OQ; apply q_pos_OQ; +qed. + +lemma value : q_f → ratio → ℚ × ℚ. +intros; cases (value_lemma (bars q) ?? r); +[ apply bars_sorted. +| apply len_bases_gt_O; +| apply w; +| apply bars_begin_lt_Qpos;] +qed. + +lemma cases_value : ∀f,i. value_spec (bars f) (Qpos i) (value f i). +intros; unfold value; +cases (value_lemma (bars f) (bars_sorted f) (len_bases_gt_O f) i (bars_begin_lt_Qpos f i)); +assumption; +qed. + +definition same_values ≝ λl1,l2:q_f.∀input. value l1 input = value l2 input. + +definition same_bases ≝ λl1,l2:list bar. ∀i.\fst (\nth l1 ▭ i) = \fst (\nth l2 ▭ i). + +lemma same_bases_cons: ∀a,b,l1,l2. + same_bases l1 l2 → \fst a = \fst b → same_bases (a::l1) (b::l2). +intros; intro; cases i; simplify; [assumption;] apply (H n); +qed. + +alias symbol "lt" = "Q less than". +lemma unpos: ∀x:ℚ.OQ < x → ∃r:ratio.Qpos r = x. +intro; cases x; intros; [2:exists [apply r] reflexivity] +cases (?:False); +[ apply (q_lt_corefl ? H)| cases (q_lt_le_incompat ?? (q_neg_gt ?) (q_lt_to_le ?? H))] +qed. + +notation < "x \blacksquare" non associative with precedence 50 for @{'unpos $x}. +interpretation "hide unpos proof" 'unpos x = (unpos x _). + diff --git a/helm/software/matita/library/dama/models/q_copy.ma b/helm/software/matita/library/dama/models/q_copy.ma new file mode 100644 index 000000000..de7384077 --- /dev/null +++ b/helm/software/matita/library/dama/models/q_copy.ma @@ -0,0 +1,146 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "models/q_bars.ma". + +(* move in nat/minus *) +lemma minus_lt : ∀i,j. i < j → j - i = S (j - S i). +intros 2; +apply (nat_elim2 ???? i j); simplify; intros; +[1: cases n in H; intros; rewrite < minus_n_O; [cases (not_le_Sn_O ? H);] + simplify; rewrite < minus_n_O; reflexivity; +|2: cases (not_le_Sn_O ? H); +|3: apply H; apply le_S_S_to_le; assumption;] +qed. + +alias symbol "lt" = "bar lt". +lemma inversion_sorted: + ∀a,l. sorted q2_lt (a::l) → Or (a < \hd ▭ l) (l = []). +intros 2; elim l; [right;reflexivity] left; inversion H1; intros; +[1,2:destruct H2| destruct H5; assumption] +qed. + +lemma inversion_sorted2: + ∀a,b,l. sorted q2_lt (a::b::l) → a < b. +intros; inversion H; intros; [1,2:destruct H1] destruct H4; assumption; +qed. + +let rec copy (l : list bar) on l : list bar ≝ + match l with + [ nil ⇒ [] + | cons x tl ⇒ 〈\fst x, 〈OQ,OQ〉〉 :: copy tl]. + +lemma sorted_copy: + ∀l:list bar.sorted q2_lt l → sorted q2_lt (copy l). +intro l; elim l; [apply (sorted_nil q2_lt)] simplify; +cases l1 in H H1; simplify; intros; [apply (sorted_one q2_lt)] +apply (sorted_cons q2_lt); [2: apply H; apply (sorted_tail q2_lt ?? H1);] +apply (inversion_sorted2 ??? H1); +qed. + +lemma len_copy: ∀l. \len (copy l) = \len l. +intro; elim l; [reflexivity] simplify; apply eq_f; assumption; +qed. + +lemma copy_same_bases: ∀l. same_bases l (copy l). +intros; elim l; [intro; reflexivity] intro; simplify; cases i; [reflexivity] +simplify; apply (H n); +qed. + +lemma copy_OQ : ∀l,n.nth_height (copy l) n = 〈OQ,OQ〉. +intro; elim l; [elim n;[reflexivity] simplify; assumption] +simplify; cases n; [reflexivity] simplify; apply (H n1); +qed. + +lemma prepend_sorted_with_same_head: + ∀r,x,l1,l2,d1,d2. + sorted r (x::l1) → sorted r l2 → + (r x (\nth l1 d1 O) → r x (\nth l2 d2 O)) → (l1 = [] → r x d1) → + sorted r (x::l2). +intros 8 (R x l1 l2 d1 d2 Sl1 Sl2); inversion Sl1; inversion Sl2; +intros; destruct; try assumption; [3: apply (sorted_one R);] +[1: apply sorted_cons;[2:assumption] apply H2; apply H3; reflexivity; +|2: apply sorted_cons;[2: assumption] apply H5; apply H6; reflexivity; +|3: apply sorted_cons;[2: assumption] apply H5; assumption; +|4: apply sorted_cons;[2: assumption] apply H8; apply H4;] +qed. + +lemma move_head_sorted: ∀x,l1,l2. + sorted q2_lt (x::l1) → sorted q2_lt l2 → nth_base l2 O = nth_base l1 O → + l1 ≠ [] → sorted q2_lt (x::l2). +intros; apply (prepend_sorted_with_same_head q2_lt x l1 l2 ▭ ▭); +try assumption; intros; unfold nth_base in H2; whd in H4; +[1: rewrite < H2 in H4; assumption; +|2: cases (H3 H4);] +qed. + + +lemma sort_q2lt_same_base: + ∀b,h1,h2,l. sorted q2_lt (〈b,h1〉::l) → sorted q2_lt (〈b,h2〉::l). +intros; cases (inversion_sorted ?? H); [2: rewrite > H1; apply (sorted_one q2_lt)] +lapply (sorted_tail q2_lt ?? H) as K; clear H; cases l in H1 K; simplify; intros; +[apply (sorted_one q2_lt);|apply (sorted_cons q2_lt);[2: assumption] apply H] +qed. + +lemma value_head : ∀a,l,i.Qpos i ≤ \fst a → value_simple (a::l) i = \snd a. +intros; unfold value_simple; unfold match_domain; cases (cases_find bar (match_pred i) (a::l) ▭); +[1: cases i1 in H2 H3 H4; intros; [reflexivity] lapply (H4 O) as K; [2: apply le_S_S; apply le_O_n;] + simplify in K; unfold match_pred in K; cases (q_cmp (Qpos i) (\fst a)) in K; + simplify; intros; [destruct H6] lapply (q_le_lt_trans ??? H H5) as K; cases (q_lt_corefl ? K); +|2: cases (?:False); lapply (H3 0); [2: simplify; apply le_S_S; apply le_O_n;] + unfold match_pred in Hletin; simplify in Hletin; cases (q_cmp (Qpos i) (\fst a)) in Hletin; + simplify; intros; [destruct H5] lapply (q_le_lt_trans ??? H H4); apply (q_lt_corefl ? Hletin);] +qed. + +lemma value_unit : ∀x,i. value_simple [x] i = \snd x. +intros; unfold value_simple; unfold match_domain; +cases (cases_find bar (match_pred i) [x] ▭); +[1: cases i1 in H; intros; [reflexivity] simplify in H; + cases (not_le_Sn_O ? (le_S_S_to_le ?? H)); +|2: simplify in H; destruct H; reflexivity;] +qed. + +lemma value_tail : + ∀a,b,l,i.\fst a < Qpos i → \fst b ≤ Qpos i → value_simple (a::b::l) i = value_simple (b::l) i. +intros; unfold value_simple; unfold match_domain; +cases (cases_find bar (match_pred i) (a::b::l) ▭); +[1: cases i1 in H3 H2 H4 H5; intros 1; simplify in ⊢ (? ? (? ? %) ?→?); unfold in ⊢ (? ? % ?→?); intros; + [1: cases (?:False); cases (q_cmp (Qpos i) (\fst a)) in H3; simplify; intros;[2: destruct H6] + apply (q_lt_corefl ? (q_lt_le_trans ??? H H3)); + |2: + +normalize in ⊢ (? ? % ?→?); simplify; +[1: rewrite > (value_head); + +lemma value_copy : + ∀l,i.rewrite > (value_u + value_simple (copy l) i = 〈OQ,OQ〉. +intros; elim l; +[1: reflexivity; +|2: cases l1 in H; intros; simplify in ⊢ (? ? (? % ?) ?); + [1: rewrite > (value_unit); reflexivity; + |2: cases (q_cmp (\fst b) (Qpos i)); + + change with (\fst ▭ = \lamsimplify in ⊢ (? ? (? % ?) ?); unfold value_simple; unfold match_domain; + cases (cases_find bar (match_pred i) [〈\fst x,〈OQ,OQ〉〉] ▭); + [1: simplify in H1:(??%%); + + unfold match_pred; + rewrite > (value_unit 〈\fst a,〈OQ,OQ〉〉); reflexivity; +|2: intros; simplify in H2 H3 H4 ⊢ (? ? (? % ? ? ? ?) ?); + cases (q_cmp (Qpos i) (\fst b)); + [2: rewrite > (value_tail ??? H2 H3 ? H4 H1); apply H; + |1: rewrite > (value_head ??? H2 H3 ? H4 H1); reflexivity]] +qed. + \ No newline at end of file diff --git a/helm/software/matita/library/dama/models/q_rebase.ma b/helm/software/matita/library/dama/models/q_rebase.ma new file mode 100644 index 000000000..f8243d6d1 --- /dev/null +++ b/helm/software/matita/library/dama/models/q_rebase.ma @@ -0,0 +1,299 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "russell_support.ma". +include "models/q_copy.ma". +(* +definition rebase_spec ≝ + λl1,l2:q_f.λp:q_f × q_f. + And3 + (same_bases (bars (\fst p)) (bars (\snd p))) + (same_values l1 (\fst p)) + (same_values l2 (\snd p)). + +inductive rebase_cases : list bar → list bar → (list bar) × (list bar) → Prop ≝ +| rb_fst_full : ∀b,h1,xs. + rebase_cases (〈b,h1〉::xs) [] 〈〈b,h1〉::xs,〈b,〈OQ,OQ〉〉::copy xs〉 +| rb_snd_full : ∀b,h1,ys. + rebase_cases [] (〈b,h1〉::ys) 〈〈b,〈OQ,OQ〉〉::copy ys,〈b,h1〉::ys〉 +| rb_all_full : ∀b,h1,h2,h3,h4,xs,ys,r1,r2. + \snd(\last ▭ (〈b,h1〉::xs)) = \snd(\last ▭ (〈b,h3〉::r1)) → + \snd(\last ▭ (〈b,h2〉::ys)) = \snd(\last ▭ (〈b,h4〉::r2)) → + rebase_cases (〈b,h1〉::xs) (〈b,h2〉::ys) 〈〈b,h3〉::r1,〈b,h4〉::r2〉 +| rb_all_full_l : ∀b1,b2,h1,h2,xs,ys,r1,r2. + \snd(\last ▭ (〈b1,h1〉::xs)) = \snd(\last ▭ (〈b1,h1〉::r1)) → + \snd(\last ▭ (〈b2,h2〉::ys)) = \snd(\last ▭ (〈b1,h2〉::r2)) → + b1 < b2 → + rebase_cases (〈b1,h1〉::xs) (〈b2,h2〉::ys) 〈〈b1,h1〉::r1,〈b1,〈OQ,OQ〉〉::r2〉 +| rb_all_full_r : ∀b1,b2,h1,h2,xs,ys,r1,r2. + \snd(\last ▭ (〈b1,h1〉::xs)) = \snd(\last ▭ (〈b2,h1〉::r1)) → + \snd(\last ▭ (〈b2,h2〉::ys)) = \snd(\last ▭ (〈b2,h2〉::r2)) → + b2 < b1 → + rebase_cases (〈b1,h1〉::xs) (〈b2,h2〉::ys) 〈〈b2,〈OQ,OQ〉〉::r1,〈b2,h2〉::r2〉 +| rb_all_empty : rebase_cases [] [] 〈[],[]〉. + +alias symbol "pi2" = "pair pi2". +alias symbol "pi1" = "pair pi1". +alias symbol "leq" = "natural 'less or equal to'". +inductive rebase_spec_aux_p (l1, l2:list bar) (p:(list bar) × (list bar)) : Prop ≝ +| prove_rebase_spec_aux: + rebase_cases l1 l2 p → + (sorted q2_lt (\fst p)) → + (sorted q2_lt (\snd p)) → + (same_bases (\fst p) (\snd p)) → + (same_values_simpl l1 (\fst p)) → + (same_values_simpl l2 (\snd p)) → + rebase_spec_aux_p l1 l2 p. + +lemma aux_preserves_sorting: + ∀b,b3,l2,l3,w. rebase_cases l2 l3 w → + sorted q2_lt (b::l2) → sorted q2_lt (b3::l3) → \fst b3 = \fst b → + sorted q2_lt (\fst w) → sorted q2_lt (\snd w) → + same_bases (\fst w) (\snd w) → + sorted q2_lt (b :: \fst w). +intros 6; cases H; simplify; intros; clear H; +[ apply (sorted_cons q2_lt); [2:assumption] apply (inversion_sorted2 ??? H1); +| apply (sorted_cons q2_lt); [2:assumption] + whd; rewrite < H3; apply (inversion_sorted2 ??? H2); +| apply (sorted_cons q2_lt); [2:assumption] apply (inversion_sorted2 ??? H3); +| apply (sorted_cons q2_lt); [2:assumption] apply (inversion_sorted2 ??? H4); +| apply (sorted_cons q2_lt); [2:assumption] + whd; rewrite < H6; apply (inversion_sorted2 ??? H5); +| apply (sorted_one q2_lt);] +qed. + +lemma aux_preserves_sorting2: + ∀b,b3,l2,l3,w. rebase_cases l2 l3 w → + sorted q2_lt (b::l2) → sorted q2_lt (b3::l3) → \fst b3 = \fst b → + sorted q2_lt (\fst w) → sorted q2_lt (\snd w) → same_bases (\fst w) (\snd w) → + sorted q2_lt (b :: \snd w). +intros 6; cases H; simplify; intros; clear H; +[ apply (sorted_cons q2_lt); [2:assumption] apply (inversion_sorted2 ??? H1); +| apply (sorted_cons q2_lt); [2:assumption] + whd; rewrite < H3; apply (inversion_sorted2 ??? H2); +| apply (sorted_cons q2_lt); [2: assumption] apply (inversion_sorted2 ??? H3); +| apply (sorted_cons q2_lt); [2: assumption] apply (inversion_sorted2 ??? H4); +| apply (sorted_cons q2_lt); [2: assumption] + whd; rewrite < H6; apply (inversion_sorted2 ??? H5); +| apply (sorted_one q2_lt);] +qed. +*) + + + +definition rebase_spec_aux ≝ + λl1,l2 + :list bar.λp:(list bar) × (list bar). + sorted q2_lt l1 → (\snd (\last ▭ l1) = 〈OQ,OQ〉) → + sorted q2_lt l2 → (\snd (\last ▭ l2) = 〈OQ,OQ〉) → + rebase_spec_aux_p l1 l2 p. + +alias symbol "lt" = "Q less than". +alias symbol "Q" = "Rationals". +axiom q_unlimited: ∀x:ℚ.∃y:ratio.x (value_unit 〈b1,h1〉) in K; + rewrite > (value_unit 〈b2,〈OQ,OQ〉〉) in K; assumption; +|2: intros; unfold in H3; lapply depth=0 (H3 H1 ? H2 ?) as K; [1,2:simplify; autobatch] + clear H3; cases (q_halving b1 (b1 + \fst p)) (w Pw); cases w in Pw; intros; + [cases (q_lt_le_incompat ?? POS); apply q_lt_to_le; cases H3; + apply (q_lt_trans ???? H4); assumption; + |3: elim H3; lapply (q_lt_trans ??? H H4); lapply (q_lt_trans ??? POS Hletin); + cases (q_not_OQ_lt_Qneg ? Hletin1); + | cases H3; lapply (K r); + [2: simplify; assumption + |3: simplify; apply (q_lt_trans ???? H4); assumption; + |rewrite > (value_head b1,h1 .. q) in Hletin; + + + + (* MANCA che le basi sono positive, + poi con halving prendi tra b1 e \fst p e hai h1=OQ,OQ*) + + +definition eject ≝ + λP.λp:∃x:(list bar) × (list bar).P x.match p with [ex_introT p _ ⇒ p]. +coercion eject. +definition inject ≝ λP.λp:(list bar) × (list bar).λh:P p. ex_introT ? P p h. +coercion inject with 0 1 nocomposites. + +definition rebase: ∀l1,l2:q_f.∃p:q_f × q_f.rebase_spec l1 l2 p. +intros 2 (f1 f2); cases f1 (b1 Hs1 Hb1 He1); cases f2 (b2 Hs2 Hb2 He2); clear f1 f2; +alias symbol "leq" = "natural 'less or equal to'". +alias symbol "minus" = "Q minus". +letin aux ≝ ( +let rec aux (l1,l2:list bar) (n : nat) on n : (list bar) × (list bar) ≝ +match n with +[ O ⇒ 〈[], []〉 +| S m ⇒ + match l1 with + [ nil ⇒ 〈copy l2, l2〉 + | cons he1 tl1 ⇒ + match l2 with + [ nil ⇒ 〈l1, copy l1〉 + | cons he2 tl2 ⇒ + let base1 ≝ \fst he1 in + let base2 ≝ \fst he2 in + let height1 ≝ \snd he1 in + let height2 ≝ \snd he2 in + match q_cmp base1 base2 with + [ q_leq Hp1 ⇒ + match q_cmp base2 base1 with + [ q_leq Hp2 ⇒ + let rc ≝ aux tl1 tl2 m in + 〈he1 :: \fst rc,he2 :: \snd rc〉 + | q_gt Hp ⇒ + let rest ≝ base2 - base1 in + let rc ≝ aux tl1 (〈rest,height2〉 :: tl2) m in + 〈〈base1,height1〉 :: \fst rc,〈base1,height2〉 :: \snd rc〉] + | q_gt Hp ⇒ + let rest ≝ base1 - base2 in + let rc ≝ aux (〈rest,height1〉 :: tl1) tl2 m in + 〈〈base2,height1〉 :: \fst rc,〈base2,height2〉 :: \snd rc〉]]]] +in aux : ∀l1,l2,m.∃z.\len l1 + \len l2 ≤ m → rebase_spec_aux l1 l2 z); +[7: clearbody aux; cases (aux b1 b2 (\len b1 + \len b2)) (res Hres); + exists; [split; constructor 1; [apply (\fst res)|5:apply (\snd res)]] + [1,4: apply hide; cases (Hres (le_n ?) Hs1 He1 Hs2 He2); assumption; + |2,5: apply hide; cases (Hres (le_n ?) Hs1 He1 Hs2 He2); clear Hres aux; + lapply (H3 O) as K; clear H1 H2 H3 H4 H5; unfold nth_base; + cases H in K He1 He2 Hb1 Hb2; simplify; intros; assumption; + |3,6: apply hide; cases (Hres (le_n ?) Hs1 He1 Hs2 He2); clear Hres aux; + cases H in He1 He2; simplify; intros; + [1,6,8,12: assumption; + |2,7: rewrite > len_copy; generalize in match (\len ?); intro X; + cases X; [1,3: reflexivity] simplify; + [apply (copy_OQ ys n);|apply (copy_OQ xs n);] + |3,4: rewrite < H6; assumption; + |5: cases r1 in H6; simplify; intros; [reflexivity] rewrite < H6; assumption; + |9,11: rewrite < H7; assumption; + |10: cases r2 in H7; simplify; intros; [reflexivity] rewrite < H7; assumption]] + split; cases (Hres (le_n ?) Hs1 He1 Hs2 He2); clear Hres; unfold same_values; intros; + [1: assumption + |2,3: simplify in match (\snd 〈?,?〉); simplify in match (\fst 〈?,?〉); + apply same_values_simpl_to_same_values; assumption] +|3: cut (\fst b3 = \fst b) as E; [2: apply q_le_to_le_to_eq; assumption] + clear H6 H5 H4 H3 He2 Hb2 Hs2 b2 He1 Hb1 Hs1 b1; cases (aux l2 l3 n1) (rc Hrc); + clear aux; intro K; simplify in K; rewrite H3; cases r1 in H6; intros [2:reflexivity] + use same_values_unit_OQ; + + |2: simplify in H3:(??%) ⊢ %; rewrite > H3; rewrite > len_copy; elim (\len ys); [reflexivity] + symmetry; apply (copy_OQ ys n2); + | cases H8 in H5 H7; simplify; intros; [2,6:reflexivity|3,4,5: assumption] + simplify; rewrite > H5; rewrite > len_copy; elim (\len xs); [reflexivity] + symmetry; apply (copy_OQ xs n2);] + |2: apply (aux_preserves_sorting ? b3 ??? H8); assumption; + |3: apply (aux_preserves_sorting2 ? b3 ??? H8); try assumption; + try reflexivity; cases (inversion_sorted ?? H4);[2:rewrite >H3; apply (sorted_one q2_lt);] + cases l2 in H3 H4; intros; [apply (sorted_one q2_lt)] + apply (sorted_cons q2_lt);[2:apply (sorted_tail q2_lt ?? H3);] whd; + rewrite > E; assumption; + |4: apply I + |5: apply I + |6: intro; elim i; intros; simplify; solve [symmetry;assumption|apply H13] + |7: unfold; intros; clear H9 H10 H11 H12 H13; simplify in Hi1 Hi2 H16 H18; + cases H8 in H14 H15 H17 H3 H16 H18 H5 H6; + simplify in match (\fst 〈?,?〉); simplify in match (\snd 〈?,?〉); intros; + [1: reflexivity; + |2: simplify in H3; rewrite > (value_unit b); rewrite > H3; symmetry; + cases b in H3 H12 Hi2; intros 2; simplify in H12; rewrite > H12; + intros; change in ⊢ (? ? (? % ? ? ? ?) ?) with (copy (〈q,〈OQ,OQ〉〉::〈b1,〈OQ,OQ〉〉::ys)); + apply (value_copy (〈q,〈OQ,OQ〉〉::〈b1,〈OQ,OQ〉〉::ys)); + |3: apply (same_value_tail b b1 h1 h3 xs r1 input); assumption; + |4: apply (same_value_tail b b1 h1 h1 xs r1 input); assumption; + |5: simplify in H9; STOP + + |6: reflexivity;] + + ] + |8: + + +include "Q/q/qtimes.ma". + +let rec area (l:list bar) on l ≝ + match l with + [ nil ⇒ OQ + | cons he tl ⇒ area tl + Qpos (\fst he) * ⅆ[OQ,\snd he]]. + +alias symbol "pi1" = "exT \fst". +alias symbol "minus" = "Q minus". +alias symbol "exists" = "CProp exists". +definition minus_spec_bar ≝ + λf,g,h:list bar. + same_bases f g → len f = len g → + ∀s,i:ℚ. \snd (\fst (value (mk_q_f s h) i)) = + \snd (\fst (value (mk_q_f s f) i)) - \snd (\fst (value (mk_q_f s g) i)). + +definition minus_spec ≝ + λf,g:q_f. + ∃h:q_f. + ∀i:ℚ. \snd (\fst (value h i)) = + \snd (\fst (value f i)) - \snd (\fst (value g i)). + +definition eject_bar : ∀P:list bar → CProp.(∃l:list bar.P l) → list bar ≝ + λP.λp.match p with [ex_introT x _ ⇒ x]. +definition inject_bar ≝ ex_introT (list bar). + +coercion inject_bar with 0 1 nocomposites. +coercion eject_bar with 0 0 nocomposites. + +lemma minus_q_f : ∀f,g. minus_spec f g. +intros; +letin aux ≝ ( + let rec aux (l1, l2 : list bar) on l1 ≝ + match l1 with + [ nil ⇒ [] + | cons he1 tl1 ⇒ + match l2 with + [ nil ⇒ [] + | cons he2 tl2 ⇒ 〈\fst he1, \snd he1 - \snd he2〉 :: aux tl1 tl2]] + in aux : ∀l1,l2 : list bar.∃h.minus_spec_bar l1 l2 h); +[2: intros 4; simplify in H3; destruct H3; +|3: intros 4; simplify in H3; cases l1 in H2; [2: intro X; simplify in X; destruct X] + intros; rewrite > (value_OQ_e (mk_q_f s []) i); [2: reflexivity] + rewrite > q_elim_minus; rewrite > q_plus_OQ; reflexivity; +|1: cases (aux l2 l3); unfold in H2; intros 4; + simplify in ⊢ (? ? (? ? ? (? ? ? (? % ?))) ?); + cases (q_cmp i (s + Qpos (\fst b))); + + + +definition excess ≝ + λf,g.∃i.\snd (\fst (value f i)) < \snd (\fst (value g i)). + diff --git a/helm/software/matita/library/dama/models/q_support.ma b/helm/software/matita/library/dama/models/q_support.ma new file mode 100644 index 000000000..4f27f398a --- /dev/null +++ b/helm/software/matita/library/dama/models/q_support.ma @@ -0,0 +1,122 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "Q/q/qtimes.ma". +include "Q/q/qplus.ma". +include "logic/cprop_connectives.ma". + +interpretation "Q" 'Q = Q. + +(* group over Q *) +axiom qp : ℚ → ℚ → ℚ. + +interpretation "Q plus" 'plus x y = (qp x y). +interpretation "Q minus" 'minus x y = (qp x (Qopp y)). + +axiom q_plus_OQ: ∀x:ℚ.x + OQ = x. +axiom q_plus_sym: ∀x,y:ℚ.x + y = y + x. +axiom q_plus_minus: ∀x.x - x = OQ. +axiom q_plus_assoc: ∀x,y,z.x + (y + z) = x + y + z. +axiom q_opp_plus: ∀x,y,z:Q. Qopp (y + z) = Qopp y + Qopp z. + +(* order over Q *) +axiom qlt : ℚ → ℚ → Prop. +axiom qle : ℚ → ℚ → Prop. +interpretation "Q less than" 'lt x y = (qlt x y). +interpretation "Q less or equal than" 'leq x y = (qle x y). + +inductive q_comparison (a,b:ℚ) : CProp ≝ + | q_leq : a ≤ b → q_comparison a b + | q_gt : b < a → q_comparison a b. + +axiom q_cmp:∀a,b:ℚ.q_comparison a b. + +inductive q_le_elimination (a,b:ℚ) : CProp ≝ +| q_le_from_eq : a = b → q_le_elimination a b +| q_le_from_lt : a < b → q_le_elimination a b. + +axiom q_le_cases : ∀x,y:ℚ.x ≤ y → q_le_elimination x y. + +axiom q_le_to_le_to_eq : ∀x,y. x ≤ y → y ≤ x → x = y. + +axiom q_le_plus_l: ∀a,b,c:ℚ. a ≤ c - b → a + b ≤ c. +axiom q_le_plus_r: ∀a,b,c:ℚ. a - b ≤ c → a ≤ c + b. +axiom q_lt_plus_l: ∀a,b,c:ℚ. a < c - b → a + b < c. +axiom q_lt_plus_r: ∀a,b,c:ℚ. a - b < c → a < c + b. + +axiom q_lt_opp_opp: ∀a,b.b < a → Qopp a < Qopp b. + +axiom q_le_n: ∀x. x ≤ x. +axiom q_lt_to_le: ∀a,b:ℚ.a < b → a ≤ b. + +axiom q_lt_corefl: ∀x:Q.x < x → False. +axiom q_lt_le_incompat: ∀x,y:Q.x < y → y ≤ x → False. + +axiom q_neg_gt: ∀r:ratio.Qneg r < OQ. +axiom q_pos_OQ: ∀x.OQ < Qpos x. + +axiom q_lt_trans: ∀x,y,z:Q. x < y → y < z → x < z. +axiom q_lt_le_trans: ∀x,y,z:Q. x < y → y ≤ z → x < z. +axiom q_le_lt_trans: ∀x,y,z:Q. x ≤ y → y < z → x < z. +axiom q_le_trans: ∀x,y,z:Q. x ≤ y → y ≤ z → x ≤ z. + +axiom q_le_lt_OQ_plus_trans: ∀x,y:Q.OQ ≤ x → OQ < y → OQ < x + y. +axiom q_lt_le_OQ_plus_trans: ∀x,y:Q.OQ < x → OQ ≤ y → OQ < x + y. +axiom q_le_OQ_plus_trans: ∀x,y:Q.OQ ≤ x → OQ ≤ y → OQ ≤ x + y. + +axiom q_leWl: ∀x,y,z.OQ ≤ x → x + y ≤ z → y ≤ z. +axiom q_ltWl: ∀x,y,z.OQ ≤ x → x + y < z → y < z. + +(* distance *) +axiom q_dist : ℚ → ℚ → ℚ. + +notation "hbox(\dd [term 19 x, break term 19 y])" with precedence 90 +for @{'distance $x $y}. +interpretation "ℚ distance" 'distance x y = (q_dist x y). + +axiom q_d_ge_OQ : ∀x,y:ℚ. OQ ≤ ⅆ[x,y]. +axiom q_d_OQ: ∀x:Q.ⅆ[x,x] = OQ. +axiom q_d_noabs: ∀x,y. x ≤ y → ⅆ[y,x] = y - x. +axiom q_d_sym: ∀x,y. ⅆ[x,y] = ⅆ[y,x]. + +lemma q_2opp: ∀x:ℚ.Qopp (Qopp x) = x. +intros; cases x; reflexivity; qed. + +(* derived *) +lemma q_lt_canc_plus_r: + ∀x,y,z:Q.x + z < y + z → x < y. +intros; rewrite < (q_plus_OQ y); rewrite < (q_plus_minus z); +rewrite > q_plus_assoc; apply q_lt_plus_r; rewrite > q_2opp; assumption; +qed. + +lemma q_lt_inj_plus_r: + ∀x,y,z:Q.x < y → x + z < y + z. +intros; apply (q_lt_canc_plus_r ?? (Qopp z)); +do 2 rewrite < q_plus_assoc; rewrite > q_plus_minus; +do 2 rewrite > q_plus_OQ; assumption; +qed. + +lemma q_le_inj_plus_r: + ∀x,y,z:Q.x ≤ y → x + z ≤ y + z. +intros;cases (q_le_cases ?? H); +[1: rewrite > H1; apply q_le_n; +|2: apply q_lt_to_le; apply q_lt_inj_plus_r; assumption;] +qed. + +lemma q_le_canc_plus_r: + ∀x,y,z:Q.x + z ≤ y + z → x ≤ y. +intros; lapply (q_le_inj_plus_r ?? (Qopp z) H) as H1; +do 2 rewrite < q_plus_assoc in H1; +rewrite > q_plus_minus in H1; do 2 rewrite > q_plus_OQ in H1; assumption; +qed. diff --git a/helm/software/matita/library/dama/nat_ordered_set.ma b/helm/software/matita/library/dama/nat_ordered_set.ma new file mode 100644 index 000000000..26e2f0d29 --- /dev/null +++ b/helm/software/matita/library/dama/nat_ordered_set.ma @@ -0,0 +1,65 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat/compare.ma". +include "bishop_set.ma". + +definition nat_excess : nat → nat → CProp ≝ λn,m. m H2; reflexivity; + |2: right;apply le_S_S; assumption]] +qed. + +lemma nat_excess_cotransitive: cotransitive ? nat_excess. +intros 3 (x y z); unfold nat_excess; simplify; intros; +cases (nat_discriminable x z); [2: left; assumption] cases H1; clear H1; +[1: right; apply (trans_lt ??? H H2); +|2: right; rewrite < H2; assumption;] +qed. + +lemma nat_ordered_set : ordered_set. +letin hos ≝ (mk_half_ordered_set nat (λT,R:Type.λf:T→T→R.f) ? nat_excess ? nat_excess_cotransitive); +[ intros; left; intros; reflexivity; +| intro x; intro H; apply (not_le_Sn_n ? H);] +constructor 1; apply hos; +qed. + +interpretation "ordered set N" 'N = nat_ordered_set. + +alias id "le" = "cic:/matita/nat/orders/le.ind#xpointer(1/1)". +lemma os_le_to_nat_le: + ∀a,b:nat_ordered_set.a ≤ b → le a b. +intros; normalize in H; apply (not_lt_to_le b a H); +qed. + +lemma nat_le_to_os_le: + ∀a,b:nat_ordered_set.le a b → a ≤ b. +intros 3; apply (le_to_not_lt a b);assumption; +qed. + diff --git a/helm/software/matita/library/dama/ordered_set.ma b/helm/software/matita/library/dama/ordered_set.ma new file mode 100644 index 000000000..890164ea9 --- /dev/null +++ b/helm/software/matita/library/dama/ordered_set.ma @@ -0,0 +1,181 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "datatypes/constructors.ma". +include "logic/cprop_connectives.ma". + + +(* TEMPLATES +notation "''" non associative with precedence 90 for @{'}. +notation "''" non associative with precedence 90 for @{'}. + +interpretation "" ' = ( (os_l _)). +interpretation "" ' = ( (os_r _)). +*) + +(* Definition 2.1 *) +record half_ordered_set: Type ≝ { + hos_carr:> Type; + wloss: ∀A,B:Type. (A → A → B) → A → A → B; + wloss_prop: (∀T,R,P,x,y.P x y = wloss T R P x y) ∨ (∀T,R,P,x,y.P y x = wloss T R P x y); + hos_excess_: hos_carr → hos_carr → CProp; + hos_coreflexive: coreflexive ? (wloss ?? hos_excess_); + hos_cotransitive: cotransitive ? (wloss ?? hos_excess_) +}. + +definition hos_excess ≝ λO:half_ordered_set.wloss O ?? (hos_excess_ O). + +definition dual_hos : half_ordered_set → half_ordered_set. +intro; constructor 1; +[ apply (hos_carr h); +| apply (λT,R,f,x,y.wloss h T R f y x); +| intros; cases (wloss_prop h);[right|left]intros;apply H; +| apply (hos_excess_ h); +| apply (hos_coreflexive h); +| intros 4 (x y z H); simplify in H ⊢ %; cases (hos_cotransitive h y x z H); + [right|left] assumption;] +qed. + +record ordered_set : Type ≝ { + os_l : half_ordered_set +}. + +definition os_r : ordered_set → half_ordered_set. +intro o; apply (dual_hos (os_l o)); qed. + +lemma half2full : half_ordered_set → ordered_set. +intro hos; +constructor 1; apply hos; +qed. + +definition Type_of_ordered_set : ordered_set → Type. +intro o; apply (hos_carr (os_l o)); qed. + +definition Type_of_ordered_set_dual : ordered_set → Type. +intro o; apply (hos_carr (os_r o)); qed. + +coercion Type_of_ordered_set_dual. +coercion Type_of_ordered_set. + +notation "a ≰≰ b" non associative with precedence 45 for @{'nleq_low $a $b}. +interpretation "Ordered half set excess" 'nleq_low a b = (hos_excess _ a b). + +interpretation "Ordered set excess (dual)" 'ngeq a b = (hos_excess (os_r _) a b). +interpretation "Ordered set excess" 'nleq a b = (hos_excess (os_l _) a b). + +notation "'exc_coreflexive'" non associative with precedence 90 for @{'exc_coreflexive}. +notation "'cxe_coreflexive'" non associative with precedence 90 for @{'cxe_coreflexive}. + +interpretation "exc_coreflexive" 'exc_coreflexive = ((hos_coreflexive (os_l _))). +interpretation "cxe_coreflexive" 'cxe_coreflexive = ((hos_coreflexive (os_r _))). + +notation "'exc_cotransitive'" non associative with precedence 90 for @{'exc_cotransitive}. +notation "'cxe_cotransitive'" non associative with precedence 90 for @{'cxe_cotransitive}. + +interpretation "exc_cotransitive" 'exc_cotransitive = ((hos_cotransitive (os_l _))). +interpretation "cxe_cotransitive" 'cxe_cotransitive = ((hos_cotransitive (os_r _))). + +(* Definition 2.2 (3) *) +definition le ≝ λE:half_ordered_set.λa,b:E. ¬ (a ≰≰ b). + +notation "hvbox(a break ≤≤ b)" non associative with precedence 45 for @{ 'leq_low $a $b }. +interpretation "Half ordered set greater or equal than" 'leq_low a b = ((le _ a b)). + +interpretation "Ordered set greater or equal than" 'geq a b = ((le (os_r _) a b)). +interpretation "Ordered set less or equal than" 'leq a b = ((le (os_l _) a b)). + +lemma hle_reflexive: ∀E.reflexive ? (le E). +unfold reflexive; intros 3; apply (hos_coreflexive ? x H); +qed. + +notation "'le_reflexive'" non associative with precedence 90 for @{'le_reflexive}. +notation "'ge_reflexive'" non associative with precedence 90 for @{'ge_reflexive}. + +interpretation "le reflexive" 'le_reflexive = (hle_reflexive (os_l _)). +interpretation "ge reflexive" 'ge_reflexive = (hle_reflexive (os_r _)). + +(* DUALITY TESTS +lemma test_le_ge_convertible :∀o:ordered_set.∀x,y:o. x ≤ y → y ≥ x. +intros; assumption; qed. + +lemma test_ge_reflexive :∀o:ordered_set.∀x:o. x ≥ x. +intros; apply ge_reflexive. qed. + +lemma test_le_reflexive :∀o:ordered_set.∀x:o. x ≤ x. +intros; apply le_reflexive. qed. +*) + +lemma hle_transitive: ∀E.transitive ? (le E). +unfold transitive; intros 7 (E x y z H1 H2 H3); cases (hos_cotransitive E x z y H3) (H4 H4); +[cases (H1 H4)|cases (H2 H4)] +qed. + +notation "'le_transitive'" non associative with precedence 90 for @{'le_transitive}. +notation "'ge_transitive'" non associative with precedence 90 for @{'ge_transitive}. + +interpretation "le transitive" 'le_transitive = (hle_transitive (os_l _)). +interpretation "ge transitive" 'ge_transitive = (hle_transitive (os_r _)). + +(* Lemma 2.3 *) +lemma exc_hle_variance: + ∀O:half_ordered_set.∀a,b,a',b':O.a ≰≰ b → a ≤≤ a' → b' ≤≤ b → a' ≰≰ b'. +intros (O a b a1 b1 Eab Laa1 Lb1b); +cases (hos_cotransitive ? a b a1 Eab) (H H); [cases (Laa1 H)] +cases (hos_cotransitive ? ?? b1 H) (H1 H1); [assumption] +cases (Lb1b H1); +qed. + +notation "'exc_le_variance'" non associative with precedence 90 for @{'exc_le_variance}. +notation "'exc_ge_variance'" non associative with precedence 90 for @{'exc_ge_variance}. + +interpretation "exc_le_variance" 'exc_le_variance = (exc_hle_variance (os_l _)). +interpretation "exc_ge_variance" 'exc_ge_variance = (exc_hle_variance (os_r _)). + +definition square_exc ≝ + λO:half_ordered_set.λx,y:O×O.\fst x ≰≰ \fst y ∨ \snd x ≰≰ \snd y. + +lemma square_half_ordered_set: half_ordered_set → half_ordered_set. +intro O; +apply (mk_half_ordered_set (O × O)); +[1: apply (wloss O); +|2: intros; cases (wloss_prop O); [left|right] intros; apply H; +|3: apply (square_exc O); +|4: intro x; cases (wloss_prop O); rewrite < (H ?? (square_exc O) x x); clear H; + cases x; clear x; unfold square_exc; intro H; cases H; clear H; simplify in H1; + [1,3: apply (hos_coreflexive O h H1); + |*: apply (hos_coreflexive O h1 H1);] +|5: intros 3 (x0 y0 z0); cases (wloss_prop O); + do 3 rewrite < (H ?? (square_exc O)); clear H; cases x0; cases y0; cases z0; clear x0 y0 z0; + simplify; intro H; cases H; clear H; + [1: cases (hos_cotransitive ? h h2 h4 H1); [left;left|right;left] assumption; + |2: cases (hos_cotransitive ? h1 h3 h5 H1); [left;right|right;right] assumption; + |3: cases (hos_cotransitive ? h2 h h4 H1); [right;left|left;left] assumption; + |4: cases (hos_cotransitive ? h3 h1 h5 H1); [right;right|left;right] assumption;]] +qed. + +lemma square_ordered_set: ordered_set → ordered_set. +intro O; constructor 1; apply (square_half_ordered_set (os_l O)); +qed. + +notation "s 2 \atop \nleq" non associative with precedence 90 + for @{ 'square_os $s }. +notation > "s 'squareO'" non associative with precedence 90 + for @{ 'squareO $s }. +interpretation "ordered set square" 'squareO s = (square_ordered_set s). +interpretation "ordered set square" 'square_os s = (square_ordered_set s). + +definition os_subset ≝ λO:ordered_set.λP,Q:O→Prop.∀x:O.P x → Q x. + +interpretation "ordered set subset" 'subseteq a b = (os_subset _ a b). + diff --git a/helm/software/matita/library/dama/ordered_uniform.ma b/helm/software/matita/library/dama/ordered_uniform.ma new file mode 100644 index 000000000..5a712f127 --- /dev/null +++ b/helm/software/matita/library/dama/ordered_uniform.ma @@ -0,0 +1,243 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "uniform.ma". + +record ordered_uniform_space_ : Type ≝ { + ous_os:> ordered_set; + ous_us_: uniform_space; + with_ : us_carr ous_us_ = bishop_set_of_ordered_set ous_os +}. + +lemma ous_unifspace: ordered_uniform_space_ → uniform_space. +intro X; apply (mk_uniform_space (bishop_set_of_ordered_set X)); +unfold bishop_set_OF_ordered_uniform_space_; +[1: rewrite < (with_ X); simplify; apply (us_unifbase (ous_us_ X)); +|2: cases (with_ X); simplify; apply (us_phi1 (ous_us_ X)); +|3: cases (with_ X); simplify; apply (us_phi2 (ous_us_ X)); +|4: cases (with_ X); simplify; apply (us_phi3 (ous_us_ X)); +|5: cases (with_ X); simplify; apply (us_phi4 (ous_us_ X))] +qed. + +coercion ous_unifspace. + +record ordered_uniform_space : Type ≝ { + ous_stuff :> ordered_uniform_space_; + ous_convex_l: ∀U.us_unifbase ous_stuff U → convex (os_l ous_stuff) U; + ous_convex_r: ∀U.us_unifbase ous_stuff U → convex (os_r ous_stuff) U +}. + +definition half_ordered_set_OF_ordered_uniform_space : ordered_uniform_space → half_ordered_set. +intro; compose ordered_set_OF_ordered_uniform_space with os_l. apply (f o); +qed. + +definition invert_os_relation ≝ + λC:ordered_set.λU:C squareO → Prop. + λx:C squareO. U 〈\snd x,\fst x〉. + +interpretation "relation invertion" 'invert a = (invert_os_relation _ a). +interpretation "relation invertion" 'invert_symbol = (invert_os_relation _). +interpretation "relation invertion" 'invert_appl a x = (invert_os_relation _ a x). + +lemma hint_segment: ∀O. + segment (Type_of_ordered_set O) → + segment (hos_carr (os_l O)). +intros; assumption; +qed. + +coercion hint_segment nocomposites. + +lemma segment_square_of_ordered_set_square: + ∀O:ordered_set.∀s:‡O.∀x:O squareO. + \fst x ∈ s → \snd x ∈ s → {[s]} squareO. +intros; split; exists; [1: apply (\fst x) |3: apply (\snd x)] assumption; +qed. + +coercion segment_square_of_ordered_set_square with 0 2 nocomposites. + +alias symbol "pi1" (instance 4) = "exT \fst". +alias symbol "pi1" (instance 2) = "exT \fst". +lemma ordered_set_square_of_segment_square : + ∀O:ordered_set.∀s:‡O.{[s]} squareO → O squareO ≝ + λO:ordered_set.λs:‡O.λb:{[s]} squareO.〈\fst(\fst b),\fst(\snd b)〉. + +coercion ordered_set_square_of_segment_square nocomposites. + +lemma restriction_agreement : + ∀O:ordered_uniform_space.∀s:‡O.∀P:{[s]} squareO → Prop.∀OP:O squareO → Prop.Prop. +apply(λO:ordered_uniform_space.λs:‡O. + λP:{[s]} squareO → Prop. λOP:O squareO → Prop. + ∀b:{[s]} squareO.(P b → OP b) ∧ (OP b → P b)); +qed. + +lemma unrestrict: ∀O:ordered_uniform_space.∀s:‡O.∀U,u.∀x:{[s]} squareO. + restriction_agreement ? s U u → U x → u x. +intros 6; cases (H x); assumption; +qed. + +lemma restrict: ∀O:ordered_uniform_space.∀s:‡O.∀U,u.∀x:{[s]} squareO. + restriction_agreement ? s U u → u x → U x. +intros 6; cases (H x); assumption; +qed. + +lemma invert_restriction_agreement: + ∀O:ordered_uniform_space.∀s:‡O. + ∀U:{[s]} squareO → Prop.∀u:O squareO → Prop. + restriction_agreement ? s U u → + restriction_agreement ? s (\inv U) (\inv u). +intros 6; cases b; +generalize in match (H 〈h1,h〉); cases h; cases h1; simplify; +intro X; cases X; split; assumption; +qed. + +lemma bs2_of_bss2: + ∀O:ordered_set.∀s:‡O.(bishop_set_of_ordered_set {[s]}) squareB → (bishop_set_of_ordered_set O) squareB ≝ + λO:ordered_set.λs:‡O.λb:{[s]} squareO.〈\fst(\fst b),\fst(\snd b)〉. + +coercion bs2_of_bss2 nocomposites. + + +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; simplify in match (\fst ?); +simplify in match (\snd ?); intros 2 (K H); apply K; clear K; +cases H; +[ left; change in H1:(? ? % ?) with (\fst a); + change in H1:(? ? ? %) with (\fst b); + change in a with (hos_carr (half_segment_ordered_set ? s)); + change in b with (hos_carr (half_segment_ordered_set ? s)); + apply rule H1; +| right; change in H1:(? ? % ?) with (\fst b); + change in H1:(? ? ? %) with (\fst a); + change in a with (hos_carr (half_segment_ordered_set ? s)); + change in b with (hos_carr (half_segment_ordered_set ? s)); + apply rule H1;] +qed. + + +lemma segment_ordered_uniform_space: + ∀O:ordered_uniform_space.∀s:‡O.ordered_uniform_space. +intros (O s); apply mk_ordered_uniform_space; +[1: apply (mk_ordered_uniform_space_ {[s]}); + [1: alias symbol "and" = "constructive and". + letin f ≝ (λP:{[s]} squareO → Prop. ∃OP:O squareO → Prop. + (us_unifbase O OP) ∧ restriction_agreement ?? P OP); + 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 (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:{[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 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:{[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 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 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 3; cases s1; intros; + (* TODO: x2sx is for ≰, we need one for ≤ *) + cases H (u HU); cases HU (Gu HuU); clear HU H; + lapply depth=0 (ous_convex_l ?? Gu 〈\fst h,\fst h1〉 ???????) as K3; + [2: intro; apply H2; apply (x2sx_ (os_l O) s h h1 H); + |3: apply 〈\fst (\fst y),\fst (\snd y)〉; + |4: intro; change in H with (\fst (\fst y) ≰ \fst h1); apply H3; + apply (x2sx_ (os_l O) s (\fst y) h1 H); + |5: change with (\fst h ≤ \fst (\fst y)); intro; apply H4; + apply (x2sx_ (os_l O) s h (\fst y) H); + |6: change with (\fst (\snd y) ≤ \fst h1); intro; apply H5; + apply (x2sx_ (os_l O) s (\snd y) h1 H); + |7: change with (\fst (\fst y) ≤ \fst (\snd y)); intro; apply H6; + apply (x2sx_ (os_l O) s (\fst y) (\snd y) H); + |8: apply (restrict O s U u y HuU K3); + |1: apply (unrestrict O s ?? 〈h,h1〉 HuU H1);] +|3: simplify; unfold convex; intros 3; cases s1; intros; + cases H (u HU); cases HU (Gu HuU); clear HU H; + lapply depth=0 (ous_convex_r ?? Gu 〈\fst h,\fst h1〉 ???????) as K3; + [2: intro; apply H2; apply (x2sx_ (os_r O) s h h1 H); + |3: apply 〈\fst (\fst y),\fst (\snd y)〉; + |4: intro; apply H3; + apply (x2sx_ (os_r O) s (\fst y) h1 H); + |5: intro; apply H4; + apply (x2sx_ (os_r O) s h (\fst y) H); + |6: intro; apply H5; + apply (x2sx_ (os_r O) s (\snd y) h1 H); + |7: intro; apply H6; + apply (x2sx_ (os_r O) s (\fst y) (\snd y) H); + |8: apply (restrict O s U u y HuU K3); + |1: apply (unrestrict O s ?? 〈h,h1〉 HuU H1);] +] +qed. + +interpretation "Ordered uniform space segment" 'segset a = + (segment_ordered_uniform_space _ a). + +(* Lemma 3.2 *) +alias symbol "pi1" = "exT \fst". +lemma restric_uniform_convergence: + ∀O:ordered_uniform_space.∀s:‡O. + ∀x:{[s]}. + ∀a:sequence {[s]}. + (⌊n, \fst (a n)⌋ : sequence O) uniform_converges (\fst x) → + a uniform_converges x. +intros 7; cases H1; cases H2; clear H2 H1; +cases (H ? H3) (m Hm); exists [apply m]; intros; +apply (restrict ? s ??? H4); apply (Hm ? H1); +qed. + +definition order_continuity ≝ + λC:ordered_uniform_space.∀a:sequence C.∀x:C. + (a ↑ x → a uniform_converges x) ∧ (a ↓ x → a uniform_converges x). + +lemma hint_boh1: ∀O. Type_OF_ordered_uniform_space O → hos_carr (os_l O). +intros; assumption; +qed. + +coercion hint_boh1 nocomposites. + +lemma hint_boh2: ∀O:ordered_uniform_space. hos_carr (os_l O) → Type_OF_ordered_uniform_space O. +intros; assumption; +qed. + +coercion hint_boh2 nocomposites. + diff --git a/helm/software/matita/library/dama/property_exhaustivity.ma b/helm/software/matita/library/dama/property_exhaustivity.ma new file mode 100644 index 000000000..deddf8804 --- /dev/null +++ b/helm/software/matita/library/dama/property_exhaustivity.ma @@ -0,0 +1,171 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "ordered_uniform.ma". +include "property_sigma.ma". + +lemma h_segment_upperbound: + ∀C:half_ordered_set. + ∀s:segment C. + ∀a:sequence (half_segment_ordered_set C s). + upper_bound ? ⌊n,\fst (a n)⌋ (seg_u C s). +intros 4; simplify; cases (a n); simplify; unfold in H; +cases (wloss_prop C); rewrite < H1 in H; simplify; cases H; +assumption; +qed. + +notation "'segment_upperbound'" non associative with precedence 90 for @{'segment_upperbound}. +notation "'segment_lowerbound'" non associative with precedence 90 for @{'segment_lowerbound}. + +interpretation "segment_upperbound" 'segment_upperbound = (h_segment_upperbound (os_l _)). +interpretation "segment_lowerbound" 'segment_lowerbound = (h_segment_upperbound (os_r _)). + +lemma h_segment_preserves_uparrow: + ∀C:half_ordered_set.∀s:segment C.∀a:sequence (half_segment_ordered_set C s). + ∀x,h. uparrow C ⌊n,\fst (a n)⌋ x → uparrow (half_segment_ordered_set C s) a ≪x,h≫. +intros; cases H (Ha Hx); split; +[ intro n; intro H; apply (Ha n); apply rule H; +| cases Hx; split; + [ intro n; intro H; apply (H1 n);apply rule H; + | intros; cases (H2 (\fst y)); [2: apply rule H3;] + exists [apply w] apply (x2sx_ ?? (a w) y H4);]] +qed. + +notation "'segment_preserves_uparrow'" non associative with precedence 90 for @{'segment_preserves_uparrow}. +notation "'segment_preserves_downarrow'" non associative with precedence 90 for @{'segment_preserves_downarrow}. + +interpretation "segment_preserves_uparrow" 'segment_preserves_uparrow = (h_segment_preserves_uparrow (os_l _)). +interpretation "segment_preserves_downarrow" 'segment_preserves_downarrow = (h_segment_preserves_uparrow (os_r _)). + +(* Fact 2.18 *) +lemma segment_cauchy: + ∀C:ordered_uniform_space.∀s:‡C.∀a:sequence {[s]}. + a is_cauchy → ⌊n,\fst (a n)⌋ is_cauchy. +intros 6; +alias symbol "pi1" (instance 3) = "pair pi1". +alias symbol "pi2" = "pair pi2". +apply (H (λx:{[s]} squareB.U 〈\fst (\fst x),\fst (\snd x)〉)); +(unfold segment_ordered_uniform_space; simplify); +exists [apply U] split; [assumption;] +intro; cases b; intros; simplify; split; intros; assumption; +qed. + +(* Definition 3.7 *) +definition exhaustive ≝ + λC:ordered_uniform_space. + ∀a,b:sequence C. + (a is_increasing → a is_upper_located → a is_cauchy) ∧ + (b is_decreasing → b is_lower_located → b is_cauchy). + +lemma h_uparrow_to_in_segment: + ∀C:half_ordered_set. + ∀s:segment C. + ∀a:sequence C. + (∀i.a i ∈ s) → + ∀x:C. uparrow C a x → + in_segment C s x. +intros (C H a H1 x H2); unfold in H2; cases H2; clear H2;unfold in H3 H4; cases H4; clear H4; unfold in H2; +cases (wloss_prop C) (W W); apply prove_in_segment; unfold; +[ apply (hle_transitive ??? x ? (H2 O)); lapply (H1 O) as K; unfold in K; rewrite H; reflexivity; +|2: reflexivity +|3: apply leb_elim; apply leb_elim; simplify; + [1: intros; apply le_to_le_to_eq; apply le_S_S;assumption; + |2,3: intros; reflexivity; + |4: intros; unfold max in H; + rewrite > (?:leb n1 m1 = false) in H; [2: + apply lt_to_leb_false; apply not_le_to_lt; assumption;] + rewrite > (?:leb m1 n1 = false) in H; [2: + apply lt_to_leb_false; apply not_le_to_lt; assumption;] + apply eq_f; assumption;]] +qed. + +lemma max_le_r: ∀n,m,z.max n m ≤ z → m ≤ z. +intros; rewrite > sym_max in H; apply (max_le_l ??? H); +qed. + +(* Lemma 3.6 *) +lemma sigma_cauchy: + ∀C:ordered_uniform_space.property_sigma C → + ∀a:sequence C.∀l:C.(a ↑ l ∨ a ↓ l) → a is_cauchy → a uniform_converges l. +intros 8; cases (H ? H3) (w H5); cases H5 (H8 H9); clear H5; +letin spec ≝ (λz,k:nat.∀i,j,l:nat.k ≤ i → k ≤ j → l ≤ z → w l 〈a i,a j〉); +letin m ≝ (hide ? (let rec aux (i:nat) : nat ≝ + match i with + [ O ⇒ match H2 (w i) ? with [ ex_introT k _ ⇒ k ] + | S i' ⇒ max (match H2 (w i) ? with [ ex_introT k _ ⇒ k ]) (S (aux i')) + ] in aux + : ∀z.∃k. spec z k)); unfold spec in aux ⊢ %; + [1,2:apply H8; + |3: intros 3; cases (H2 (w n) (H8 n)); simplify in ⊢ (? (? % ?) ?→?); + simplify in ⊢ (?→? (? % ?) ?→?); + intros; lapply (H5 i j) as H14; + [2: apply (max_le_l ??? H6);|3:apply (max_le_l ??? H7);] + cases (le_to_or_lt_eq ?? H10); [2: destruct H11; destruct H4; assumption] + cases (aux n1) in H6 H7 ⊢ %; simplify in ⊢ (? (? ? %) ?→? (? ? %) ?→?); intros; + apply H6; [3: apply le_S_S_to_le; assumption] + apply lt_to_le; apply (max_le_r w1); assumption; + |4: intros; clear H6; rewrite > H4 in H5; + rewrite < (le_n_O_to_eq ? H11); apply H5; assumption;] +cut ((⌊x,(m x:nat)⌋ : sequence nat_ordered_set) is_strictly_increasing) as Hm; [2: + intro n; change with (S (m n) ≤ m (S n)); unfold m; + whd in ⊢ (? ? %); apply (le_max ? (S (m n)));] +cut ((⌊x,(m x:nat)⌋ : sequence nat_ordered_set) is_increasing) as Hm1; [2: + intro n; intro L; change in L with (m (S n) < m n); + lapply (Hm n) as L1; change in L1 with (m n < m (S n)); + lapply (trans_lt ??? L L1) as L3; apply (not_le_Sn_n ? L3);] +clearbody m; unfold spec in m Hm Hm1; clear spec; +cut (⌊x,a (m x)⌋ ↑ l ∨ ⌊x,a (m x)⌋ ↓ l) as H10; [2: + cases H1; + [ left; apply (selection_uparrow ? Hm a l H4); + | right; apply (selection_downarrow ? Hm a l H4);]] +lapply (H9 ?? H10) as H11; [ + exists [apply (m 0:nat)] intros; + cases H1; cases H5; cases H7; cases (us_phi4 ?? H3 〈l,a i〉); + apply H15; change with (U 〈a i,l〉); + [apply (ous_convex_l C ? H3 ? H11 (H12 (m O))); + |apply (ous_convex_r C ? H3 ? H11 (H12 (m O)));] + [1:apply (H12 i); + |3: apply (le_reflexive l); + |4: apply (H12 i); + |2:change with (a (m O) ≤ a i); + apply (trans_increasing a H6 (\fst (m 0)) i); intro; apply (le_to_not_lt ?? H4 H16); + |5:apply (H12 i); + |7:apply (ge_reflexive (l : hos_carr (os_r C))); + |8:apply (H12 i); + |6:change with (a i ≤ a (m O)); + apply (trans_decreasing ? H6 (\fst (m 0)) i); intro; apply (le_to_not_lt ?? H4 H16);]] +clear H10; intros (p q r); change with (w p 〈a (m q),a (m r)〉); +generalize in match (refl_eq nat (m p)); +generalize in match (m p) in ⊢ (? ? ? % → %); intro X; cases X (w1 H15); clear X; +intros (H16); simplify in H16:(? ? ? %); destruct H16; +apply H15; [3: apply le_n] +[1: lapply (trans_increasing ? Hm1 p q) as T; [apply not_lt_to_le; apply T;] + apply (le_to_not_lt p q H4); +|2: lapply (trans_increasing ? Hm1 p r) as T; [apply not_lt_to_le; apply T;] + apply (le_to_not_lt p r H5);] +qed. diff --git a/helm/software/matita/library/dama/root b/helm/software/matita/library/dama/root new file mode 100644 index 000000000..c12f54b7e --- /dev/null +++ b/helm/software/matita/library/dama/root @@ -0,0 +1 @@ +baseuri=cic:/matita/dama diff --git a/helm/software/matita/library/dama/russell_support.ma b/helm/software/matita/library/dama/russell_support.ma new file mode 100644 index 000000000..deb5fc950 --- /dev/null +++ b/helm/software/matita/library/dama/russell_support.ma @@ -0,0 +1,27 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat/nat.ma". +include "logic/cprop_connectives.ma". + +definition hide ≝ λT:Type.λx:T.x. + +notation < "\blacksquare" non associative with precedence 50 for @{'hide}. +interpretation "hide" 'hide = (hide _ _). +interpretation "hide2" 'hide = (hide _ _ _). + +definition inject ≝ λP.λa:nat.λp:P a. ex_introT ? P ? p. +coercion cic:/matita/dama/russell_support/inject.con 0 1. +definition eject ≝ λP.λc: ∃n:nat.P n. match c with [ ex_introT w _ ⇒ w]. +coercion cic:/matita/dama/russell_support/eject.con. diff --git a/helm/software/matita/library/dama/sandwich.ma b/helm/software/matita/library/dama/sandwich.ma new file mode 100644 index 000000000..68bb4453c --- /dev/null +++ b/helm/software/matita/library/dama/sandwich.ma @@ -0,0 +1,48 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "ordered_uniform.ma". + +lemma le_w_plus: ∀n,m,o.n+m≤o → m ≤ o. +intro; elim n; simplify; [assumption] +lapply (le_S ?? H1); apply H; apply le_S_S_to_le; assumption; +qed. + +alias symbol "leq" = "Ordered set less or equal than". +alias symbol "and" = "logical and". +theorem sandwich: + ∀O:ordered_uniform_space.∀l:O.∀a,b,x:sequence O. + (∀i:nat.a i ≤ x i ∧ x i ≤ b i) → + a uniform_converges l → + b uniform_converges l → + x uniform_converges l. +intros 10; +cases (us_phi3 ? ? H3) (V GV); cases GV (Gv HV); clear GV; +cases (us_phi3 ? ? Gv) (W GW); cases GW (Gw HW); clear GW; +cases (H1 ? Gw) (ma Hma); cases (H2 ? Gw) (mb Hmb); clear H1 H2; +exists [apply (ma + mb)] intros; apply (HV 〈l,(x i)〉); +unfold; simplify; exists [apply (a i)] split; +[2: apply (ous_convex_l ?? Gv 〈a i,b i〉); cases (H i) (Lax Lxb); clear H; + [1: apply HW; exists [apply l]simplify; split; + [1: cases (us_phi4 ?? Gw 〈(a i),l〉); apply H2; clear H2 H; + apply (Hma i); rewrite > sym_plus in H1; apply (le_w_plus mb); assumption; + |2: apply Hmb; apply (le_w_plus ma); assumption] + |2,3: simplify; apply (le_transitive (a i) ?? Lax Lxb); + |4: apply (le_reflexive); + |5,6: assumption;] +|1: apply HW; exists[apply l] simplify; split; + [1: apply (us_phi1 ?? Gw); unfold; apply eq_reflexive; + |2: apply Hma; rewrite > sym_plus in H1; apply (le_w_plus mb); assumption;]] +qed. + diff --git a/helm/software/matita/library/dama/sequence.ma b/helm/software/matita/library/dama/sequence.ma new file mode 100644 index 000000000..948d14f67 --- /dev/null +++ b/helm/software/matita/library/dama/sequence.ma @@ -0,0 +1,38 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "nat/nat.ma". + +inductive sequence (O:Type) : Type ≝ + | mk_seq : (nat → O) → sequence O. + +definition fun_of_seq: ∀O:Type.sequence O → nat → O ≝ + λO.λx:sequence O.match x with [ mk_seq f ⇒ f ]. + +coercion cic:/matita/dama/sequence/fun_of_seq.con 1. + +notation < "hvbox((\lfloor term 19 p \rfloor) \sub ident i)" with precedence 90 +for @{ 'sequence (\lambda ${ident i} : $t . $p)}. + +notation > "hvbox((\lfloor term 19 p \rfloor) \sub ident i)" with precedence 90 +for @{ 'sequence (\lambda ${ident i} . $p)}. + +notation > "hvbox(\lfloor ident i, term 19 p \rfloor)" with precedence 90 +for @{ 'sequence (\lambda ${ident i} . $p)}. + +notation "a \sub i" left associative with precedence 90 + for @{ 'sequence_appl $a $i }. + +interpretation "sequence" 'sequence \eta.x = (mk_seq _ x). +interpretation "sequence element" 'sequence_appl s i = (fun_of_seq _ s i). diff --git a/helm/software/matita/library/dama/supremum.ma b/helm/software/matita/library/dama/supremum.ma new file mode 100644 index 000000000..0de61b292 --- /dev/null +++ b/helm/software/matita/library/dama/supremum.ma @@ -0,0 +1,442 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + + +include "datatypes/constructors.ma". +include "nat/plus.ma". +include "nat_ordered_set.ma". +include "sequence.ma". + +(* Definition 2.4 *) +definition upper_bound ≝ + λO:half_ordered_set.λa:sequence O.λu:O.∀n:nat.a n ≤≤ u. + +definition supremum ≝ + λO:half_ordered_set.λs:sequence O.λx. + upper_bound ? s x ∧ (∀y:O.x ≰≰ y → ∃n.s n ≰≰ y). + +definition increasing ≝ + λO:half_ordered_set.λa:sequence O.∀n:nat.a n ≤≤ a (S n). + +notation < "x \nbsp 'is_upper_bound' \nbsp s" non associative with precedence 45 + for @{'upper_bound $s $x}. +notation < "x \nbsp 'is_lower_bound' \nbsp s" non associative with precedence 45 + for @{'lower_bound $s $x}. +notation < "s \nbsp 'is_increasing'" non associative with precedence 45 + for @{'increasing $s}. +notation < "s \nbsp 'is_decreasing'" non associative with precedence 45 + for @{'decreasing $s}. +notation < "x \nbsp 'is_supremum' \nbsp s" non associative with precedence 45 + for @{'supremum $s $x}. +notation < "x \nbsp 'is_infimum' \nbsp s" non associative with precedence 45 + for @{'infimum $s $x}. +notation > "x 'is_upper_bound' s" non associative with precedence 45 + for @{'upper_bound $s $x}. +notation > "x 'is_lower_bound' s" non associative with precedence 45 + for @{'lower_bound $s $x}. +notation > "s 'is_increasing'" non associative with precedence 45 + for @{'increasing $s}. +notation > "s 'is_decreasing'" non associative with precedence 45 + for @{'decreasing $s}. +notation > "x 'is_supremum' s" non associative with precedence 45 + for @{'supremum $s $x}. +notation > "x 'is_infimum' s" non associative with precedence 45 + for @{'infimum $s $x}. + +interpretation "Ordered set upper bound" 'upper_bound s x = (upper_bound (os_l _) s x). +interpretation "Ordered set lower bound" 'lower_bound s x = (upper_bound (os_r _) s x). + +interpretation "Ordered set increasing" 'increasing s = (increasing (os_l _) s). +interpretation "Ordered set decreasing" 'decreasing s = (increasing (os_r _) s). + +interpretation "Ordered set strong sup" 'supremum s x = (supremum (os_l _) s x). +interpretation "Ordered set strong inf" 'infimum s x = (supremum (os_r _) s x). + +(* Fact 2.5 *) +lemma h_supremum_is_upper_bound: + ∀C:half_ordered_set.∀a:sequence C.∀u:C. + supremum ? a u → ∀v.upper_bound ? a v → u ≤≤ v. +intros 7 (C s u Hu v Hv H); cases Hu (_ H1); clear Hu; +cases (H1 ? H) (w Hw); apply Hv; [apply w] assumption; +qed. + +notation "'supremum_is_upper_bound'" non associative with precedence 90 for @{'supremum_is_upper_bound}. +notation "'infimum_is_lower_bound'" non associative with precedence 90 for @{'infimum_is_lower_bound}. + +interpretation "supremum_is_upper_bound" 'supremum_is_upper_bound = (h_supremum_is_upper_bound (os_l _)). +interpretation "infimum_is_lower_bound" 'infimum_is_lower_bound = (h_supremum_is_upper_bound (os_r _)). + +(* Lemma 2.6 *) +definition strictly_increasing ≝ + λC:half_ordered_set.λa:sequence C.∀n:nat.a (S n) ≰≰ a n. + +notation < "s \nbsp 'is_strictly_increasing'" non associative with precedence 45 + for @{'strictly_increasing $s}. +notation > "s 'is_strictly_increasing'" non associative with precedence 45 + for @{'strictly_increasing $s}. +interpretation "Ordered set strict increasing" 'strictly_increasing s = + (strictly_increasing (os_l _) s). + +notation < "s \nbsp 'is_strictly_decreasing'" non associative with precedence 45 + for @{'strictly_decreasing $s}. +notation > "s 'is_strictly_decreasing'" non associative with precedence 45 + for @{'strictly_decreasing $s}. +interpretation "Ordered set strict decreasing" 'strictly_decreasing s = + (strictly_increasing (os_r _) s). + +definition uparrow ≝ + λC:half_ordered_set.λs:sequence C.λu:C. + increasing ? s ∧ supremum ? s u. + +interpretation "Ordered set uparrow" 'funion s u = (uparrow (os_l _) s u). +interpretation "Ordered set downarrow" 'fintersects s u = (uparrow (os_r _) s u). + +lemma h_trans_increasing: + ∀C:half_ordered_set.∀a:sequence C.increasing ? a → + ∀n,m:nat_ordered_set. n ≤ m → a n ≤≤ a m. +intros 5 (C a Hs n m); elim m; [ + rewrite > (le_n_O_to_eq n (not_lt_to_le O n H)); + intro X; cases (hos_coreflexive ? (a n) X);] +cases (le_to_or_lt_eq ?? (not_lt_to_le (S n1) n H1)); clear H1; +[2: rewrite > H2; intro; cases (hos_coreflexive ? (a (S n1)) H1); +|1: apply (hle_transitive ???? (H ?) (Hs ?)); + intro; whd in H1; apply (not_le_Sn_n n); apply (transitive_le ??? H2 H1);] +qed. + +notation "'trans_increasing'" non associative with precedence 90 for @{'trans_increasing}. +notation "'trans_decreasing'" non associative with precedence 90 for @{'trans_decreasing}. + +interpretation "trans_increasing" 'trans_increasing = (h_trans_increasing (os_l _)). +interpretation "trans_decreasing" 'trans_decreasing = (h_trans_increasing (os_r _)). + +lemma hint_nat : + Type_of_ordered_set nat_ordered_set → + hos_carr (os_l (nat_ordered_set)). +intros; assumption; +qed. + +coercion hint_nat nocomposites. + +lemma h_trans_increasing_exc: + ∀C:half_ordered_set.∀a:sequence C.increasing ? a → + ∀n,m:nat_ordered_set. m ≰≰ n → a n ≤≤ a m. +intros 5 (C a Hs n m); elim m; [cases (not_le_Sn_O n H);] +intro; apply H; +[1: change in n1 with (hos_carr (os_l nat_ordered_set)); + change with (n H3; apply H;] + |2: cases (?:False); change in Hp with (n "a 'order_converges' x" non associative with precedence 45 + for @{'order_converge $a $x}. +interpretation "Order convergence" 'order_converge s u = (order_converge _ s u). + +(* Definition 2.8 *) +record segment (O : Type) : Type ≝ { + seg_l_ : O; + seg_u_ : O +}. + +notation > "𝕦_term 90 s" non associative with precedence 90 for @{'upp $s}. +notation "𝕦 \sub term 90 s" non associative with precedence 90 for @{'upp $s}. +notation > "𝕝_term 90 s" non associative with precedence 90 for @{'low $s}. +notation "𝕝 \sub term 90 s" non associative with precedence 90 for @{'low $s}. + +definition seg_u ≝ + λ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. + wloss O ?? (λl,u.l) (seg_l_ ? s) (seg_u_ ? s). + +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 ≤≤ x) (x ≤≤ seg_u ? s). + +notation "‡O" non associative with precedence 90 for @{'segment $O}. +interpretation "Ordered set sergment" 'segment x = (segment x). + +interpretation "Ordered set sergment in" 'mem x s = (in_segment _ s x). + +definition segment_ordered_set_carr ≝ + λO:half_ordered_set.λs:‡O.∃x.x ∈ s. +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)). +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; +qed. +lemma segment_ordered_set_cotrans : + ∀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; +qed. + +lemma half_segment_ordered_set: + ∀O:half_ordered_set.∀s:segment O.half_ordered_set. +intros (O a); constructor 1; +[ apply (segment_ordered_set_carr O a); +| apply (wloss O); +| apply (wloss_prop O); +| apply (segment_ordered_set_exc O a); +| apply (segment_ordered_set_corefl O a); +| apply (segment_ordered_set_cotrans ??); +] +qed. + +lemma segment_ordered_set: + ∀O:ordered_set.∀s:‡O.ordered_set. +intros (O s); +apply half2full; apply (half_segment_ordered_set (os_l O) s); +qed. + +notation "{[ term 19 s ]}" non associative with precedence 90 for @{'segset $s}. +interpretation "Ordered set segment" 'segset s = (segment_ordered_set _ s). + +(* test : + ∀O:ordered_set.∀s: segment (os_l O).∀x:O. + in_segment (os_l O) s x + = + in_segment (os_r O) s x. +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 "s 'is_upper_located'" non associative with precedence 45 + for @{'upper_located $s}. +interpretation "Ordered set upper locatedness" 'upper_located s = + (upper_located (os_l _) s). + +notation < "s \nbsp 'is_lower_located'" non associative with precedence 45 + for @{'lower_located $s}. +notation > "s 'is_lower_located'" non associative with precedence 45 + for @{'lower_located $s}. +interpretation "Ordered set lower locatedness" 'lower_located s = + (upper_located (os_r _) s). + +(* Lemma 2.12 *) +lemma h_uparrow_upperlocated: + ∀C:half_ordered_set.∀a:sequence C.∀u:C.uparrow ? a u → upper_located ? a. +intros (C a u H); cases H (H2 H3); clear H; intros 3 (x y Hxy); +cases H3 (H4 H5); clear H3; cases (hos_cotransitive C y x u Hxy) (W W); +[2: cases (H5 x W) (w Hw); left; exists [apply w] assumption; +|1: right; exists [apply u]; split; [apply W|apply H4]] +qed. + +notation "'uparrow_upperlocated'" non associative with precedence 90 for @{'uparrow_upperlocated}. +notation "'downarrow_lowerlocated'" non associative with precedence 90 for @{'downarrow_lowerlocated}. + +interpretation "uparrow_upperlocated" 'uparrow_upperlocated = (h_uparrow_upperlocated (os_l _)). +interpretation "downarrow_lowerlocated" 'downarrow_lowerlocated = (h_uparrow_upperlocated (os_r _)). diff --git a/helm/software/matita/library/dama/uniform.ma b/helm/software/matita/library/dama/uniform.ma new file mode 100644 index 000000000..759037124 --- /dev/null +++ b/helm/software/matita/library/dama/uniform.ma @@ -0,0 +1,92 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "supremum.ma". + +(* Definition 2.13 *) +alias symbol "pair" = "Pair construction". +alias symbol "exists" = "exists". +alias symbol "and" = "logical and". +definition compose_bs_relations ≝ + λC:bishop_set.λU,V:C squareB → Prop. + λx:C squareB.∃y:C. U 〈\fst x,y〉 ∧ V 〈y,\snd x〉. + +definition compose_os_relations ≝ + λC:ordered_set.λU,V:C squareB → Prop. + λx:C squareB.∃y:C. U 〈\fst x,y〉 ∧ V 〈y,\snd x〉. + +interpretation "bishop set relations composition" 'compose a b = (compose_bs_relations _ a b). +interpretation "ordered set relations composition" 'compose a b = (compose_os_relations _ a b). + +definition invert_bs_relation ≝ + λC:bishop_set.λU:C squareB → Prop. + λx:C squareB. U 〈\snd x,\fst x〉. + +notation > "\inv" with precedence 60 for @{ 'invert_symbol }. +interpretation "relation invertion" 'invert a = (invert_bs_relation _ a). +interpretation "relation invertion" 'invert_symbol = (invert_bs_relation _). +interpretation "relation invertion" 'invert_appl a x = (invert_bs_relation _ a x). + +alias symbol "exists" = "CProp exists". +alias symbol "compose" = "bishop set relations composition". +alias symbol "and" (instance 21) = "constructive and". +alias symbol "and" (instance 16) = "constructive and". +alias symbol "and" (instance 9) = "constructive and". +record uniform_space : Type ≝ { + us_carr:> bishop_set; + us_unifbase: (us_carr squareB → Prop) → CProp; + us_phi1: ∀U:us_carr squareB → Prop. us_unifbase U → + (λx:us_carr squareB.\fst x ≈ \snd x) ⊆ U; + us_phi2: ∀U,V:us_carr squareB → Prop. us_unifbase U → us_unifbase V → + ∃W:us_carr squareB → Prop.us_unifbase W ∧ (W ⊆ (λx.U x ∧ V x)); + us_phi3: ∀U:us_carr squareB → Prop. us_unifbase U → + ∃W:us_carr squareB → Prop.us_unifbase W ∧ (W ∘ W) ⊆ U; + us_phi4: ∀U:us_carr squareB → Prop. us_unifbase U → ∀x.(U x → (\inv U) x) ∧ ((\inv U) x → U x) +}. + +(* Definition 2.14 *) +alias symbol "leq" = "natural 'less or equal to'". +definition cauchy ≝ + λC:uniform_space.λa:sequence C.∀U.us_unifbase C U → + ∃n. ∀i,j. n ≤ i → n ≤ j → U 〈a i,a j〉. + +notation < "a \nbsp 'is_cauchy'" non associative with precedence 45 + for @{'cauchy $a}. +notation > "a 'is_cauchy'" non associative with precedence 45 + for @{'cauchy $a}. +interpretation "Cauchy sequence" 'cauchy s = (cauchy _ s). + +(* Definition 2.15 *) +definition uniform_converge ≝ + λC:uniform_space.λa:sequence C.λu:C. + ∀U.us_unifbase C U → ∃n. ∀i. n ≤ i → U 〈u,a i〉. + +notation < "a \nbsp (\u \atop (\horbar\triangleright)) \nbsp x" non associative with precedence 45 + for @{'uniform_converge $a $x}. +notation > "a 'uniform_converges' x" non associative with precedence 45 + for @{'uniform_converge $a $x}. +interpretation "Uniform convergence" 'uniform_converge s u = + (uniform_converge _ s u). + +(* Lemma 2.16 *) +lemma uniform_converge_is_cauchy : + ∀C:uniform_space.∀a:sequence C.∀x:C. + a uniform_converges x → a is_cauchy. +intros (C a x Ha); intros 2 (u Hu); +cases (us_phi3 ?? Hu) (v Hv0); cases Hv0 (Hv H); clear Hv0; +cases (Ha ? Hv) (n Hn); exists [apply n]; intros; +apply H; unfold; exists [apply x]; split [2: apply (Hn ? H2)] +cases (us_phi4 ?? Hv 〈a i,x〉) (P1 P2); apply P2; +apply (Hn ? H1); +qed. diff --git a/helm/software/matita/matitaMathView.ml b/helm/software/matita/matitaMathView.ml index 63cf77a16..d07f31b55 100644 --- a/helm/software/matita/matitaMathView.ml +++ b/helm/software/matita/matitaMathView.ml @@ -1109,8 +1109,8 @@ class cicBrowser_impl ~(history:MatitaTypes.mathViewer_entry MatitaMisc.history) gviz#load_graph_from_file ~gviz_cmd:"tred | dot" tmpfile; (match center_on with | None -> () - | Some uri -> gviz#center_on_href (UriManager.string_of_uri uri)); - HExtlib.safe_remove tmpfile + | Some uri -> gviz#center_on_href (UriManager.string_of_uri uri)) +(* HExtlib.safe_remove tmpfile *) method private dependencies direction uri () = let dbd = LibraryDb.instance () in -- 2.39.2