∀T:Type.∀le:T→T→Prop.(∀x,y:T.strong_decidable (le x y)) →
transitive ? le → reflexive ? le → excess.
intros;
- constructor 1;
- [ apply T
- | apply (λx,y.¬(le x y));
- | apply reflexive_to_coreflexive;
- assumption
- | apply strong_decidable_to_transitive_to_cotransitive;
- assumption
+ constructor 1;
+ [ constructor 1;
+ [ constructor 1;
+ [ constructor 1;
+ [ apply T
+ | apply (λx,y.¬(le x y));
+ | apply reflexive_to_coreflexive;
+ assumption
+ | apply strong_decidable_to_transitive_to_cotransitive;
+ assumption]
+ no ported to duality
]
qed.
apply (le_rewr ??? (δx y+ δy z)); [assumption] apply le_reflexive]
lapply (le_to_eqm y x Lxy) as Dxm; lapply (le_to_eqm z y Lyz) as Dym;
lapply (le_to_eqj x y Lxy) as Dxj; lapply (le_to_eqj y z Lyz) as Dyj; clear Lxy Lyz;
-STOP
+ STOP
apply (Eq≈ (δ(x∧y) y + δy z) (meq_l ????? Dxm));
apply (Eq≈ (δ(x∧y) (y∧z) + δy z) (meq_r ????? Dym));
apply (Eq≈ (δ(x∧y) (y∧z) + δ(y∨x) z));[
lemma divide_preserves_lt: ∀G:todgroup.∀e:G.∀n.0<e → 0 < e/n.
intros; elim n; [apply (Lt≫ ? (div1 ??));assumption]
unfold divide; elim (dg_prop G e (S n1)); simplify; simplify in f;
-apply (ltmul_lt ??? (S n1)); simplify; apply (Lt≫ ? f);
+apply (ltmul_lt ??? (S n1)); simplify; apply (Lt≫ ? p);
apply (Lt≪ ? (zero_neutral ??)); (* bug se faccio repeat *)
apply (Lt≪ ? (zero_neutral ??));
apply (Lt≪ ? (mulzero ?n1));
intros (G a b c d L1 L2);
lapply (fexc_plusr ??? (c) L1) as L3;
elim (exc_cotransitive ??? (b+d) L3); [assumption]
-lapply (plus_cancl_exc ???? t); lapply (tog_total ??? Hletin);
+lapply (plus_cancl_exc ???? b1); lapply (tog_total ??? Hletin);
cases Hletin1; cases (H L2);
qed.
include "lattice.ma".
lemma lattice_of_pmlattice: ∀R: todgroup. pmlattice R → lattice.
-intros (R pml); apply (mk_lattice (apart_of_metric_space ? pml));
+intros (R pml); not ported to duality
+apply (mk_lattice (apart_of_metric_space ? pml));
[apply (join ? pml)|apply (meet ? pml)
|3,4,5,6,7,8,9,10: intros (x y z); whd; intro H; whd in H; cases H (LE AP);]
[apply (prop1b ? pml pml x); |apply (prop1a ? pml pml x);