intros 3 (x y z); rewrite > sym_plus; apply ltwl;
qed.
-include "sequence.ma".
+include "tend.ma".
include "metric_lattice.ma".
-definition d2s ≝
- λR.λml:mlattice R.λs:sequence ml.λk.λn. δ (s n) k.
-
-notation "s ⇝ x" non associative with precedence 50 for @{'tends $s $x}.
-
-interpretation "tends to" 'tends s x =
- (cic:/matita/sequence/tends0.con _ (cic:/matita/sandwich/d2s.con _ _ s x)).
-
+alias symbol "leq" = "ordered sets less or equal than".
+alias symbol "and" = "constructive and".
theorem sandwich:
let ugo ≝ excess_OF_lattice1 in
∀R.∀ml:mlattice R.∀an,bn,xn:sequence ml.∀x:ml.
- (∀n. (le (excess_OF_lattice1 ml) (xn n) (an n)) ∧
- (le (excess_OF_lattice1 ?) (bn n) (xn n))) → True.
+ (∀n. (xn n ≤ an n) ∧ (bn n ≤ xn n)) →
an ⇝ x → bn ⇝ x → xn ⇝ x.
intros (R ml an bn xn x H Ha Hb);
unfold tends0 in Ha Hb ⊢ %; unfold d2s in Ha Hb ⊢ %; intros (e He);
cut (δ (xn n3) x ≤ δ (bn n3) x + δ (an n3) x + δ (an n3) x) as main_ineq; [2:
apply (le_transitive ???? (mtineq ???? (an n3)));
cut ( δ(an n3) (bn n3)+- δ(xn n3) (bn n3)≈( δ(an n3) (xn n3))) as H11; [2:
- lapply (le_mtri ?? ??? (ge_to_le ??? H7) (ge_to_le ??? H8)) as H9; clear H7 H8;
- lapply (feq_plusr ? (- δ(xn n3) (bn n3)) ?? H9) as H10; clear H9;
- apply (Eq≈ (0 + δ(an n3) (xn n3)) ? (zero_neutral ??));
- apply (Eq≈ (δ(an n3) (xn n3) + 0) ? (plus_comm ???));
- apply (Eq≈ (δ(an n3) (xn n3) + (-δ(xn n3) (bn n3) + δ(xn n3) (bn n3))) ? (opp_inverse ??));
- apply (Eq≈ (δ(an n3) (xn n3) + (δ(xn n3) (bn n3) + -δ(xn n3) (bn n3))) ? (plus_comm ?? (δ(xn n3) (bn n3))));
- apply (Eq≈ ?? (eq_sym ??? (plus_assoc ????))); assumption;]
+ lapply (le_mtri ?? ??? H8 H7) as H9; clear H7 H8;
+ lapply (Eq≈ ? (msymmetric ????) H9) as H10; clear H9;
+ lapply (feq_plusr ? (- δ(xn n3) (bn n3)) ?? H10) as H9; clear H10;
+ apply (Eq≈ ? H9); clear H9;
+ apply (Eq≈ (δ(xn n3) (an n3)+ δ(bn n3) (xn n3)+- δ(xn n3) (bn n3)) (plus_comm ??( δ(xn n3) (an n3))));
+ apply (Eq≈ (δ(xn n3) (an n3)+ δ(bn n3) (xn n3)+- δ(bn n3) (xn n3)) (feq_opp ??? (msymmetric ????)));
+ apply (Eq≈ ( δ(xn n3) (an n3)+ (δ(bn n3) (xn n3)+- δ(bn n3) (xn n3))) (plus_assoc ????));
+ apply (Eq≈ (δ(xn n3) (an n3) + (- δ(bn n3) (xn n3) + δ(bn n3) (xn n3))) (plus_comm ??(δ(bn n3) (xn n3))));
+ apply (Eq≈ (δ(xn n3) (an n3) + 0) (opp_inverse ??));
+ apply (Eq≈ ? (plus_comm ???));
+ apply (Eq≈ ? (zero_neutral ??));
+ apply (Eq≈ ? (msymmetric ????));
+ apply eq_reflexive;]
apply (Le≪ (δ(an n3) (xn n3)+ δ(an n3) x) (msymmetric ??(an n3)(xn n3)));
apply (Le≪ (δ(an n3) (bn n3)+- δ(xn n3) (bn n3)+ δ(an n3) x) H11);
apply (Le≪ (- δ(xn n3) (bn n3)+ δ(an n3) (bn n3)+δ(an n3) x) (plus_comm ??(δ(an n3) (bn n3))));