]> matita.cs.unibo.it Git - helm.git/commitdiff
cleanup of the eq_trans burdain
authorEnrico Tassi <enrico.tassi@inria.fr>
Fri, 30 Nov 2007 14:35:21 +0000 (14:35 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Fri, 30 Nov 2007 14:35:21 +0000 (14:35 +0000)
helm/software/matita/dama/attic/ordered_fields_ch0.ma
helm/software/matita/dama/classical_pointfree/ordered_sets.ma
helm/software/matita/dama/classical_pointfree/ordered_sets2.ma
helm/software/matita/dama/excedence.ma
helm/software/matita/dama/group.ma
helm/software/matita/dama/lattice.ma
helm/software/matita/dama/metric_lattice.ma
helm/software/matita/dama/ordered_group.ma
helm/software/matita/dama/preweighted_lattice.ma

index b312c31ab6f43f7f8ea57484397b067dbc6c5206..5be3c9da49eaea573feb1723c19d33f9635f1ca3 100644 (file)
@@ -18,7 +18,7 @@ include "attic/fields.ma".
 include "ordered_group.ma".
 
 (*CSC: non capisco questi alias! Una volta non servivano*)
-alias id "plus" = "cic:/matita/groups/plus.con".
+alias id "plus" = "cic:/matita/group/plus.con".
 alias symbol "plus" = "Abelian group plus".
 
 record pre_ordered_field_ch0: Type ≝
index 604da01d68f033b3ef831833b2f74861643e921c..127bbf69623e8830c0f380983c2f375989491b0c 100644 (file)
@@ -320,10 +320,10 @@ notation "hvbox(〈a〉)"
 for @{ 'hide_everything_but $a }.
 
 interpretation "mk_bounded_above_sequence" 'hide_everything_but a
-= (cic:/matita/ordered_sets/bounded_above_sequence.ind#xpointer(1/1/1) _ _ a _).
+= (cic:/matita/ordered_set/bounded_above_sequence.ind#xpointer(1/1/1) _ _ a _).
 
 interpretation "mk_bounded_below_sequence" 'hide_everything_but a
-= (cic:/matita/ordered_sets/bounded_below_sequence.ind#xpointer(1/1/1) _ _ a _).
+= (cic:/matita/ordered_set/bounded_below_sequence.ind#xpointer(1/1/1) _ _ a _).
 
 theorem eq_f_sup_sup_f:
  ∀O':dedekind_sigma_complete_ordered_set.
index dafa0df4f5b71117e6f77c28a9b9d61c34731d50..d85a02cf4a633f03f1a05bad598de77a58e034c7 100644 (file)
@@ -61,7 +61,7 @@ theorem le_to_le_sup_sup:
 qed. 
 
 interpretation "mk_bounded_sequence" 'hide_everything_but a
-= (cic:/matita/ordered_sets/bounded_sequence.ind#xpointer(1/1/1) _ _ a _ _).
+= (cic:/matita/ordered_set/bounded_sequence.ind#xpointer(1/1/1) _ _ a _ _).
 
 lemma reduce_bas_seq:
  ∀O:ordered_set.∀a:nat→O.∀p.∀i.
index 22612e2c12ef05011978af133a54649eb6bf0dd9..42d53a5dcc2a5e032a0a9ed5ea4fc6d6fee0c850 100644 (file)
@@ -96,7 +96,14 @@ intros 6 (E x y z Exy Eyz); intro Axy; cases (ap_cotransitive ???y Axy);
 [apply Exy|apply Eyz] assumption.
 qed.
 
-lemma eq_trans:∀E:apartness.∀x,y,z:E.x ≈ y → y ≈ z → x ≈ z ≝ eq_trans_.
+lemma eq_trans:∀E:apartness.∀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 = 
+ (cic:/matita/excedence/eq_trans.con _ _ _).
 
 (* BUG: vedere se ricapita *)
 alias id "antisymmetric" = "cic:/matita/constructive_higher_order_relations/antisymmetric.con".
@@ -139,11 +146,23 @@ intros (E z y x Exy Lxz); apply (le_transitive ???? ? Lxz);
 intro Xyz; apply Exy; apply unfold_apart; right; assumption;
 qed.
 
+notation > "'Ex'≪" non associative with precedence 50 for
+ @{'excedencerewritel}.
+interpretation "exc_rewl" 'excedencerewritel = 
+ (cic:/matita/excedence/exc_rewl.con _ _ _).
+
 lemma le_rewr: ∀E:excedence.∀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; apply unfold_apart; left; assumption;
 qed.
+
+notation > "'Ex'≫" non associative with precedence 50 for
+ @{'excedencerewriter}.
  
+interpretation "exc_rewr" 'excedencerewriter = 
+ (cic:/matita/excedence/exc_rewr.con _ _ _).
+
 lemma ap_rewl: ∀A:apartness.∀x,z,y:A. x ≈ y → y # z → x # z.
 intros (A x z y Exy Ayz); cases (ap_cotransitive ???x Ayz); [2:assumption]
 cases (Exy (ap_symmetric ??? a));
@@ -183,4 +202,8 @@ qed.
     
 lemma le_le_eq: ∀E:excedence.∀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.
+
+lemma ap_le_to_lt: ∀E:excedence.∀a,c:E.c # a → c ≤ a → c < a.
+intros; split; assumption;
 qed.
\ No newline at end of file
index b0c7c2e9b4855754e608e65b2c1474be0f3aa4d3..87cc25855cb4ce1c17c47b254e9d7d2e959e0d2b 100644 (file)
@@ -142,37 +142,38 @@ qed.
 theorem eq_opp_plus_plus_opp_opp: 
   ∀G:abelian_group.∀x,y:G. -(x+y) ≈ -x + -y.
 intros (G x y); apply (plus_cancr ??? (x+y));
-apply (eq_trans ?? 0 ? (opp_inverse ??));
-apply (eq_trans ?? (-x + -y + x + y)); [2: apply (eq_sym ??? (plus_assoc ????))]
-apply (eq_trans ?? (-y + -x + x + y)); [2: repeat apply feq_plusr; apply plus_comm]
-apply (eq_trans ?? (-y + (-x + x) + y)); [2: apply feq_plusr; apply plus_assoc;]
-apply (eq_trans ?? (-y + 0 + y)); 
+apply (Eq≈ 0 (opp_inverse ??));
+apply (Eq≈ (-x + -y + x + y)); [2: apply (eq_sym ??? (plus_assoc ????))]
+apply (Eq≈ (-y + -x + x + y)); [2: repeat apply feq_plusr; apply plus_comm]
+apply (Eq≈ (-y + (-x + x) + y)); [2: apply feq_plusr; apply plus_assoc;]
+apply (Eq≈ (-y + 0 + y)); 
   [2: apply feq_plusr; apply feq_plusl; apply eq_sym; apply opp_inverse]
-apply (eq_trans ?? (-y + y)); 
+apply (Eq≈ (-y + y)); 
   [2: apply feq_plusr; apply eq_sym; 
-      apply (eq_trans ?? (0+-y)); [apply plus_comm|apply zero_neutral]]
+      apply (Eq≈ (0+-y)); [apply plus_comm|apply zero_neutral]]
 apply eq_sym; apply opp_inverse.
 qed.
 
 theorem eq_opp_opp_x_x: ∀G:abelian_group.∀x:G.--x ≈ x.
 intros (G x); apply (plus_cancl ??? (-x));
-apply (eq_trans ?? (--x + -x)); [apply plus_comm]
-apply (eq_trans ?? 0); [apply opp_inverse]
+apply (Eq≈ (--x + -x) (plus_comm ???));
+apply (Eq≈ 0 (opp_inverse ??));
 apply eq_sym; apply opp_inverse;
 qed.
 
 theorem eq_zero_opp_zero: ∀G:abelian_group.0 ≈ -0. [assumption]
 intro G; apply (plus_cancr ??? 0);
-apply (eq_trans ?? 0); [apply zero_neutral;]
+apply (Eq≈ 0); [apply zero_neutral;]
 apply eq_sym; apply opp_inverse;
 qed.
 
 lemma feq_oppr: ∀G:abelian_group.∀x,y,z:G. y ≈ z → x ≈ -y → x ≈ -z.
 intros (G x y z H1 H2); apply (plus_cancr ??? z);
-apply (eq_trans ?? 0 ?? (opp_inverse ?z));
-apply (eq_trans ?? (-y + z) ? H2);
-apply (eq_trans ?? (-y + y) ? H1);
-apply (eq_trans ?? 0 ? (opp_inverse ??));
+(* apply (eq_trans ??? 0 ? (opp_inverse ??)); *)
+apply (Eq≈ 0 ? (opp_inverse ??));
+apply (Eq≈ (-y + z) H2);
+apply (Eq≈ (-y + y) H1);
+apply (Eq≈ 0 (opp_inverse ??));
 apply eq_reflexive;
 qed.
 
index 9e91376d17bbe2be3dd82b0bd58b45454b032f04..d6b637a0d35990479747b897ed5300b9e09dd0db 100644 (file)
@@ -77,9 +77,9 @@ qed.
 lemma le_to_eqj: ∀ml:lattice.∀a,b:ml. a ≤ b → b ≈ (a ∨ b).
 intros (l a b H); lapply (le_to_eqm ??? H) as H1;
 lapply (feq_jl ??? b H1) as H2;
-apply (eq_trans ????? (join_comm ???));
-apply (eq_trans ?? (b∨a∧b) ?? H2); clear H1 H2 H;
-apply (eq_trans ?? (b∨(b∧a)) ?? (feq_jl ???? (meet_comm ???)));
+apply (Eq≈ ?? (join_comm ???));
+apply (Eq≈ (b∨a∧b) ? H2); clear H1 H2 H;
+apply (Eq≈ (b∨(b∧a)) ? (feq_jl ???? (meet_comm ???)));
 apply eq_sym; apply absorbjm;
 qed.
 
index 917e2a199037d55157ccae646a30bd5da2c66eac..a4ca3b4f4b6029d692b618aae05eee9438190230 100644 (file)
@@ -54,13 +54,6 @@ apply (ml_prop1 ?? ml); split [apply mpositive] apply ap_symmetric;
 assumption;
 qed.
 
-(*
-lemma lt_to_dpos: ∀R.∀ml:mlattice R.∀x,y:ml.x < y → 0 < δ x y.
-intros 4; repeat (unfold in ⊢ (? % ? ?→?)); simplify; unfold excl;
-intro H; elim H (H1 H2); elim H2 (H3 H3); [cases (H1 H3)]
-split; [apply mpositive]
-*)
-
 lemma meq_l: ∀R.∀ml:mlattice R.∀x,y,z:ml. x≈z → δx y ≈ δz y.
 intros (R ml x y z); apply le_le_eq;
 [ apply (le_transitive ???? (mtineq ???y z)); 
@@ -76,10 +69,7 @@ lemma meq_r: ∀R.∀ml:mlattice R.∀x,y,z:ml. x≈z → δy x ≈ δy z.
 intros; apply (eq_trans ???? (msymmetric ??y x));
 apply (eq_trans ????? (msymmetric ??z y)); apply meq_l; assumption;
 qed.
-
-lemma ap_le_to_lt: ∀O:ogroup.∀a,c:O.c # a → c ≤ a → c < a.
-intros (R a c A L); split; assumption;
-qed. 
 
 lemma dap_to_lt: ∀R.∀ml:mlattice R.∀x,y:ml. δ x y # 0 → 0 < δ x y.
 intros; split [apply mpositive] apply ap_symmetric; assumption;
@@ -95,22 +85,28 @@ lemma le_mtri:
   ∀R.∀ml:mlattice R.∀x,y,z:ml. x ≤ y → y ≤ z → δ x z ≈ δ x y + δ y z.
 intros (R ml x y z Lxy Lyz); apply le_le_eq; [apply mtineq]
 apply (le_transitive ????? (ml_prop2 ?? ml (y) ??)); 
-  cut ( δx y+ δy z ≈ δ(y∨x) (y∨z)+ δ(y∧x) (y∧z)); [
-    apply (le_rewr ??? (δx y+ δy z)); [assumption] apply le_reflexive]
-  lapply (le_to_eqm ??? Lxy) as Dxm;
-  lapply (le_to_eqm ??? Lyz) as Dym;
-  lapply (le_to_eqj ??? Lxy) as Dxj;
-  lapply (le_to_eqj ??? Lyz) as Dyj; clear Lxy Lyz;
-  apply (eq_trans ?? (δ(x∧y) y + δy z)); [apply feq_plusr; apply (meq_l ????? Dxm);]
-  apply (eq_trans ?? (δ(x∧y) (y∧z) + δy z)); [apply feq_plusr; apply (meq_r ????? Dym);]
-  apply (eq_trans ?? (δ(x∧y) (y∧z) + δ(x∨y) z)); [apply feq_plusl; apply (meq_l ????? Dxj);]
-  apply (eq_trans ?? (δ(x∧y) (y∧z) + δ(x∨y) (y∨z))); [apply feq_plusl; apply (meq_r ????? Dyj);]
-  apply (eq_trans ?? ? ? (plus_comm ???));
-  apply (eq_trans ?? (δ(y∨x) (y∨z)+ δ(x∧y) (y∧z))); [apply feq_plusr; apply (meq_l ????? (join_comm ???));]
-  apply feq_plusl;
-  apply (eq_trans ?? (δ(y∧x) (y∧z))); [apply (meq_l ????? (meet_comm ???));]
-  apply eq_reflexive;   
+cut ( δx y+ δy z ≈ δ(y∨x) (y∨z)+ δ(y∧x) (y∧z)); [
+  apply (le_rewr ??? (δx y+ δy z)); [assumption] apply le_reflexive]
+lapply (le_to_eqm ??? Lxy) as Dxm; lapply (le_to_eqm ??? Lyz) as Dym;
+lapply (le_to_eqj ??? Lxy) as Dxj; lapply (le_to_eqj ??? Lyz) as Dyj; clear Lxy Lyz;
+apply (Eq≈ (δ(x∧y) y + δy z)); [apply feq_plusr; apply (meq_l ????? Dxm);]
+apply (Eq≈ (δ(x∧y) (y∧z) + δy z)); [apply feq_plusr; apply (meq_r ????? Dym);]
+apply (Eq≈ (δ(x∧y) (y∧z) + δ(x∨y) z)); [apply feq_plusl; apply (meq_l ????? Dxj);]
+apply (Eq≈ (δ(x∧y) (y∧z) + δ(x∨y) (y∨z))); [apply feq_plusl; apply (meq_r ????? Dyj);]
+apply (Eq≈ ? (plus_comm ???));
+apply (Eq≈ (δ(y∨x) (y∨z)+ δ(x∧y) (y∧z))); [apply feq_plusr; apply (meq_l ????? (join_comm ???));]
+apply feq_plusl;
+apply (Eq≈ (δ(y∧x) (y∧z))); [apply (meq_l ????? (meet_comm ???));]
+apply eq_reflexive;   
 qed.  
 
-
-
+(* 3.17 conclusione: δ x y ≈ 0 *)
+(* 3.20 conclusione: δ x y ≈ 0 *)
+(* 3.21 sup forte
+   strong_sup x ≝ ∀n. s n ≤ x ∧ ∀y x ≰ y → ∃n. s n ≰ y
+   strong_sup_zoli x ≝  ∀n. s n ≤ x ∧ ∄y. y#x ∧ y ≤ x
+*)
+(* 3.22 sup debole (più piccolo dei maggioranti) *)
+(* 3.23 conclusion: δ x sup(...) ≈ 0 *)
+(* 3.25 vero nel reticolo e basta (niente δ) *)
+(* 3.36 conclusion: δ x y ≈ 0 *)
\ No newline at end of file
index 5b0f0aa9b6c0c386b1c06ed3cb9184d1a6aeb320..d2f96fb5c7c03faf6fdb1b76774fd49dd8c86c14 100644 (file)
@@ -37,18 +37,6 @@ record ogroup : Type ≝ {
   exc_canc_plusr: ∀f,g,h:og_carr. f+h ≰ g+h → f ≰ g
 }.
 
-notation > "'Ex'≪" non associative with precedence 50 for
- @{'excedencerewritel}.
-interpretation "exc_rewl" 'excedencerewritel = 
- (cic:/matita/excedence/exc_rewl.con _ _ _).
-
-notation > "'Ex'≫" non associative with precedence 50 for
- @{'excedencerewriter}.
-interpretation "exc_rewr" 'excedencerewriter = 
- (cic:/matita/excedence/exc_rewr.con _ _ _).
-
 lemma fexc_plusr: 
   ∀G:ogroup.∀x,y,z:G. x ≰ y → x+z ≰ y + z.
 intros 5 (G x y z L); apply (exc_canc_plusr ??? (-z));
@@ -196,6 +184,5 @@ apply (le_rewr ??? b (zero_neutral ??));
 assumption;
 qed.
 
-
   
   
\ No newline at end of file
index 39105c0fdcda00942fe3131a749924955edd5a15..5dbaf51ec9d25e6a80ca758389731e84657e1219 100644 (file)
@@ -50,27 +50,27 @@ lemma feq_joinr: ∀R.∀L:wlattice R.∀x,y,z:L.
   μ x ≈ μ y → μ (z ∧ x) ≈ μ (z ∧ y) → μ (z ∨ x) ≈ μ (z ∨ y).
 intros (R L x y z H H1);
 apply (plus_cancr ??? (μ(z∧x)));
-apply (eq_trans ?? (μz + μx) ? (modular_mjp ????));
-apply (eq_trans ?? (μz + μy) ? H); clear H;
-apply (eq_trans ?? (μ(z∨y) + μ(z∧y)) ? (modular_mjp ??z y));
+apply (Eq≈ (μz + μx) (modular_mjp ????));
+apply (Eq≈ (μz + μy) H); clear H;
+apply (Eq≈ (μ(z∨y) + μ(z∧y)) (modular_mjp ??z y));
 apply (plus_cancl ??? (- μ (z ∨ y)));
-apply (eq_trans ?? ? ? (plus_assoc ????));
-apply (eq_trans ?? (0+ μ(z∧y)) ? (opp_inverse ??));
-apply (eq_trans ?? ? ? (zero_neutral ??));
-apply (eq_trans ?? (- μ(z∨y)+ μ(z∨y)+ μ(z∧x)) ?? (plus_assoc ????));
-apply (eq_trans ?? (0+ μ(z∧x)) ?? (opp_inverse ??)); 
-apply (eq_trans ?? (μ (z ∧ x)) ?H1 (zero_neutral ??));
+apply (Eq≈ ? (plus_assoc ????));
+apply (Eq≈ (0+ μ(z∧y)) (opp_inverse ??));
+apply (Eq≈ ? (zero_neutral ??));
+apply (Eq≈ (- μ(z∨y)+ μ(z∨y)+ μ(z∧x)) ? (plus_assoc ????));
+apply (Eq≈ (0+ μ(z∧x)) ? (opp_inverse ??)); 
+apply (Eq≈ (μ (z ∧ x)) H1 (zero_neutral ??));
 qed.
 
 lemma modularj: ∀R.∀L:wlattice R.∀y,z:L. μ(y∨z) ≈ μy + μz + -μ (y ∧ z).
 intros (R L y z);
 lapply (modular_mjp ?? y z) as H1;
 apply (plus_cancr ??? (μ(y ∧ z)));
-apply (eq_trans ?? ? ? H1); clear H1;
-apply (eq_trans ?? ? ?? (plus_assoc ????));   
-apply (eq_trans ?? (μy+ μz + 0) ?? (opp_inverse ??));   
-apply (eq_trans ?? ? ?? (plus_comm ???));
-apply (eq_trans ?? (μy + μz) ?? (eq_sym ??? (zero_neutral ??)));
+apply (Eq≈ ? H1); clear H1;
+apply (Eq≈ ?? (plus_assoc ????));   
+apply (Eq≈ (μy+ μz + 0) ? (opp_inverse ??));   
+apply (Eq≈ ?? (plus_comm ???));
+apply (Eq≈ (μy + μz) ? (eq_sym ??? (zero_neutral ??)));
 apply eq_reflexive.
 qed.
 
@@ -80,63 +80,63 @@ lemma modularm: ∀R.∀L:wlattice R.∀y,z:L. μ(y∧z) ≈ μy + μz + -μ (y
 intros (R L y z);
 lapply (modular_mjp ?? y z) as H1;
 apply (plus_cancl ??? (μ(y ∨ z)));
-apply (eq_trans ?? ? ? H1); clear H1;
-apply (eq_trans ????? (plus_comm ???));
-apply (eq_trans ?? ? ?? (plus_assoc ????));    
-apply (eq_trans ?? (μy+ μz + 0) ?? (opp_inverse ??));   
-apply (eq_trans ?? ? ?? (plus_comm ???));
-apply (eq_trans ?? (μy + μz) ?? (eq_sym ??? (zero_neutral ??)));
+apply (Eq≈ ? H1); clear H1;
+apply (Eq≈ ?? (plus_comm ???));
+apply (Eq≈ ?? (plus_assoc ????));    
+apply (Eq≈ (μy+ μz + 0) ? (opp_inverse ??));   
+apply (Eq≈ ?? (plus_comm ???));
+apply (Eq≈ (μy + μz) ? (eq_sym ??? (zero_neutral ??)));
 apply eq_reflexive.
 qed.
 
 lemma modularmj: ∀R.∀L:wlattice R.∀x,y,z:L.μ(x∧(y∨z))≈(μx + μ(y ∨ z) + - μ(x∨(y∨z))).
 intros (R L x y z);
 lapply (modular_mjp ?? x (y ∨ z)) as H1;
-apply (eq_trans ?? (μ(x∨(y∨z))+ μ(x∧(y∨z)) +-μ(x∨(y∨z))) ?? (feq_plusr ???? H1)); clear H1;
-apply (eq_trans ?? ? ?? (plus_comm ???));
-apply (eq_trans ?? (- μ(x∨(y∨z))+ μ(x∨(y∨z))+ μ(x∧(y∨z))) ?? (plus_assoc ????));
-apply (eq_trans ?? (0+μ(x∧(y∨z))) ?? (opp_inverse ??));
-apply (eq_trans ?? (μ(x∧(y∨z))) ?? (zero_neutral ??));
+apply (Eq≈ (μ(x∨(y∨z))+ μ(x∧(y∨z)) +-μ(x∨(y∨z))) ? (feq_plusr ???? H1)); clear H1;
+apply (Eq≈ ? ? (plus_comm ???));
+apply (Eq≈ (- μ(x∨(y∨z))+ μ(x∨(y∨z))+ μ(x∧(y∨z))) ? (plus_assoc ????));
+apply (Eq≈ (0+μ(x∧(y∨z))) ? (opp_inverse ??));
+apply (Eq≈ (μ(x∧(y∨z))) ? (zero_neutral ??));
 apply eq_reflexive.
 qed.
 
 lemma modularjm: ∀R.∀L:wlattice R.∀x,y,z:L.μ(x∨(y∧z))≈(μx + μ(y ∧ z) + - μ(x∧(y∧z))).
 intros (R L x y z);
 lapply (modular_mjp ?? x (y ∧ z)) as H1;
-apply (eq_trans ?? (μ(x∧(y∧z))+ μ(x∨(y∧z)) +-μ(x∧(y∧z)))); [2: apply feq_plusr; apply (eq_trans ???? (plus_comm ???)); apply H1] clear H1;
-apply (eq_trans ?? ? ?? (plus_comm ???));
-apply (eq_trans ?? (- μ(x∧(y∧z))+ μ(x∧(y∧z))+ μ(x∨y∧z)) ?? (plus_assoc ????));
-apply (eq_trans ?? (0+ μ(x∨y∧z)) ?? (opp_inverse ??));
+apply (Eq≈ (μ(x∧(y∧z))+ μ(x∨(y∧z)) +-μ(x∧(y∧z)))); [2: apply feq_plusr; apply (eq_trans ???? (plus_comm ???)); apply H1] clear H1;
+apply (Eq≈ ? ? (plus_comm ???));
+apply (Eq≈ (- μ(x∧(y∧z))+ μ(x∧(y∧z))+ μ(x∨y∧z)) ? (plus_assoc ????));
+apply (Eq≈ (0+ μ(x∨y∧z)) ? (opp_inverse ??));
 apply eq_sym; apply zero_neutral;
 qed.
 
 lemma step1_3_57': ∀R.∀L:wlattice R.∀x,y,z:L.
   μ(x ∨ (y ∧ z)) ≈ (μ x) + (μ y) + μ z + -μ (y ∨ z) + -μ (z ∧ (x ∧ y)).
 intros (R L x y z);
-apply (eq_trans ?? ? ? (modularjm ?? x y z));
-apply (eq_trans ?? ( μx+ (μy+ μz+- μ(y∨z)) +- μ(x∧(y∧z))) ?); [
+apply (Eq≈ ? (modularjm ?? x y z));
+apply (Eq≈ ( μx+ (μy+ μz+- μ(y∨z)) +- μ(x∧(y∧z)))); [
   apply feq_plusr; apply feq_plusl; apply (modularm ?? y z);]
-apply (eq_trans ?? (μx+ μy+ μz+- μ(y∨z)+- μ(x∧(y∧z)))); [2:
+apply (Eq≈ (μx+ μy+ μz+- μ(y∨z)+- μ(x∧(y∧z)))); [2:
   apply feq_plusl; apply feq_opp;
-  apply (eq_trans ?? ? ? (meet_assoc ?????));
-  apply (eq_trans ?? ? ? (meet_comm ????));
+  apply (Eq≈ ? (meet_assoc ?????));
+  apply (Eq≈ ? (meet_comm ????));
   apply eq_reflexive;]
-apply feq_plusr; apply (eq_trans ?? ? ? (plus_assoc ????));
+apply feq_plusr; apply (Eq≈ ? (plus_assoc ????));
 apply feq_plusr; apply plus_assoc;
 qed.
 
 lemma step1_3_57: ∀R.∀L:wlattice R.∀x,y,z:L.
   μ(x ∧ (y ∨ z)) ≈ (μ x) + (μ y) + μ z + -μ (y ∧ z) + -μ (z ∨ (x ∨ y)).
 intros (R L x y z);
-apply (eq_trans ?? ? ? (modularmj ?? x y z));
-apply (eq_trans ?? ( μx+ (μy+ μz+- μ(y∧z)) +- μ(x∨(y∨z))) ?); [
+apply (Eq≈ ? (modularmj ?? x y z));
+apply (Eq≈ ( μx+ (μy+ μz+- μ(y∧z)) +- μ(x∨(y∨z)))); [
   apply feq_plusr; apply feq_plusl; apply (modularj ?? y z);]
-apply (eq_trans ?? (μx+ μy+ μz+- μ(y∧z)+- μ(x∨(y∨z)))); [2:
+apply (Eq≈ (μx+ μy+ μz+- μ(y∧z)+- μ(x∨(y∨z)))); [2:
   apply feq_plusl; apply feq_opp;
-  apply (eq_trans ?? ? ? (join_assoc ?????));
-  apply (eq_trans ?? ? ? (join_comm ????));
+  apply (Eq≈ ? (join_assoc ?????));
+  apply (Eq≈ ? (join_comm ????));
   apply eq_reflexive;]
-apply feq_plusr; apply (eq_trans ?? ? ? (plus_assoc ????));
+apply feq_plusr; apply (Eq≈ ? (plus_assoc ????));
 apply feq_plusr; apply plus_assoc;
 qed.
 
@@ -150,11 +150,11 @@ apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+ -μ(z∧x∧y))); [
 apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+ (- ( μ(z∧x)+ μy+- μ((z∧x)∨y))))); [
   apply feq_plusl; apply feq_opp; apply eq_sym; apply modularm]
 apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+ (- μ(z∧x)+ -μy+-- μ((z∧x)∨y)))); [
-  apply feq_plusl; apply (eq_trans ?? (- (μ(z∧x)+ μy) + -- μ((z∧x)∨y))); [
+  apply feq_plusl; apply (Eq≈ (- (μ(z∧x)+ μy) + -- μ((z∧x)∨y))); [
     apply feq_plusr; apply eq_sym; apply eq_opp_plus_plus_opp_opp;]
   apply eq_sym; apply eq_opp_plus_plus_opp_opp;]
 apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+(- μ(z∧x)+- μy+ μ(y∨(z∧x))))); [
-  repeat apply feq_plusl; apply eq_sym; apply (eq_trans ?? (μ((z∧x)∨y)) ? (eq_opp_opp_x_x ??));
+  repeat apply feq_plusl; apply eq_sym; apply (Eq≈ (μ((z∧x)∨y)) (eq_opp_opp_x_x ??));
   apply join_comm;]
 apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+(- μ(z∧x)+- μy)+ μ(y∨(z∧x)))); [
   apply eq_sym; apply plus_assoc;]
@@ -164,11 +164,11 @@ apply (le_rewl ??? (μx+ μy+ μz+- μ(y∨z)+- μy + - μ(z∧x)+ μ(y∨
   repeat apply feq_plusr; apply eq_sym; apply plus_assoc;]
 apply (le_rewl ??? (μx+ μy+ μz+- μy + - μ(y∨z)+- μ(z∧x)+ μ(y∨(z∧x)))); [
   repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));
-  apply (eq_trans ?? ( μx+ μy+ μz+(- μy+- μ(y∨z))) ? (eq_sym ??? (plus_assoc ????)));
+  apply (Eq≈ ( μx+ μy+ μz+(- μy+- μ(y∨z))) (eq_sym ??? (plus_assoc ????)));
   apply feq_plusl; apply plus_comm;]
 apply (le_rewl ??? (μx+ μy+ -μy+ μz + - μ(y∨z)+- μ(z∧x)+ μ(y∨(z∧x)))); [
   repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));
-  apply (eq_trans ?? (μx+ μy+( -μy+ μz)) ? (eq_sym ??? (plus_assoc ????)));
+  apply (Eq≈ (μx+ μy+( -μy+ μz)) (eq_sym ??? (plus_assoc ????)));
   apply feq_plusl; apply plus_comm;]
 apply (le_rewl ??? (μx+ 0 + μz + - μ(y∨z)+- μ(z∧x)+ μ(y∨(z∧x)))); [
   repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));
@@ -200,11 +200,11 @@ apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+ -μ(z∨x∨y))); [
 apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+ (- ( μ(z∨x)+ μy+- μ((z∨x)∧y))))); [
   apply feq_plusl; apply feq_opp; apply eq_sym; apply modularj]
 apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+ (- μ(z∨x)+ -μy+-- μ((z∨x)∧y)))); [
-  apply feq_plusl; apply (eq_trans ?? (- (μ(z∨x)+ μy) + -- μ((z∨x)∧y))); [
+  apply feq_plusl; apply (Eq≈ (- (μ(z∨x)+ μy) + -- μ((z∨x)∧y))); [
     apply feq_plusr; apply eq_sym; apply eq_opp_plus_plus_opp_opp;]
   apply eq_sym; apply eq_opp_plus_plus_opp_opp;]
 apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+(- μ(z∨x)+- μy+ μ(y∧(z∨x))))); [
-  repeat apply feq_plusl; apply eq_sym; apply (eq_trans ?? (μ((z∨x)∧y)) ? (eq_opp_opp_x_x ??));
+  repeat apply feq_plusl; apply eq_sym; apply (Eq≈ (μ((z∨x)∧y)) (eq_opp_opp_x_x ??));
   apply meet_comm;]
 apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+(- μ(z∨x)+- μy)+ μ(y∧(z∨x)))); [
   apply eq_sym; apply plus_assoc;]
@@ -214,11 +214,11 @@ apply (le_rewr ??? (μx+ μy+ μz+- μ(y∧z)+- μy + - μ(z∨x)+ μ(y∧
   repeat apply feq_plusr; apply eq_sym; apply plus_assoc;]
 apply (le_rewr ??? (μx+ μy+ μz+- μy + - μ(y∧z)+- μ(z∨x)+ μ(y∧(z∨x)))); [
   repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));
-  apply (eq_trans ?? ( μx+ μy+ μz+(- μy+- μ(y∧z))) ? (eq_sym ??? (plus_assoc ????)));
+  apply (Eq≈ ( μx+ μy+ μz+(- μy+- μ(y∧z)))  (eq_sym ??? (plus_assoc ????)));
   apply feq_plusl; apply plus_comm;]
 apply (le_rewr ??? (μx+ μy+ -μy+ μz + - μ(y∧z)+- μ(z∨x)+ μ(y∧(z∨x)))); [
-  repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));
-  apply (eq_trans ?? (μx+ μy+( -μy+ μz)) ? (eq_sym ??? (plus_assoc ????)));
+  repeat apply feq_plusr; apply (Eq≈ ?? (plus_assoc ????));
+  apply (Eq≈ (μx+ μy+( -μy+ μz)) (eq_sym ??? (plus_assoc ????)));
   apply feq_plusl; apply plus_comm;]
 apply (le_rewr ??? (μx+ 0 + μz + - μ(y∧z)+- μ(z∨x)+ μ(y∧(z∨x)))); [
   repeat apply feq_plusr; apply (eq_trans ?? ? ?? (plus_assoc ????));