]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/Basic_2/unfold/tpss_tpss.ma
support for abstract candidates of reducibility closed! ...
[helm.git] / matita / matita / contribs / lambda_delta / Basic_2 / unfold / tpss_tpss.ma
index fc340e1ad94e9ace7f58657232933ce12390c451..981402a245ee27f3b1b242bb9f048e406af6f78c 100644 (file)
@@ -19,75 +19,75 @@ include "Basic_2/unfold/tpss_lift.ma".
 
 (* Advanced properties ******************************************************)
 
-lemma tpss_tps: â\88\80L,T1,T2,d. L â\8a¢ T1 [d, 1] â\89«* T2 â\86\92 L â\8a¢ T1 [d, 1] â\89« T2.
+lemma tpss_tps: â\88\80L,T1,T2,d. L â\8a¢ T1 [d, 1] â\96¶* T2 â\86\92 L â\8a¢ T1 [d, 1] â\96 T2.
 #L #T1 #T2 #d #H @(tpss_ind … H) -T2 //
 #T #T2 #_ #HT2 #IHT1
 lapply (tps_trans_ge … IHT1 … HT2 ?) //
 qed.
 
-lemma tpss_strip_eq: â\88\80L,T0,T1,d1,e1. L â\8a¢ T0 [d1, e1] â\89«* T1 →
-                     â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\89« T2 →
-                     â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\89« T & L â\8a¢ T2 [d1, e1] â\89«* T.
+lemma tpss_strip_eq: â\88\80L,T0,T1,d1,e1. L â\8a¢ T0 [d1, e1] â\96* T1 →
+                     â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\96 T2 →
+                     â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\96¶ T & L â\8a¢ T2 [d1, e1] â\96* T.
 /3 width=3/ qed.
 
-lemma tpss_strip_neq: â\88\80L1,T0,T1,d1,e1. L1 â\8a¢ T0 [d1, e1] â\89«* T1 →
-                      â\88\80L2,T2,d2,e2. L2 â\8a¢ T0 [d2, e2] â\89« T2 →
+lemma tpss_strip_neq: â\88\80L1,T0,T1,d1,e1. L1 â\8a¢ T0 [d1, e1] â\96* T1 →
+                      â\88\80L2,T2,d2,e2. L2 â\8a¢ T0 [d2, e2] â\96 T2 →
                       (d1 + e1 ≤ d2 ∨ d2 + e2 ≤ d1) →
-                      â\88\83â\88\83T. L2 â\8a¢ T1 [d2, e2] â\89« T & L1 â\8a¢ T2 [d1, e1] â\89«* T.
+                      â\88\83â\88\83T. L2 â\8a¢ T1 [d2, e2] â\96¶ T & L1 â\8a¢ T2 [d1, e1] â\96* T.
 /3 width=3/ qed.
 
-lemma tpss_strap1_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\89«* T0 →
-                        â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\89« T2 → d2 + e2 ≤ d1 →
-                        â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\89« T & L â\8a¢ T [d1, e1] â\89«* T2.
+lemma tpss_strap1_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\96* T0 →
+                        â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\96 T2 → d2 + e2 ≤ d1 →
+                        â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\96¶ T & L â\8a¢ T [d1, e1] â\96* T2.
 /3 width=3/ qed.
 
-lemma tpss_strap2_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\89« T0 →
-                        â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\89«* T2 → d2 + e2 ≤ d1 →
-                        â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\89«* T & L â\8a¢ T [d1, e1] â\89« T2.
+lemma tpss_strap2_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\96 T0 →
+                        â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\96* T2 → d2 + e2 ≤ d1 →
+                        â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\96¶* T & L â\8a¢ T [d1, e1] â\96 T2.
 /3 width=3/ qed.
 
-lemma tpss_split_up: â\88\80L,T1,T2,d,e. L â\8a¢ T1 [d, e] â\89«* T2 →
+lemma tpss_split_up: â\88\80L,T1,T2,d,e. L â\8a¢ T1 [d, e] â\96* T2 →
                      ∀i. d ≤ i → i ≤ d + e →
-                     â\88\83â\88\83T. L â\8a¢ T1 [d, i - d] â\89«* T & L â\8a¢ T [i, d + e - i] â\89«* T2.
+                     â\88\83â\88\83T. L â\8a¢ T1 [d, i - d] â\96¶* T & L â\8a¢ T [i, d + e - i] â\96* T2.
 #L #T1 #T2 #d #e #H #i #Hdi #Hide @(tpss_ind … H) -T2
 [ /2 width=3/
 | #T #T2 #_ #HT12 * #T3 #HT13 #HT3
   elim (tps_split_up … HT12 … Hdi Hide) -HT12 -Hide #T0 #HT0 #HT02
-  elim (tpss_strap1_down … HT3 … HT0 ?) -T [2: <plus_minus_m_m_comm // ]
+  elim (tpss_strap1_down … HT3 … HT0 ?) -T [2: >commutative_plus /2 width=1/ ]
   /3 width=7 by ex2_1_intro, step/ (**) (* just /3 width=7/ is too slow *)
 ]
 qed.
 
-lemma tpss_inv_lift1_up: â\88\80L,U1,U2,dt,et. L â\8a¢ U1 [dt, et] â\89«* U2 →
-                         â\88\80K,d,e. â\86\93[d, e] L â\89¡ K â\86\92 â\88\80T1. â\86\91[d, e] T1 ≡ U1 →
+lemma tpss_inv_lift1_up: â\88\80L,U1,U2,dt,et. L â\8a¢ U1 [dt, et] â\96* U2 →
+                         â\88\80K,d,e. â\87©[d, e] L â\89¡ K â\86\92 â\88\80T1. â\87§[d, e] T1 ≡ U1 →
                          d ≤ dt → dt ≤ d + e → d + e ≤ dt + et →
-                         â\88\83â\88\83T2. K â\8a¢ T1 [d, dt + et - (d + e)] â\89«* T2 & â\86\91[d, e] T2 ≡ U2.
+                         â\88\83â\88\83T2. K â\8a¢ T1 [d, dt + et - (d + e)] â\96¶* T2 & â\87§[d, e] T2 ≡ U2.
 #L #U1 #U2 #dt #et #HU12 #K #d #e #HLK #T1 #HTU1 #Hddt #Hdtde #Hdedet
 elim (tpss_split_up … HU12 (d + e) ? ?) -HU12 // -Hdedet #U #HU1 #HU2
-lapply (tpss_weak … HU1 d e ? ?) -HU1 // <plus_minus_m_m_comm // -Hddt -Hdtde #HU1
+lapply (tpss_weak … HU1 d e ? ?) -HU1 // [ >commutative_plus /2 width=1/ ] -Hddt -Hdtde #HU1
 lapply (tpss_inv_lift1_eq … HU1 … HTU1) -HU1 #HU1 destruct
 elim (tpss_inv_lift1_ge … HU2 … HLK … HTU1 ?) -HU2 -HLK -HTU1 // <minus_plus_m_m /2 width=3/
 qed.
 
 (* Main properties **********************************************************)
 
-theorem tpss_conf_eq: â\88\80L,T0,T1,d1,e1. L â\8a¢ T0 [d1, e1] â\89«* T1 →
-                      â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\89«* T2 →
-                      â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\89«* T & L â\8a¢ T2 [d1, e1] â\89«* T.
+theorem tpss_conf_eq: â\88\80L,T0,T1,d1,e1. L â\8a¢ T0 [d1, e1] â\96* T1 →
+                      â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\96* T2 →
+                      â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\96¶* T & L â\8a¢ T2 [d1, e1] â\96* T.
 /3 width=3/ qed.
 
-theorem tpss_conf_neq: â\88\80L1,T0,T1,d1,e1. L1 â\8a¢ T0 [d1, e1] â\89«* T1 →
-                       â\88\80L2,T2,d2,e2. L2 â\8a¢ T0 [d2, e2] â\89«* T2 →
+theorem tpss_conf_neq: â\88\80L1,T0,T1,d1,e1. L1 â\8a¢ T0 [d1, e1] â\96* T1 →
+                       â\88\80L2,T2,d2,e2. L2 â\8a¢ T0 [d2, e2] â\96* T2 →
                        (d1 + e1 ≤ d2 ∨ d2 + e2 ≤ d1) →
-                       â\88\83â\88\83T. L2 â\8a¢ T1 [d2, e2] â\89«* T & L1 â\8a¢ T2 [d1, e1] â\89«* T.
+                       â\88\83â\88\83T. L2 â\8a¢ T1 [d2, e2] â\96¶* T & L1 â\8a¢ T2 [d1, e1] â\96* T.
 /3 width=3/ qed.
 
 theorem tpss_trans_eq: ∀L,T1,T,T2,d,e.
-                       L â\8a¢ T1 [d, e] â\89«* T â\86\92 L â\8a¢ T [d, e] â\89«* T2 →
-                       L â\8a¢ T1 [d, e] â\89«* T2. 
+                       L â\8a¢ T1 [d, e] â\96¶* T â\86\92 L â\8a¢ T [d, e] â\96* T2 →
+                       L â\8a¢ T1 [d, e] â\96* T2. 
 /2 width=3/ qed.
 
-theorem tpss_trans_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\89«* T0 →
-                         â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\89«* T2 → d2 + e2 ≤ d1 →
-                         â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\89«* T & L â\8a¢ T [d1, e1] â\89«* T2.
+theorem tpss_trans_down: â\88\80L,T1,T0,d1,e1. L â\8a¢ T1 [d1, e1] â\96* T0 →
+                         â\88\80T2,d2,e2. L â\8a¢ T0 [d2, e2] â\96* T2 → d2 + e2 ≤ d1 →
+                         â\88\83â\88\83T. L â\8a¢ T1 [d2, e2] â\96¶* T & L â\8a¢ T [d1, e1] â\96* T2.
 /3 width=3/ qed.