]> matita.cs.unibo.it Git - helm.git/commitdiff
- notational change for cpg and cpx
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 22 May 2016 11:28:36 +0000 (11:28 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 22 May 2016 11:28:36 +0000 (11:28 +0000)
- versions table updated on site

38 files changed:
helm/www/lambdadelta/BTM.html
helm/www/lambdadelta/apps_2.html
helm/www/lambdadelta/basic_1.html
helm/www/lambdadelta/basic_2.html
helm/www/lambdadelta/documentation.html
helm/www/lambdadelta/ground_1.html
helm/www/lambdadelta/ground_2.html
helm/www/lambdadelta/implementation.html
helm/www/lambdadelta/index.html
helm/www/lambdadelta/news.html
helm/www/lambdadelta/specification.html
helm/www/lambdadelta/web/home/versions.tbl
matita/matita/contribs/lambdadelta/basic_2/notation/relations/pred_6.ma [deleted file]
matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_5.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_6.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxe.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_aaa.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_cpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lift.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lleq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_tsts.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_tsts_vector.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpg.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpg_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpg_simple.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_fqus.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_lleq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_llpx_sn.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_lreq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_lsubr.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_simple.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt [new file with mode: 0644]
matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl
matita/matita/contribs/lambdadelta/replace.sh
matita/matita/predefined_virtuals.ml

index 0ef28910c47ec3b950a9400a01d3513ede1d62d8..34a4afa3e487257cfc0f8bca7fc075ddcb1eeb2e 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index d3a930ba1296b6345c7a1b90697eb1b96a3ae99c..47d3e3188542c30dc144c9724e05aa47118ca12e 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 0b508490b24c7421f751780719b5536542f9b745..2a0caeec082b33c7eae994750b8a2f5712f9c814 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 5f68c09358f965d15084c16787fe843385c94759..a508821994bb938e8e574fcb9bedba552c037c78 100644 (file)
           <tr>
             <td class="snns capitalize italic cyan">sizes</td>
             <td class="snns italic cyan">files</td>
-            <td class="snnn right italic cyan">143</td>
+            <td class="snnn right italic cyan">133</td>
             <td class="snns italic cyan">characters</td>
-            <td class="snnn right italic cyan">116151</td>
+            <td class="snnn right italic cyan">92667</td>
             <td class="snns italic cyan">nodes</td>
-            <td class="ssnn right italic cyan">604153</td>
+            <td class="ssnn right italic cyan">334596</td>
           </tr>
           <tr>
             <td class="snns capitalize italic green">propositions</td>
             <td class="snns italic green">theorems</td>
-            <td class="snnn right italic green">45</td>
+            <td class="snnn right italic green">44</td>
             <td class="snns italic green">lemmas</td>
-            <td class="snnn right italic green">428</td>
+            <td class="snnn right italic green">369</td>
             <td class="snns italic green">total</td>
-            <td class="ssnn right italic green">473</td>
+            <td class="ssnn right italic green">413</td>
           </tr>
           <tr>
             <td class="snss capitalize italic yellow">concepts</td>
             <td class="snss italic yellow">declared</td>
-            <td class="snsn right italic yellow">23</td>
+            <td class="snsn right italic yellow">22</td>
             <td class="snss italic yellow">defined</td>
-            <td class="snsn right italic yellow">33</td>
+            <td class="snsn right italic yellow">32</td>
             <td class="snss italic yellow">total</td>
-            <td class="sssn right italic yellow">56</td>
+            <td class="sssn right italic yellow">54</td>
           </tr>
         </tbody>
       </table>
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 92b0a113afbe906138800bed19b6c46871a4bb09..6b1211cc0c209614bfd44e67c3cffb2e49a4b2b3 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:38 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 8f3f5c5fa8094ecdd3ca5f609086c8f4d29c25e8..a97822a7f83a291481ed65f9614e243fd61e3e16 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index bb02948198fcc45300fd42b197368b3a4e26026d..e5d2f0e37d0e2cc9fc68d9865354b469e69b9d43 100644 (file)
             <td class="snns italic cyan">files</td>
             <td class="snnn right italic cyan">86</td>
             <td class="snns italic cyan">characters</td>
-            <td class="snnn right italic cyan">109249</td>
+            <td class="snnn right italic cyan">98269</td>
             <td class="snns italic cyan">nodes</td>
-            <td class="ssnn right italic cyan">217872</td>
+            <td class="ssnn right italic cyan">207871</td>
           </tr>
           <tr>
             <td class="snns capitalize italic green">propositions</td>
             <td class="snns italic green">theorems</td>
-            <td class="snnn right italic green">30</td>
+            <td class="snnn right italic green">23</td>
             <td class="snns italic green">lemmas</td>
-            <td class="snnn right italic green">506</td>
+            <td class="snnn right italic green">497</td>
             <td class="snns italic green">total</td>
-            <td class="ssnn right italic green">536</td>
+            <td class="ssnn right italic green">520</td>
           </tr>
           <tr>
             <td class="snss capitalize italic yellow">concepts</td>
             <td class="snss italic yellow">declared</td>
-            <td class="snsn right italic yellow">59</td>
-            <td class="snss italic yellow">defined</td>
             <td class="snsn right italic yellow">55</td>
+            <td class="snss italic yellow">defined</td>
+            <td class="snsn right italic yellow">57</td>
             <td class="snss italic yellow">total</td>
-            <td class="sssn right italic yellow">114</td>
+            <td class="sssn right italic yellow">112</td>
           </tr>
         </tbody>
       </table>
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 868f3447784b6d7f996af6cd7d166b2326b4e3aa..99992380f6423b6cd2abd2c702967b2ead66972d 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:38 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 93c9c5e9da7716ecf247cab4acd42bf43bf070a1..c6a88f0209c5eba13d0a21bd35bfda99688cea6f 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:38 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 25794154e96c603b7d92dc65965e41efd948a2ad..f53e744410dc79d93a9430cd574bcd20ae32f9dd 100644 (file)
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:37 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 9c941d31c3913dc2388a159898f2c63eec24aa45..f1c9fb06e51b87920ee767e926e07773f56daf11 100644 (file)
           <tr>
             <td class="snns top capitalize italic gray">version</td>
             <td class="snnn top capitalize italic gray">name</td>
-            <td class="snnn top capitalize italic gray">developed with</td>
             <td class="snnn top capitalize italic gray">stage</td>
+            <td class="snnn top capitalize italic gray">developed with</td>
             <td class="snnn top capitalize italic gray">started</td>
             <td class="snnn top capitalize italic gray">announced</td>
             <td class="snnn top capitalize italic gray">released</td>
               <a href="http://lambdadelta.info/specification.html#v2">Version 2</a>
             </td>
             <td class="snnn top orange">"basic_2"</td>
+            <td class="snns top orange">"A2"</td>
             <td class="snnn top orange">
-              <a href="http://matita.cs.unibo.it/">Matita 0.99.2</a>
+              <a href="http://matita.cs.unibo.it/">Matita 0.99.3</a>
             </td>
-            <td class="snns top orange">"A2"</td>
             <td class="snnn top orange">October 2015</td>
             <td class="snnn top orange" />
             <td class="snnn top orange" />
             <td class="snnn top orange" />
-            <td class="ssnn top orange">
-              <br />
-            </td>
+            <td class="ssnn top orange" />
           </tr>
           <tr>
             <td class="nnns top orange">
             <td class="nnnn top orange">
               <br />
             </td>
-            <td class="nnnn top orange">
-              <br />
-            </td>
             <td class="snns top orange">"A1"</td>
+            <td class="snnn top orange">
+              <a href="http://matita.cs.unibo.it/">Matita 0.99.2</a>
+            </td>
             <td class="snnn top orange">April 2011</td>
             <td class="snnn top orange">June 2014</td>
             <td class="snnn top orange">October 2014</td>
           <tr>
             <td class="snns top orange">Abandoned</td>
             <td class="snnn top orange" />
+            <td class="snnn top orange" />
             <td class="snnn top orange">
               <a href="http://coq.inria.fr/">Coq 7.3.1</a>
             </td>
-            <td class="snnn top orange" />
             <td class="snnn top orange">March 2008</td>
             <td class="snnn top orange" />
             <td class="snnn top orange" />
             <td class="snnn top orange">February 2011</td>
-            <td class="ssnn top orange">
-              <br />
-            </td>
+            <td class="ssnn top orange" />
           </tr>
           <tr>
             <td class="snss top red">
               <a href="http://lambdadelta.info/specification.html#v1">Version 1</a>
             </td>
             <td class="snsn top red">"basic_1"</td>
+            <td class="snsn top red" />
             <td class="snsn top red">
               <a href="http://coq.inria.fr/">Coq 7.3.1</a>
             </td>
-            <td class="snsn top red" />
             <td class="snsn top red">May 2004</td>
             <td class="snsn top red">December 2005</td>
             <td class="snsn top red">November 2006</td>
     <div xmlns:ld="http://lambdadelta.info/" class="spacer">
       <br />
     </div>
-    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sat, 21 May 2016 22:22:39 +0200</div>
+    <div xmlns:ld="http://lambdadelta.info/" class="spacer">Last update: Sun, 22 May 2016 11:12:18 +0200</div>
   </body>
 </html>
index 1d88064b332a74e08312bb0769a170639cc45a55..d89ffd340374e4caf388e45f80463688eaa750dc 100644 (file)
@@ -2,35 +2,41 @@ name "versions"
 
 table {
    class "gray" 
-      [ "version" "name" "developed with"
-        "stage" "started" "announced" "released" "concluded"
+      [ "version" "name"
+        "stage" "developed with"
+        "started" "announced" "released" "concluded"
         "references"
       ]
    class "yellow"
-      [ @@("specification#v3" "Version 3") "\"basic_3\"" ""
-        "" "" "" "" ""
+      [ @@("specification#v3" "Version 3") "\"basic_3\""
+        "" ""
+        "" "" "" ""
         @@("documentation#ldJ3a" "J3a")
       ]
    class "orange" {
       [ { @@("specification#v2" "Version 2") * }
         { "\"basic_2\"" * }
-        { @("http://matita.cs.unibo.it/" "Matita 0.99.2") * }
-        { [ "\"A2\"" "October 2015" "" "" ""
-            *
+        { [ "\"A2\"" @("http://matita.cs.unibo.it/" "Matita 0.99.3")
+            "October 2015" "" "" ""
+            ""  *
           ]
-          [ "\"A1\"" "April 2011" "June 2014" "October 2014" "August 2015" 
-            @@("documentation#ldV2a" "V2a") + " " + @@("documentation#ldR2c" "R2c")
+          [ "\"A1\"" @("http://matita.cs.unibo.it/" "Matita 0.99.2")
+            "April 2011" "June 2014" "October 2014" "August 2015" 
+            @@("documentation#ldV2a" "V2a") + " " + @@("documentation#ldR2c" "R2c") *
           ]
         }
       ]
-      [ "Abandoned" "" @("http://coq.inria.fr/" "Coq 7.3.1")
-        "" "March 2008" "" "" "February 2011" *
+      [ "Abandoned" "" 
+        "" @("http://coq.inria.fr/" "Coq 7.3.1")
+        "March 2008" "" "" "February 2011"
+        ""  *
       ]
    }
    class "red"
-      [ @@("specification#v1" "Version 1") "\"basic_1\"" @("http://coq.inria.fr/" "Coq 7.3.1")
-        "" "May 2004" "December 2005" "November 2006" "May 2008"
-        @@("documentation#ldV1a" "V1a") + " " + @@("documentation#ldJ1a" "J1a")
+      [ @@("specification#v1" "Version 1") "\"basic_1\""
+        "" @("http://coq.inria.fr/" "Coq 7.3.1")
+        "May 2004" "December 2005" "November 2006" "May 2008"
+        @@("documentation#ldV1a" "V1a") + " " + @@("documentation#ldJ1a" "J1a") *
       ]
 }
 
diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation/relations/pred_6.ma b/matita/matita/contribs/lambdadelta/basic_2/notation/relations/pred_6.ma
deleted file mode 100644 (file)
index 8832e1f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||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                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
-
-notation "hvbox( ⦃ term 46 G, break term 46 L ⦄ ⊢ break term 46 T1 ➡ break [ term 46 c , break term 46 h ] break term 46 T2 )"
-   non associative with precedence 45
-   for @{ 'PRed $c $h $G $L $T1 $T2 }.
diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_5.ma b/matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_5.ma
new file mode 100644 (file)
index 0000000..8ffd005
--- /dev/null
@@ -0,0 +1,19 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
+
+notation "hvbox( ⦃ term 46 G, break term 46 L ⦄ ⊢ break term 46 T1 ⬈ break [ term 46 h ] break term 46 T2 )"
+   non associative with precedence 45
+   for @{ 'PRedTy $h $G $L $T1 $T2 }.
diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_6.ma b/matita/matita/contribs/lambdadelta/basic_2/notation/relations/predty_6.ma
new file mode 100644 (file)
index 0000000..096a26e
--- /dev/null
@@ -0,0 +1,19 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
+
+notation "hvbox( ⦃ term 46 G, break term 46 L ⦄ ⊢ break term 46 T1 ⬈ break [ term 46 c , break term 46 h ] break term 46 T2 )"
+   non associative with precedence 45
+   for @{ 'PRedTy $c $h $G $L $T1 $T2 }.
index 00fd04247f90aefe5d1ee428c42c2cbc421e3566..e71eebdc4fc1a4231fd14d594bace8f776b916c6 100644 (file)
@@ -19,14 +19,14 @@ include "basic_2/computation/csx.ma".
 (* EVALUATION FOR CONTEXT-SENSITIVE EXTENDED PARALLEL REDUCTION ON TERMS ****)
 
 definition cpxe: ∀h. sd h → relation4 genv lenv term term ≝
-                 Î»h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\88§ â¦\83G, Lâ¦\84 â\8a¢ â\9e¡[h, o] 𝐍⦃T2⦄.
+                 Î»h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\88§ â¦\83G, Lâ¦\84 â\8a¢ â¬\88[h, o] 𝐍⦃T2⦄.
 
 interpretation "evaluation for context-sensitive extended parallel reduction (term)"
    'PRedEval h o G L T1 T2 = (cpxe h o G L T1 T2).
 
 (* Basic properties *********************************************************)
 
-lemma csx_cpxe: â\88\80h,o,G,L,T1. â¦\83G, Lâ¦\84 â\8a¢ â¬\8a*[h, o] T1 â\86\92 â\88\83T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] 𝐍⦃T2⦄.
+lemma csx_cpxe: â\88\80h,o,G,L,T1. â¦\83G, Lâ¦\84 â\8a¢ â¬\8a*[h, o] T1 â\86\92 â\88\83T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] 𝐍⦃T2⦄.
 #h #o #G #L #T1 #H @(csx_ind … H) -T1
 #T1 #_ #IHT1 elim (cnx_dec h o G L T1) /3 width=3 by ex_intro, conj/
 * #T #H1T1 #H2T1 elim (IHT1 … H1T1 H2T1) -IHT1 -H2T1
index 037113f24082ad5bb7c583564e6161e8365e7a20..d21a9042710095a8e18dc330a738be00764eef94 100644 (file)
@@ -27,45 +27,45 @@ interpretation "extended context-sensitive parallel computation (term)"
 (* Basic eliminators ********************************************************)
 
 lemma cpxs_ind: ∀h,o,G,L,T1. ∀R:predicate term. R T1 →
-                (â\88\80T,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡[h, o] T2 → R T → R T2) →
-                â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 → R T2.
+                (â\88\80T,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T â¬\88[h, o] T2 → R T → R T2) →
+                â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 → R T2.
 #h #o #L #G #T1 #R #HT1 #IHT1 #T2 #HT12
 @(TC_star_ind … HT1 IHT1 … HT12) //
 qed-.
 
 lemma cpxs_ind_dx: ∀h,o,G,L,T2. ∀R:predicate term. R T2 →
-                   (â\88\80T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] T2 → R T → R T1) →
-                   â\88\80T1. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 → R T1.
+                   (â\88\80T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] T2 → R T → R T1) →
+                   â\88\80T1. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 → R T1.
 #h #o #G #L #T2 #R #HT2 #IHT2 #T1 #HT12
 @(TC_star_ind_dx … HT2 IHT2 … HT12) //
 qed-.
 
 (* Basic properties *********************************************************)
 
-lemma cpxs_refl: â\88\80h,o,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] T.
+lemma cpxs_refl: â\88\80h,o,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] T.
 /2 width=1 by inj/ qed.
 
-lemma cpx_cpxs: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma cpx_cpxs: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 /2 width=1 by inj/ qed.
 
-lemma cpxs_strap1: â\88\80h,o,G,L,T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T →
-                   â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma cpxs_strap1: â\88\80h,o,G,L,T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T →
+                   â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 normalize /2 width=3 by step/ qed.
 
-lemma cpxs_strap2: â\88\80h,o,G,L,T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h, o] T →
-                   â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma cpxs_strap2: â\88\80h,o,G,L,T1,T. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h, o] T →
+                   â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 normalize /2 width=3 by TC_strap/ qed.
 
 lemma lsubr_cpxs_trans: ∀h,o,G. lsub_trans … (cpxs h o G) lsubr.
 /3 width=5 by lsubr_cpx_trans, LTC_lsub_trans/
 qed-.
 
-lemma cprs_cpxs: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡* T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma cprs_cpxs: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88* T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 #h #o #G #L #T1 #T2 #H @(cprs_ind … H) -T2 /3 width=3 by cpxs_strap1, cpr_cpx/
 qed.
 
 lemma cpxs_sort: ∀h,o,G,L,s,d1. deg h o s d1 →
-                 â\88\80d2. d2 â\89¤ d1 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡*[h, o] ⋆((next h)^d2 s).
+                 â\88\80d2. d2 â\89¤ d1 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88*[h, o] ⋆((next h)^d2 s).
 #h #o #G #L #s #d1 #Hkd1 #d2 @(nat_ind_plus … d2) -d2 /2 width=1 by cpx_cpxs/
 #d2 #IHd2 #Hd21 >iter_SO
 @(cpxs_strap1 … (⋆(iter d2 ℕ (next h) s)))
@@ -75,68 +75,68 @@ lemma cpxs_sort: ∀h,o,G,L,s,d1. deg h o s d1 →
 ]
 qed.
 
-lemma cpxs_bind_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 →
-                    â\88\80I,T1,T2. â¦\83G, L. â\93\91{I}V1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                    â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â\9e¡*[h, o] ⓑ{a,I}V2.T2.
+lemma cpxs_bind_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 →
+                    â\88\80I,T1,T2. â¦\83G, L. â\93\91{I}V1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                    â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â¬\88*[h, o] ⓑ{a,I}V2.T2.
 #h #o #G #L #V1 #V2 #HV12 #I #T1 #T2 #HT12 #a @(cpxs_ind_dx … HT12) -T1
 /3 width=3 by cpxs_strap2, cpx_cpxs, cpx_pair_sn, cpx_bind/
 qed.
 
-lemma cpxs_flat_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 →
-                    â\88\80T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                    â\88\80I. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â\9e¡*[h, o] ⓕ{I}V2.T2.
+lemma cpxs_flat_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 →
+                    â\88\80T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                    â\88\80I. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â¬\88*[h, o] ⓕ{I}V2.T2.
 #h #o #G #L #V1 #V2 #HV12 #T1 #T2 #HT12 @(cpxs_ind … HT12) -T2
 /3 width=5 by cpxs_strap1, cpx_cpxs, cpx_pair_sn, cpx_flat/
 qed.
 
-lemma cpxs_flat_sn: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h, o] T2 →
-                    â\88\80V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-                    â\88\80I. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â\9e¡*[h, o] ⓕ{I}V2.T2.
+lemma cpxs_flat_sn: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h, o] T2 →
+                    â\88\80V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+                    â\88\80I. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â¬\88*[h, o] ⓕ{I}V2.T2.
 #h #o #G #L #T1 #T2 #HT12 #V1 #V2 #H @(cpxs_ind … H) -V2
 /3 width=5 by cpxs_strap1, cpx_cpxs, cpx_pair_sn, cpx_flat/
 qed.
 
-lemma cpxs_pair_sn: â\88\80h,o,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-                    â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â\9e¡*[h, o] ②{I}V2.T.
+lemma cpxs_pair_sn: â\88\80h,o,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+                    â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â¬\88*[h, o] ②{I}V2.T.
 #h #o #I #G #L #V1 #V2 #H @(cpxs_ind … H) -V2
 /3 width=3 by cpxs_strap1, cpx_pair_sn/
 qed.
 
 lemma cpxs_zeta: ∀h,o,G,L,V,T1,T,T2. ⬆[0, 1] T2 ≡ T →
-                 â¦\83G, L.â\93\93Vâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ +â\93\93V.T1 â\9e¡*[h, o] T2.
+                 â¦\83G, L.â\93\93Vâ¦\84 â\8a¢ T1 â¬\88*[h, o] T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ +â\93\93V.T1 â¬\88*[h, o] T2.
 #h #o #G #L #V #T1 #T #T2 #HT2 #H @(cpxs_ind_dx … H) -T1
 /3 width=3 by cpxs_strap2, cpx_cpxs, cpx_bind, cpx_zeta/
 qed.
 
-lemma cpxs_eps: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                â\88\80V. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV.T1 â\9e¡*[h, o] T2.
+lemma cpxs_eps: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                â\88\80V. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV.T1 â¬\88*[h, o] T2.
 #h #o #G #L #T1 #T2 #H @(cpxs_ind … H) -T2
 /3 width=3 by cpxs_strap1, cpx_cpxs, cpx_eps/
 qed.
 
-lemma cpxs_ct: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-               â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.T â\9e¡*[h, o] V2.
+lemma cpxs_ct: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+               â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.T â¬\88*[h, o] V2.
 #h #o #G #L #V1 #V2 #H @(cpxs_ind … H) -V2
 /3 width=3 by cpxs_strap1, cpx_cpxs, cpx_ct/
 qed.
 
 lemma cpxs_beta_dx: ∀h,o,a,G,L,V1,V2,W1,W2,T1,T2.
-                    â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h, o] W2 →
-                    â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â\9e¡*[h, o] ⓓ{a}ⓝW2.V2.T2.
+                    â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h, o] W2 →
+                    â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â¬\88*[h, o] ⓓ{a}ⓝW2.V2.T2.
 #h #o #a #G #L #V1 #V2 #W1 #W2 #T1 #T2 #HV12 * -T2
 /4 width=7 by cpx_cpxs, cpxs_strap1, cpxs_bind_dx, cpxs_flat_dx, cpx_beta/
 qed.
 
 lemma cpxs_theta_dx: ∀h,o,a,G,L,V1,V,V2,W1,W2,T1,T2.
-                     â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V â\86\92 â¬\86[0, 1] V â\89¡ V2 â\86\92 â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                     â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h, o] W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â\9e¡*[h, o] ⓓ{a}W2.ⓐV2.T2.
+                     â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V â\86\92 â¬\86[0, 1] V â\89¡ V2 â\86\92 â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                     â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h, o] W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â¬\88*[h, o] ⓓ{a}W2.ⓐV2.T2.
 #h #o #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV1 #HV2 * -T2 
 /4 width=9 by cpx_cpxs, cpxs_strap1, cpxs_bind_dx, cpxs_flat_dx, cpx_theta/
 qed.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma cpxs_inv_sort1: â\88\80h,o,G,L,U2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡*[h, o] U2 →
+lemma cpxs_inv_sort1: â\88\80h,o,G,L,U2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88*[h, o] U2 →
                       ∃∃n,d. deg h o s (n+d) & U2 = ⋆((next h)^n s).
 #h #o #G #L #U2 #s #H @(cpxs_ind … H) -U2
 [ elim (deg_total h o s) #d #Hkd
@@ -150,10 +150,10 @@ lemma cpxs_inv_sort1: ∀h,o,G,L,U2,s. ⦃G, L⦄ ⊢ ⋆s ➡*[h, o] U2 →
 ]
 qed-.
 
-lemma cpxs_inv_cast1: â\88\80h,o,G,L,W1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dW1.T1 â\9e¡*[h, o] U2 →
-                      â\88¨â\88¨ â\88\83â\88\83W2,T2. â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] W2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 & U2 = ⓝW2.T2
-                       | â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] U2
-                       | â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] U2.
+lemma cpxs_inv_cast1: â\88\80h,o,G,L,W1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dW1.T1 â¬\88*[h, o] U2 →
+                      â\88¨â\88¨ â\88\83â\88\83W2,T2. â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] W2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 & U2 = ⓝW2.T2
+                       | â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] U2
+                       | â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] U2.
 #h #o #G #L #W1 #T1 #U2 #H @(cpxs_ind … H) -U2 /3 width=5 by or3_intro0, ex3_2_intro/
 #U2 #U #_ #HU2 * /3 width=3 by cpxs_strap1, or3_intro1, or3_intro2/ *
 #W #T #HW1 #HT1 #H destruct
@@ -163,14 +163,14 @@ lapply (cpxs_strap1 … HW1 … HW2) -W
 lapply (cpxs_strap1 … HT1 … HT2) -T /3 width=5 by or3_intro0, ex3_2_intro/
 qed-.
 
-lemma cpxs_inv_cnx1: â\88\80h,o,G,L,T,U. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] U â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\9e¡[h, o] 𝐍⦃T⦄ → T = U.
+lemma cpxs_inv_cnx1: â\88\80h,o,G,L,T,U. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] U â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â¬\88[h, o] 𝐍⦃T⦄ → T = U.
 #h #o #G #L #T #U #H @(cpxs_ind_dx … H) -T //
 #T0 #T #H1T0 #_ #IHT #H2T0
 lapply (H2T0 … H1T0) -H1T0 #H destruct /2 width=1 by/
 qed-.
 
-lemma cpxs_neq_inv_step_sn: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 → (T1 = T2 → ⊥) →
-                            â\88\83â\88\83T. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h, o] T & T1 = T â\86\92 â\8a¥ & â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] T2.
+lemma cpxs_neq_inv_step_sn: â\88\80h,o,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 → (T1 = T2 → ⊥) →
+                            â\88\83â\88\83T. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h, o] T & T1 = T â\86\92 â\8a¥ & â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] T2.
 #h #o #G #L #T1 #T2 #H @(cpxs_ind_dx … H) -T1
 [ #H elim H -H //
 | #T1 #T #H1 #H2 #IH2 #H12 elim (eq_term_dec T1 T) #H destruct
index e3d5e8af189c8275cffa060332179dec62b4d7f1..2266edbad699f2c606bb3107bc3042556f0dd3cc 100644 (file)
@@ -20,10 +20,10 @@ include "basic_2/computation/cpxs.ma".
 (* Properties about atomic arity assignment on terms ************************)
 
 lemma cpxs_aaa_conf: ∀h,o,G,L,T1,A. ⦃G, L⦄ ⊢ T1 ⁝ A →
-                     â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 → ⦃G, L⦄ ⊢ T2 ⁝ A.
+                     â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 → ⦃G, L⦄ ⊢ T2 ⁝ A.
 #h #o #G #L #T1 #A #HT1 #T2 #HT12
 @(TC_Conf3 … HT1 ? HT12) -A -T1 -T2 /2 width=5 by cpx_aaa_conf/
 qed-.
 
-lemma cprs_aaa_conf: â\88\80G,L,T1,A. â¦\83G, Lâ¦\84 â\8a¢ T1 â\81\9d A â\86\92 â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡* T2 → ⦃G, L⦄ ⊢ T2 ⁝ A.
+lemma cprs_aaa_conf: â\88\80G,L,T1,A. â¦\83G, Lâ¦\84 â\8a¢ T1 â\81\9d A â\86\92 â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88* T2 → ⦃G, L⦄ ⊢ T2 ⁝ A.
 /3 width=5 by cpxs_aaa_conf, cprs_cpxs/ qed-.
index 8f77d9190d16e7c9aaf85f6013161a19213bfbd5..4f1d7ceeeb2affcc473c3401c884b5fab1a920ef 100644 (file)
@@ -22,58 +22,58 @@ include "basic_2/computation/cpxs_lift.ma".
 theorem cpxs_trans: ∀h,o,G,L. Transitive … (cpxs h o G L).
 normalize /2 width=3 by trans_TC/ qed-.
 
-theorem cpxs_bind: â\88\80h,o,a,I,G,L,V1,V2,T1,T2. â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                   â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-                   â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â\9e¡*[h, o] ⓑ{a,I}V2.T2.
+theorem cpxs_bind: â\88\80h,o,a,I,G,L,V1,V2,T1,T2. â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                   â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+                   â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â¬\88*[h, o] ⓑ{a,I}V2.T2.
 #h #o #a #I #G #L #V1 #V2 #T1 #T2 #HT12 #H @(cpxs_ind … H) -V2
 /3 width=5 by cpxs_trans, cpxs_bind_dx/
 qed.
 
-theorem cpxs_flat: â\88\80h,o,I,G,L,V1,V2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                   â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-                   â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â\9e¡*[h, o] ⓕ{I}V2.T2.
+theorem cpxs_flat: â\88\80h,o,I,G,L,V1,V2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                   â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+                   â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â¬\88*[h, o] ⓕ{I}V2.T2.
 #h #o #I #G #L #V1 #V2 #T1 #T2 #HT12 #H @(cpxs_ind … H) -V2
 /3 width=5 by cpxs_trans, cpxs_flat_dx/
 qed.
 
 theorem cpxs_beta_rc: ∀h,o,a,G,L,V1,V2,W1,W2,T1,T2.
-                      â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] W2 →
-                      â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â\9e¡*[h, o] ⓓ{a}ⓝW2.V2.T2.
+                      â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] W2 →
+                      â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â¬\88*[h, o] ⓓ{a}ⓝW2.V2.T2.
 #h #o #a #G #L #V1 #V2 #W1 #W2 #T1 #T2 #HV12 #HT12 #H @(cpxs_ind … H) -W2
 /4 width=5 by cpxs_trans, cpxs_beta_dx, cpxs_bind_dx, cpx_pair_sn/
 qed.
 
 theorem cpxs_beta: ∀h,o,a,G,L,V1,V2,W1,W2,T1,T2.
-                   â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 →
-                   â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â\9e¡*[h, o] ⓓ{a}ⓝW2.V2.T2.
+                   â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 →
+                   â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{a}W1.T1 â¬\88*[h, o] ⓓ{a}ⓝW2.V2.T2.
 #h #o #a #G #L #V1 #V2 #W1 #W2 #T1 #T2 #HT12 #HW12 #H @(cpxs_ind … H) -V2
 /4 width=5 by cpxs_trans, cpxs_beta_rc, cpxs_bind_dx, cpx_flat/
 qed.
 
 theorem cpxs_theta_rc: ∀h,o,a,G,L,V1,V,V2,W1,W2,T1,T2.
-                       â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V → ⬆[0, 1] V ≡ V2 →
-                       â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] W2 →
-                       â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â\9e¡*[h, o] ⓓ{a}W2.ⓐV2.T2.
+                       â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V → ⬆[0, 1] V ≡ V2 →
+                       â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] W2 →
+                       â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â¬\88*[h, o] ⓓ{a}W2.ⓐV2.T2.
 #h #o #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV1 #HV2 #HT12 #H @(cpxs_ind … H) -W2
 /3 width=5 by cpxs_trans, cpxs_theta_dx, cpxs_bind_dx/
 qed.
 
 theorem cpxs_theta: ∀h,o,a,G,L,V1,V,V2,W1,W2,T1,T2.
-                    â¬\86[0, 1] V â\89¡ V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡*[h, o] W2 →
-                    â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V →
-                    â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â\9e¡*[h, o] ⓓ{a}W2.ⓐV2.T2.
+                    â¬\86[0, 1] V â\89¡ V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88*[h, o] W2 →
+                    â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V →
+                    â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}W1.T1 â¬\88*[h, o] ⓓ{a}W2.ⓐV2.T2.
 #h #o #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV2 #HW12 #HT12 #H @(TC_ind_dx … V1 H) -V1
 /3 width=5 by cpxs_trans, cpxs_theta_rc, cpxs_flat_dx/
 qed.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma cpxs_inv_appl1: â\88\80h,o,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â\9e¡*[h, o] U2 →
-                      â\88¨â\88¨ â\88\83â\88\83V2,T2.       â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 &
+lemma cpxs_inv_appl1: â\88\80h,o,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â¬\88*[h, o] U2 →
+                      â\88¨â\88¨ â\88\83â\88\83V2,T2.       â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2 &
                                         U2 = ⓐV2. T2
-                       | â\88\83â\88\83a,W,T.       â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] â\93\9b{a}W.T & â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}â\93\9dW.V1.T â\9e¡*[h, o] U2
-                       | â\88\83â\88\83a,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡*[h, o] V0 & ⬆[0,1] V0 ≡ V2 &
-                                        â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] â\93\93{a}V.T & â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\93\90V2.T â\9e¡*[h, o] U2.
+                       | â\88\83â\88\83a,W,T.       â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] â\93\9b{a}W.T & â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}â\93\9dW.V1.T â¬\88*[h, o] U2
+                       | â\88\83â\88\83a,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h, o] V0 & ⬆[0,1] V0 ≡ V2 &
+                                        â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] â\93\93{a}V.T & â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\93\90V2.T â¬\88*[h, o] U2.
 #h #o #G #L #V1 #T1 #U2 #H @(cpxs_ind … H) -U2 [ /3 width=5 by or3_intro0, ex3_2_intro/ ]
 #U #U2 #_ #HU2 * *
 [ #V0 #T0 #HV10 #HT10 #H destruct
@@ -108,9 +108,9 @@ lemma lpx_cpx_trans: ∀h,o,G. b_c_transitive … (cpx h o G) (λ_.lpx h o G).
 ]
 qed-.
 
-lemma cpx_bind2: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 →
-                 â\88\80I,T1,T2. â¦\83G, L.â\93\91{I}V2â¦\84 â\8a¢ T1 â\9e¡[h, o] T2 →
-                 â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â\9e¡*[h, o] ⓑ{a,I}V2.T2.
+lemma cpx_bind2: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 →
+                 â\88\80I,T1,T2. â¦\83G, L.â\93\91{I}V2â¦\84 â\8a¢ T1 â¬\88[h, o] T2 →
+                 â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â¬\88*[h, o] ⓑ{a,I}V2.T2.
 /4 width=5 by lpx_cpx_trans, cpxs_bind_dx, lpx_pair/ qed.
 
 (* Advanced properties ******************************************************)
@@ -119,16 +119,16 @@ lemma lpx_cpxs_trans: ∀h,o,G. b_rs_transitive … (cpx h o G) (λ_.lpx h o G).
 #h #o #G @b_c_trans_LTC1 /2 width=3 by lpx_cpx_trans/ (**) (* full auto fails *)
 qed-.
 
-lemma cpxs_bind2_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h, o] V2 →
-                     â\88\80I,T1,T2. â¦\83G, L.â\93\91{I}V2â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                     â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â\9e¡*[h, o] ⓑ{a,I}V2.T2.
+lemma cpxs_bind2_dx: â\88\80h,o,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h, o] V2 →
+                     â\88\80I,T1,T2. â¦\83G, L.â\93\91{I}V2â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                     â\88\80a. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{a,I}V1.T1 â¬\88*[h, o] ⓑ{a,I}V2.T2.
 /4 width=5 by lpx_cpxs_trans, cpxs_bind_dx, lpx_pair/ qed.
 
 (* Properties on supclosure *************************************************)
 
 lemma fqu_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ →
-                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 → (T2 = U2 → ⊥) →
-                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
+                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 → (T2 = U2 → ⊥) →
+                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2
 [ #I #G #L #V1 #V2 #HV12 #_ elim (lift_total V2 0 1)
   #U2 #HVU2 @(ex3_intro … U2)
@@ -156,8 +156,8 @@ lemma fqu_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2,
 qed-.
 
 lemma fquq_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ →
-                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 → (T2 = U2 → ⊥) →
-                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
+                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 → (T2 = U2 → ⊥) →
+                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H12 #U2 #HTU2 #H elim (fquq_inv_gen … H12) -H12
 [ #H12 elim (fqu_cpxs_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqu_fquq, ex3_intro/
@@ -166,8 +166,8 @@ lemma fquq_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃
 qed-.
 
 lemma fqup_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ →
-                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 → (T2 = U2 → ⊥) →
-                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
+                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 → (T2 = U2 → ⊥) →
+                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind_dx … H) -G1 -L1 -T1
 [ #G1 #L1 #T1 #H12 #U2 #HTU2 #H elim (fqu_cpxs_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqu_fqup, ex3_intro/
@@ -178,8 +178,8 @@ lemma fqup_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2
 qed-.
 
 lemma fqus_cpxs_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ →
-                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 → (T2 = U2 → ⊥) →
-                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
+                           â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 → (T2 = U2 → ⊥) →
+                           â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H12 #U2 #HTU2 #H elim (fqus_inv_gen … H12) -H12
 [ #H12 elim (fqup_cpxs_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqup_fqus, ex3_intro/
index 9ff2b6f2c196fd21b651243fb9070f15990f5241..9b4822e585ab4b6bff4320118775dbd6ad1eae95 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/computation/cpxs.ma".
 (* Advanced properties ******************************************************)
 
 lemma cpxs_delta: ∀h,o,I,G,L,K,V,V2,i.
-                  â¬\87[i] L â\89¡ K.â\93\91{I}V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡*[h, o] V2 →
-                  â\88\80W2. â¬\86[0, i+1] V2 â\89¡ W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡*[h, o] W2.
+                  â¬\87[i] L â\89¡ K.â\93\91{I}V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â¬\88*[h, o] V2 →
+                  â\88\80W2. â¬\86[0, i+1] V2 â\89¡ W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88*[h, o] W2.
 #h #o #I #G #L #K #V #V2 #i #HLK #H elim H -V2
 [ /3 width=9 by cpx_cpxs, cpx_delta/
 | #V1 lapply (drop_fwd_drop2 … HLK) -HLK
@@ -31,7 +31,7 @@ lemma cpxs_delta: ∀h,o,I,G,L,K,V,V2,i.
 qed.
 
 lemma lstas_cpxs: ∀h,o,G,L,T1,T2,d2. ⦃G, L⦄ ⊢ T1 •*[h, d2] T2 →
-                  â\88\80d1. â¦\83G, Lâ¦\84 â\8a¢ T1 â\96ª[h, o] d1 â\86\92 d2 â\89¤ d1 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+                  â\88\80d1. â¦\83G, Lâ¦\84 â\8a¢ T1 â\96ª[h, o] d1 â\86\92 d2 â\89¤ d1 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 #h #o #G #L #T1 #T2 #d2 #H elim H -G -L -T1 -T2 -d2 //
 [ /3 width=3 by cpxs_sort, da_inv_sort/
 | #G #L #K #V1 #V2 #W2 #i #d2 #HLK #_ #HVW2 #IHV12 #d1 #H #Hd21
@@ -50,9 +50,9 @@ qed.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma cpxs_inv_lref1: â\88\80h,o,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡*[h, o] T2 →
+lemma cpxs_inv_lref1: â\88\80h,o,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88*[h, o] T2 →
                       T2 = #i ∨
-                      â\88\83â\88\83I,K,V1,T1. â¬\87[i] L â\89¡ K.â\93\91{I}V1 & â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡*[h, o] T1 &
+                      â\88\83â\88\83I,K,V1,T1. â¬\87[i] L â\89¡ K.â\93\91{I}V1 & â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88*[h, o] T1 &
                                    ⬆[0, i+1] T1 ≡ T2.
 #h #o #G #L #T2 #i #H @(cpxs_ind … H) -T2 /2 width=1 by or_introl/
 #T #T2 #_ #HT2 *
@@ -77,17 +77,17 @@ qed-.
 
 (* Properties on supclosure *************************************************)
 
-lemma fqu_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 →
+lemma fqu_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 →
                       ∀T1. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ →
-                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
+                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T2 #U2 #H @(cpxs_ind_dx … H) -T2 /2 width=3 by ex2_intro/
 #T #T2 #HT2 #_ #IHTU2 #T1 #HT1 elim (fqu_cpx_trans … HT1 … HT2) -T
 #T #HT1 #HT2 elim (IHTU2 … HT2) -T2 /3 width=3 by cpxs_strap2, ex2_intro/
 qed-.
 
-lemma fquq_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 →
+lemma fquq_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 →
                        ∀T1. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ →
-                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
+                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T2 #U2 #HTU2 #T1 #H elim (fquq_inv_gen … H) -H
 [ #HT12 elim (fqu_cpxs_trans … HTU2 … HT12) /3 width=3 by fqu_fquq, ex2_intro/
 | * #H1 #H2 #H3 destruct /2 width=3 by ex2_intro/
@@ -97,20 +97,20 @@ qed-.
 lemma fquq_lstas_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ →
                         ∀U2,d1. ⦃G2, L2⦄ ⊢ T2 •*[h, d1] U2 →
                         ∀d2. ⦃G2, L2⦄ ⊢ T2 ▪[h, o] d2 → d1 ≤ d2 →
-                        â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
+                        â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
 /3 width=5 by fquq_cpxs_trans, lstas_cpxs/ qed-.
 
-lemma fqup_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 →
+lemma fqup_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 →
                        ∀T1. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ →
-                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
+                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T2 #U2 #H @(cpxs_ind_dx … H) -T2 /2 width=3 by ex2_intro/
 #T #T2 #HT2 #_ #IHTU2 #T1 #HT1 elim (fqup_cpx_trans … HT1 … HT2) -T
 #U1 #HTU1 #H2 elim (IHTU2 … H2) -T2 /3 width=3 by cpxs_strap2, ex2_intro/
 qed-.
 
-lemma fqus_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡*[h, o] U2 →
+lemma fqus_cpxs_trans: â\88\80h,o,G1,G2,L1,L2,T2,U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88*[h, o] U2 →
                        ∀T1. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ →
-                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
+                       â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T2 #U2 #HTU2 #T1 #H elim (fqus_inv_gen … H) -H
 [ #HT12 elim (fqup_cpxs_trans … HTU2 … HT12) /3 width=3 by fqup_fqus, ex2_intro/
 | * #H1 #H2 #H3 destruct /2 width=3 by ex2_intro/
@@ -120,5 +120,5 @@ qed-.
 lemma fqus_lstas_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ →
                         ∀U2,d1. ⦃G2, L2⦄ ⊢ T2 •*[h, d1] U2 →
                         ∀d2. ⦃G2, L2⦄ ⊢ T2 ▪[h, o] d2 → d1 ≤ d2 →
-                        â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
+                        â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
 /3 width=6 by fqus_cpxs_trans, lstas_cpxs/ qed-.
index be3e0f0b5f62263a03fc9f89cb6344ebeecc6610..2765cf1bc596ccc11e96a759fedf5e33c7190a65 100644 (file)
@@ -19,21 +19,21 @@ include "basic_2/computation/cpxs.ma".
 
 (* Properties on lazy equivalence for local environments ********************)
 
-lemma lleq_cpxs_trans: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                       â\88\80L1. L1 â\89¡[T1, 0] L2 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma lleq_cpxs_trans: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                       â\88\80L1. L1 â\89¡[T1, 0] L2 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 #h #o #G #L2 #T1 #T2 #H @(cpxs_ind_dx … H) -T1
 /4 width=6 by cpx_lleq_conf_dx, lleq_cpx_trans, cpxs_strap2/
 qed-.
 
-lemma cpxs_lleq_conf: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
-                      â\88\80L1. L2 â\89¡[T1, 0] L1 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2.
+lemma cpxs_lleq_conf: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
+                      â\88\80L1. L2 â\89¡[T1, 0] L1 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2.
 /3 width=3 by lleq_cpxs_trans, lleq_sym/ qed-.
 
-lemma cpxs_lleq_conf_dx: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
+lemma cpxs_lleq_conf_dx: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
                          ∀L1. L1 ≡[T1, 0] L2 → L1 ≡[T2, 0] L2.
 #h #o #G #L2 #T1 #T2 #H @(cpxs_ind … H) -T2 /3 width=6 by cpx_lleq_conf_dx/
 qed-.
 
-lemma cpxs_lleq_conf_sn: â\88\80h,o,G,L1,T1,T2. â¦\83G, L1â¦\84 â\8a¢ T1 â\9e¡*[h, o] T2 →
+lemma cpxs_lleq_conf_sn: â\88\80h,o,G,L1,T1,T2. â¦\83G, L1â¦\84 â\8a¢ T1 â¬\88*[h, o] T2 →
                          ∀L2. L1 ≡[T1, 0] L2 → L1 ≡[T2, 0] L2.
 /4 width=6 by cpxs_lleq_conf_dx, lleq_sym/ qed-.
index ace2532d977db9b6c33ce4b77466f96d66084bef..6434ff37fd9e36a344c4ebd527bd74cd6b244821 100644 (file)
@@ -19,13 +19,13 @@ include "basic_2/computation/lpxs_cpxs.ma".
 
 (* Forward lemmas involving same top term structure *************************)
 
-lemma cpxs_fwd_cnx: â\88\80h,o,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ â\9e¡[h, o] ð\9d\90\8dâ¦\83Tâ¦\84 â\86\92 â\88\80U. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] U → T ≂ U.
+lemma cpxs_fwd_cnx: â\88\80h,o,G,L,T. â¦\83G, Lâ¦\84 â\8a¢ â¬\88[h, o] ð\9d\90\8dâ¦\83Tâ¦\84 â\86\92 â\88\80U. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] U → T ≂ U.
 #h #o #G #L #T #HT #U #H
 >(cpxs_inv_cnx1 … H HT) -G -L -T //
 qed-.
 
-lemma cpxs_fwd_sort: â\88\80h,o,G,L,U,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡*[h, o] U →
-                     â\8b\86s â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\8b\86(next h s) â\9e¡*[h, o] U.
+lemma cpxs_fwd_sort: â\88\80h,o,G,L,U,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88*[h, o] U →
+                     â\8b\86s â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\8b\86(next h s) â¬\88*[h, o] U.
 #h #o #G #L #U #s #H
 elim (cpxs_inv_sort1 … H) -H #n #d generalize in match s; -s @(nat_ind_plus … n) -n
 [ #s #_ #H -d destruct /2 width=1 by or_introl/
@@ -41,8 +41,8 @@ elim (cpxs_inv_sort1 … H) -H #n #d generalize in match s; -s @(nat_ind_plus 
 qed-.
 
 (* Basic_1: was just: pr3_iso_beta *)
-lemma cpxs_fwd_beta: â\88\80h,o,a,G,L,V,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V.â\93\9b{a}W.T â\9e¡*[h, o] U →
-                     â\93\90V.â\93\9b{a}W.T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}â\93\9dW.V.T â\9e¡*[h, o] U.
+lemma cpxs_fwd_beta: â\88\80h,o,a,G,L,V,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V.â\93\9b{a}W.T â¬\88*[h, o] U →
+                     â\93\90V.â\93\9b{a}W.T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}â\93\9dW.V.T â¬\88*[h, o] U.
 #h #o #a #G #L #V #W #T #U #H
 elim (cpxs_inv_appl1 … H) -H *
 [ #V0 #T0 #_ #_ #H destruct /2 width=1 by tsts_pair, or_introl/
@@ -58,8 +58,8 @@ qed-.
 (* Note: probably this is an inversion lemma *)
 lemma cpxs_fwd_delta: ∀h,o,I,G,L,K,V1,i. ⬇[i] L ≡ K.ⓑ{I}V1 →
                       ∀V2. ⬆[0, i + 1] V1 ≡ V2 →
-                      â\88\80U. â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡*[h, o] U →
-                      #i â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ V2 â\9e¡*[h, o] U.
+                      â\88\80U. â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88*[h, o] U →
+                      #i â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ V2 â¬\88*[h, o] U.
 #h #o #I #G #L #K #V1 #i #HLK #V2 #HV12 #U #H
 elim (cpxs_inv_lref1 … H) -H /2 width=1 by or_introl/
 * #I0 #K0 #V0 #U0 #HLK0 #HVU0 #HU0
@@ -67,9 +67,9 @@ lapply (drop_mono … HLK0 … HLK) -HLK0 #H destruct
 /4 width=10 by cpxs_lift, drop_fwd_drop2, or_intror/
 qed-.
 
-lemma cpxs_fwd_theta: â\88\80h,o,a,G,L,V1,V,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}V.T â\9e¡*[h, o] U →
+lemma cpxs_fwd_theta: â\88\80h,o,a,G,L,V1,V,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{a}V.T â¬\88*[h, o] U →
                       ∀V2. ⬆[0, 1] V1 ≡ V2 → ⓐV1.ⓓ{a}V.T ≂ U ∨
-                      â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\93\90V2.T â\9e¡*[h, o] U.
+                      â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\93\90V2.T â¬\88*[h, o] U.
 #h #o #a #G #L #V1 #V #T #U #H #V2 #HV12
 elim (cpxs_inv_appl1 … H) -H *
 [ -HV12 #V0 #T0 #_ #_ #H destruct /2 width=1 by tsts_pair, or_introl/
@@ -99,8 +99,8 @@ elim (cpxs_inv_appl1 … H) -H *
 ]
 qed-.
 
-lemma cpxs_fwd_cast: â\88\80h,o,G,L,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dW.T â\9e¡*[h, o] U →
-                     â\88¨â\88¨ â\93\9dW. T â\89\82 U | â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡*[h, o] U | â¦\83G, Lâ¦\84 â\8a¢ W â\9e¡*[h, o] U.
+lemma cpxs_fwd_cast: â\88\80h,o,G,L,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dW.T â¬\88*[h, o] U →
+                     â\88¨â\88¨ â\93\9dW. T â\89\82 U | â¦\83G, Lâ¦\84 â\8a¢ T â¬\88*[h, o] U | â¦\83G, Lâ¦\84 â\8a¢ W â¬\88*[h, o] U.
 #h #o #G #L #W #T #U #H
 elim (cpxs_inv_cast1 … H) -H /2 width=1 by or3_intro1, or3_intro2/ *
 #W0 #T0 #_ #_ #H destruct /2 width=1 by tsts_pair, or3_intro0/
index c408aaf67641abf073178fe6a3c3f770c53ea17d..738d5907a2eb6e68d2472916e30caa5f2462b8f0 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/computation/cpxs_tsts.ma".
 (* Vector form of forward lemmas involving same top term structure **********)
 
 (* Basic_1: was just: nf2_iso_appls_lref *)
-lemma cpxs_fwd_cnx_vector: â\88\80h,o,G,L,T.  ð\9d\90\92â¦\83Tâ¦\84 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\9e¡[h, o] 𝐍⦃T⦄ →
-                           â\88\80Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.T â\9e¡*[h, o] U → ⒶVs.T ≂ U.
+lemma cpxs_fwd_cnx_vector: â\88\80h,o,G,L,T.  ð\9d\90\92â¦\83Tâ¦\84 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â¬\88[h, o] 𝐍⦃T⦄ →
+                           â\88\80Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.T â¬\88*[h, o] U → ⒶVs.T ≂ U.
 #h #o #G #L #T #H1T #H2T #Vs elim Vs -Vs [ @(cpxs_fwd_cnx … H2T) ] (**) (* /2 width=3 by cpxs_fwd_cnx/ does not work *)
 #V #Vs #IHVs #U #H
 elim (cpxs_inv_appl1 … H) -H *
@@ -36,8 +36,8 @@ elim (cpxs_inv_appl1 … H) -H *
 ]
 qed-.
 
-lemma cpxs_fwd_sort_vector: â\88\80h,o,G,L,s,Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\8b\86s â\9e¡*[h, o] U →
-                            â\92¶Vs.â\8b\86s â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\8b\86(next h s) â\9e¡*[h, o] U.
+lemma cpxs_fwd_sort_vector: â\88\80h,o,G,L,s,Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\8b\86s â¬\88*[h, o] U →
+                            â\92¶Vs.â\8b\86s â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\8b\86(next h s) â¬\88*[h, o] U.
 #h #o #G #L #s #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_sort/
 #V #Vs #IHVs #U #H
 elim (cpxs_inv_appl1 … H) -H *
@@ -61,8 +61,8 @@ qed-.
 
 
 (* Basic_1: was just: pr3_iso_appls_beta *)
-lemma cpxs_fwd_beta_vector: â\88\80h,o,a,G,L,Vs,V,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\90V.â\93\9b{a}W.T â\9e¡*[h, o] U →
-                            â\92¶Vs. â\93\90V. â\93\9b{a}W. T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\93{a}â\93\9dW.V.T â\9e¡*[h, o] U.
+lemma cpxs_fwd_beta_vector: â\88\80h,o,a,G,L,Vs,V,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\90V.â\93\9b{a}W.T â¬\88*[h, o] U →
+                            â\92¶Vs. â\93\90V. â\93\9b{a}W. T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\93{a}â\93\9dW.V.T â¬\88*[h, o] U.
 #h #o #a #G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_beta/
 #V0 #Vs #IHVs #V #W #T #U #H
 elim (cpxs_inv_appl1 … H) -H *
@@ -86,8 +86,8 @@ qed-.
 
 lemma cpxs_fwd_delta_vector: ∀h,o,I,G,L,K,V1,i. ⬇[i] L ≡ K.ⓑ{I}V1 →
                              ∀V2. ⬆[0, i + 1] V1 ≡ V2 →
-                             â\88\80Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.#i â\9e¡*[h, o] U →
-                             â\92¶Vs.#i â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.V2 â\9e¡*[h, o] U.
+                             â\88\80Vs,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.#i â¬\88*[h, o] U →
+                             â\92¶Vs.#i â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.V2 â¬\88*[h, o] U.
 #h #o #I #G #L #K #V1 #i #HLK #V2 #HV12 #Vs elim Vs -Vs /2 width=5 by cpxs_fwd_delta/
 #V #Vs #IHVs #U #H -K -V1
 elim (cpxs_inv_appl1 … H) -H *
@@ -111,8 +111,8 @@ qed-.
 
 (* Basic_1: was just: pr3_iso_appls_abbr *)
 lemma cpxs_fwd_theta_vector: ∀h,o,G,L,V1b,V2b. ⬆[0, 1] V1b ≡ V2b →
-                             â\88\80a,V,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶V1b.â\93\93{a}V.T â\9e¡*[h, o] U →
-                             â\92¶V1b. â\93\93{a}V. T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\92¶V2b.T â\9e¡*[h, o] U.
+                             â\88\80a,V,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶V1b.â\93\93{a}V.T â¬\88*[h, o] U →
+                             â\92¶V1b. â\93\93{a}V. T â\89\82 U â\88¨ â¦\83G, Lâ¦\84 â\8a¢ â\93\93{a}V.â\92¶V2b.T â¬\88*[h, o] U.
 #h #o #G #L #V1b #V2b * -V1b -V2b /3 width=1 by or_intror/
 #V1b #V2b #V1a #V2a #HV12a #HV12b #a
 generalize in match HV12a; -HV12a
@@ -159,10 +159,10 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: pr3_iso_appls_cast *)
-lemma cpxs_fwd_cast_vector: â\88\80h,o,G,L,Vs,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\9dW.T â\9e¡*[h, o] U →
+lemma cpxs_fwd_cast_vector: â\88\80h,o,G,L,Vs,W,T,U. â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.â\93\9dW.T â¬\88*[h, o] U →
                             ∨∨ ⒶVs. ⓝW. T ≂ U
-                             | â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.T â\9e¡*[h, o] U
-                             | â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.W â\9e¡*[h, o] U.
+                             | â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.T â¬\88*[h, o] U
+                             | â¦\83G, Lâ¦\84 â\8a¢ â\92¶Vs.W â¬\88*[h, o] U.
 #h #o #G #L #Vs elim Vs -Vs /2 width=1 by cpxs_fwd_cast/
 #V #Vs #IHVs #W #T #U #H
 elim (cpxs_inv_appl1 … H) -H *
index 5dab2812e3d6bc5c4945551f446b6fcce8698787..b8742090c50969394388b66b35774e5d821358f2 100644 (file)
@@ -14,7 +14,7 @@
 
 include "ground_2/steps/rtc_shift.ma".
 include "ground_2/steps/rtc_plus.ma".
-include "basic_2/notation/relations/pred_6.ma".
+include "basic_2/notation/relations/predty_6.ma".
 include "basic_2/grammar/lenv.ma".
 include "basic_2/grammar/genv.ma".
 include "basic_2/relocation/lifts.ma".
@@ -53,30 +53,30 @@ inductive cpg (h): rtc → relation4 genv lenv term term ≝
 
 interpretation
    "counted context-sensitive parallel rt-transition (term)"
-   'PRed c h G L T1 T2 = (cpg h c G L T1 T2).
+   'PRedTy c h G L T1 T2 = (cpg h c G L T1 T2).
 
 (* Basic properties *********************************************************)
 
 (* Note: this is "∀h,g,L. reflexive … (cpg h (𝟘𝟘) L)" *)
-lemma cpg_refl: â\88\80h,G,T,L. â¦\83G, Lâ¦\84 â\8a¢ T â\9e¡[𝟘𝟘, h] T.
+lemma cpg_refl: â\88\80h,G,T,L. â¦\83G, Lâ¦\84 â\8a¢ T â¬\88[𝟘𝟘, h] T.
 #h #G #T elim T -T // * /2 width=1 by cpg_bind, cpg_flat/
 qed.
 
-lemma cpg_pair_sn: â\88\80c,h,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[c, h] V2 →
-                   â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â\9e¡[↓c, h] ②{I}V2.T.
+lemma cpg_pair_sn: â\88\80c,h,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[c, h] V2 →
+                   â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â¬\88[↓c, h] ②{I}V2.T.
 #c #h * /2 width=1 by cpg_bind, cpg_flat/
 qed.
 
 (* Basic inversion lemmas ***************************************************)
 
-fact cpg_inv_atom1_aux: â\88\80c,h,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[c, h] T2 → ∀J. T1 = ⓪{J} →
+fact cpg_inv_atom1_aux: â\88\80c,h,G,L,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[c, h] T2 → ∀J. T1 = ⓪{J} →
                         ∨∨ T2 = ⓪{J} ∧ c = 𝟘𝟘 
                          | ∃∃s. J = Sort s & T2 = ⋆(next h s) & c = 𝟘𝟙
-                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                          L = K.ⓓV1 & J = LRef 0 & c = cV
-                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                          L = K.ⓛV1 & J = LRef 0 & c = (↓cV)+𝟘𝟙
-                         | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[c, h] T & ⬆*[1] T ≡ T2 &
+                         | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[c, h] T & ⬆*[1] T ≡ T2 &
                                         L = K.ⓑ{I}V & J = LRef (⫯i).
 #c #h #G #L #T1 #T2 * -c -G -L -T1 -T2
 [ #I #G #L #J #H destruct /3 width=1 by or5_intro0, conj/
@@ -94,18 +94,18 @@ fact cpg_inv_atom1_aux: ∀c,h,G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ➡[c, h] T2 → ∀
 ]
 qed-.
 
-lemma cpg_inv_atom1: â\88\80c,h,J,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{J} â\9e¡[c, h] T2 →
+lemma cpg_inv_atom1: â\88\80c,h,J,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{J} â¬\88[c, h] T2 →
                      ∨∨ T2 = ⓪{J} ∧ c = 𝟘𝟘 
                       | ∃∃s. J = Sort s & T2 = ⋆(next h s) & c = 𝟘𝟙
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                       L = K.ⓓV1 & J = LRef 0 & c = cV
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                       L = K.ⓛV1 & J = LRef 0 & c = (↓cV)+𝟘𝟙
-                      | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[c, h] T & ⬆*[1] T ≡ T2 &
+                      | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[c, h] T & ⬆*[1] T ≡ T2 &
                                      L = K.ⓑ{I}V & J = LRef (⫯i).
 /2 width=3 by cpg_inv_atom1_aux/ qed-.
 
-lemma cpg_inv_sort1: â\88\80c,h,G,L,T2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡[c, h] T2 →
+lemma cpg_inv_sort1: â\88\80c,h,G,L,T2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88[c, h] T2 →
                      (T2 = ⋆s ∧ c = 𝟘𝟘) ∨ (T2 = ⋆(next h s) ∧ c = 𝟘𝟙).
 #c #h #G #L #T2 #s #H
 elim (cpg_inv_atom1 … H) -H * /3 width=1 by or_introl, conj/
@@ -115,11 +115,11 @@ elim (cpg_inv_atom1 … H) -H * /3 width=1 by or_introl, conj/
 ]
 qed-.
 
-lemma cpg_inv_zero1: â\88\80c,h,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #0 â\9e¡[c, h] T2 →
+lemma cpg_inv_zero1: â\88\80c,h,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #0 â¬\88[c, h] T2 →
                      ∨∨ (T2 = #0 ∧ c = 𝟘𝟘)
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                       L = K.ⓓV1 & c = cV
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & ⬆*[1] V2 ≡ T2 &
                                       L = K.ⓛV1 & c = (↓cV)+𝟘𝟙.
 #c #h #G #L #T2 #H
 elim (cpg_inv_atom1 … H) -H * /3 width=1 by or3_intro0, conj/
@@ -129,9 +129,9 @@ elim (cpg_inv_atom1 … H) -H * /3 width=1 by or3_intro0, conj/
 ]
 qed-.
 
-lemma cpg_inv_lref1: â\88\80c,h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #⫯i â\9e¡[c, h] T2 →
+lemma cpg_inv_lref1: â\88\80c,h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #⫯i â¬\88[c, h] T2 →
                      (T2 = #(⫯i) ∧ c = 𝟘𝟘) ∨
-                     â\88\83â\88\83I,K,V,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[c, h] T & ⬆*[1] T ≡ T2 & L = K.ⓑ{I}V.
+                     â\88\83â\88\83I,K,V,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[c, h] T & ⬆*[1] T ≡ T2 & L = K.ⓑ{I}V.
 #c #h #G #L #T2 #i #H
 elim (cpg_inv_atom1 … H) -H * /3 width=1 by or_introl, conj/
 [ #s #H destruct
@@ -140,7 +140,7 @@ elim (cpg_inv_atom1 … H) -H * /3 width=1 by or_introl, conj/
 ]
 qed-.
 
-lemma cpg_inv_gref1: â\88\80c,h,G,L,T2,l. â¦\83G, Lâ¦\84 â\8a¢ Â§l â\9e¡[c, h] T2 → T2 = §l ∧ c = 𝟘𝟘.
+lemma cpg_inv_gref1: â\88\80c,h,G,L,T2,l. â¦\83G, Lâ¦\84 â\8a¢ Â§l â¬\88[c, h] T2 → T2 = §l ∧ c = 𝟘𝟘.
 #c #h #G #L #T2 #l #H
 elim (cpg_inv_atom1 … H) -H * /2 width=1 by conj/
 [ #s #H destruct
@@ -149,12 +149,12 @@ elim (cpg_inv_atom1 … H) -H * /2 width=1 by conj/
 ]
 qed-.
 
-fact cpg_inv_bind1_aux: â\88\80c,h,G,L,U,U2. â¦\83G, Lâ¦\84 â\8a¢ U â\9e¡[c, h] U2 →
+fact cpg_inv_bind1_aux: â\88\80c,h,G,L,U,U2. â¦\83G, Lâ¦\84 â\8a¢ U â¬\88[c, h] U2 →
                         ∀p,J,V1,U1. U = ⓑ{p,J}V1.U1 → (
-                        â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, L.â\93\91{J}V1â¦\84 â\8a¢ U1 â\9e¡[cT, h] T2 &
+                        â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, L.â\93\91{J}V1â¦\84 â\8a¢ U1 â¬\88[cT, h] T2 &
                                        U2 = ⓑ{p,J}V2.T2 & c = (↓cV)+cT
                         ) ∨
-                        â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ U1 â\9e¡[cT, h] T & ⬆*[1] U2 ≡ T &
+                        â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ U1 â¬\88[cT, h] T & ⬆*[1] U2 ≡ T &
                                 p = true & J = Abbr & c = (↓cT)+𝟙𝟘.
 #c #h #G #L #U #U2 * -c -G -L -U -U2
 [ #I #G #L #q #J #W #U1 #H destruct
@@ -172,26 +172,26 @@ fact cpg_inv_bind1_aux: ∀c,h,G,L,U,U2. ⦃G, L⦄ ⊢ U ➡[c, h] U2 →
 ]
 qed-.
 
-lemma cpg_inv_bind1: â\88\80c,h,p,I,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â\9e¡[c, h] U2 → (
-                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_bind1: â\88\80c,h,p,I,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â¬\88[c, h] U2 → (
+                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                     U2 = ⓑ{p,I}V2.T2 & c = (↓cV)+cT
                      ) ∨
-                     â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T & ⬆*[1] U2 ≡ T &
+                     â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[cT, h] T & ⬆*[1] U2 ≡ T &
                              p = true & I = Abbr & c = (↓cT)+𝟙𝟘.
 /2 width=3 by cpg_inv_bind1_aux/ qed-.
 
-lemma cpg_inv_abbr1: â\88\80c,h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\93{p}V1.T1 â\9e¡[c, h] U2 → (
-                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_abbr1: â\88\80c,h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\93{p}V1.T1 â¬\88[c, h] U2 → (
+                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                     U2 = ⓓ{p}V2.T2 & c = (↓cV)+cT
                      ) ∨
-                     â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T & ⬆*[1] U2 ≡ T &
+                     â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[cT, h] T & ⬆*[1] U2 ≡ T &
                              p = true & c = (↓cT)+𝟙𝟘.
 #c #h #p #G #L #V1 #T1 #U2 #H elim (cpg_inv_bind1 … H) -H *
 /3 width=8 by ex4_4_intro, ex4_2_intro, or_introl, or_intror/
 qed-.
 
-lemma cpg_inv_abst1: â\88\80c,h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9b{p}V1.T1 â\9e¡[c, h] U2 →
-                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, L.â\93\9bV1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_abst1: â\88\80c,h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9b{p}V1.T1 â¬\88[c, h] U2 →
+                     â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, L.â\93\9bV1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                     U2 = ⓛ{p}V2.T2 & c = (↓cV)+cT.
 #c #h #p #G #L #V1 #T1 #U2 #H elim (cpg_inv_bind1 … H) -H * 
 [ /3 width=8 by ex4_4_intro/
@@ -199,15 +199,15 @@ lemma cpg_inv_abst1: ∀c,h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓛ{p}V1.T1 ➡[c, h]
 ]
 qed-.
 
-fact cpg_inv_flat1_aux: â\88\80c,h,G,L,U,U2. â¦\83G, Lâ¦\84 â\8a¢ U â\9e¡[c, h] U2 →
+fact cpg_inv_flat1_aux: â\88\80c,h,G,L,U,U2. â¦\83G, Lâ¦\84 â\8a¢ U â¬\88[c, h] U2 →
                         ∀J,V1,U1. U = ⓕ{J}V1.U1 →
-                        â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] T2 &
+                        â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] T2 &
                                           U2 = ⓕ{J}V2.T2 & c = (↓cV)+cT
-                         | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] U2 & J = Cast & c = (↓cT)+𝟙𝟘
-                         | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] U2 & J = Cast & c = (↓cV)+𝟘𝟙
-                         | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                         | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] U2 & J = Cast & c = (↓cT)+𝟙𝟘
+                         | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] U2 & J = Cast & c = (↓cV)+𝟘𝟙
+                         | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                         J = Appl & U1 = ⓛ{p}W1.T1 & U2 = ⓓ{p}ⓝW2.V2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘
-                         | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                         | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                           J = Appl & U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘.
 #c #h #G #L #U #U2 * -c -G -L -U -U2
 [ #I #G #L #J #W #U1 #H destruct
@@ -225,23 +225,23 @@ fact cpg_inv_flat1_aux: ∀c,h,G,L,U,U2. ⦃G, L⦄ ⊢ U ➡[c, h] U2 →
 ]
 qed-.
 
-lemma cpg_inv_flat1: â\88\80c,h,I,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.U1 â\9e¡[c, h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_flat1: â\88\80c,h,I,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.U1 â¬\88[c, h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] T2 &
                                        U2 = ⓕ{I}V2.T2 & c = (↓cV)+cT
-                      | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] U2 & I = Cast & c = (↓cT)+𝟙𝟘
-                      | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] U2 & I = Cast & c = (↓cV)+𝟘𝟙
-                      | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                      | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] U2 & I = Cast & c = (↓cT)+𝟙𝟘
+                      | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] U2 & I = Cast & c = (↓cV)+𝟘𝟙
+                      | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                      I = Appl & U1 = ⓛ{p}W1.T1 & U2 = ⓓ{p}ⓝW2.V2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘
-                      | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                      | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                        I = Appl & U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘.
 /2 width=3 by cpg_inv_flat1_aux/ qed-.
 
-lemma cpg_inv_appl1: â\88\80c,h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.U1 â\9e¡[c, h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_appl1: â\88\80c,h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.U1 â¬\88[c, h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] T2 &
                                        U2 = ⓐV2.T2 & c = (↓cV)+cT
-                      | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                      | â\88\83â\88\83cV,cW,cT,p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                      U1 = ⓛ{p}W1.T1 & U2 = ⓓ{p}ⓝW2.V2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘
-                      | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+                      | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V & â¬\86*[1] V â\89¡ V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[cW, h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                                        U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2 & c = (↓cV)+(↓cW)+(↓cT)+𝟙𝟘.
 #c #h #G #L #V1 #U1 #U2 #H elim (cpg_inv_flat1 … H) -H *
 [ /3 width=8 by or3_intro0, ex4_4_intro/
@@ -251,11 +251,11 @@ lemma cpg_inv_appl1: ∀c,h,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓐV1.U1 ➡[c, h] U2 
 ]
 qed-.
 
-lemma cpg_inv_cast1: â\88\80c,h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.U1 â\9e¡[c, h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_cast1: â\88\80c,h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.U1 â¬\88[c, h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] T2 &
                                        U2 = ⓝV2.T2 & c = (↓cV)+cT
-                      | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[cT, h] U2 & c = (↓cT)+𝟙𝟘
-                      | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] U2 & c = (↓cV)+𝟘𝟙.
+                      | â\88\83â\88\83cT. â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[cT, h] U2 & c = (↓cT)+𝟙𝟘
+                      | â\88\83â\88\83cV. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] U2 & c = (↓cV)+𝟘𝟙.
 #c #h #G #L #V1 #U1 #U2 #H elim (cpg_inv_flat1 … H) -H *
 [ /3 width=8 by or3_intro0, ex4_4_intro/
 |2,3: /3 width=3 by or3_intro1, or3_intro2, ex2_intro/
@@ -266,8 +266,8 @@ qed-.
 
 (* Basic forward lemmas *****************************************************)
 
-lemma cpg_fwd_bind1_minus: â\88\80c,h,I,G,L,V1,T1,T. â¦\83G, Lâ¦\84 â\8a¢ -â\93\91{I}V1.T1 â\9e¡[c, h] T → ∀p.
-                           â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â\9e¡[c, h] ⓑ{p,I}V2.T2 &
+lemma cpg_fwd_bind1_minus: â\88\80c,h,I,G,L,V1,T1,T. â¦\83G, Lâ¦\84 â\8a¢ -â\93\91{I}V1.T1 â¬\88[c, h] T → ∀p.
+                           â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â¬\88[c, h] ⓑ{p,I}V2.T2 &
                                     T = -ⓑ{I}V2.T2.
 #c #h #I #G #L #V1 #T1 #T #H #p elim (cpg_inv_bind1 … H) -H *
 [ #cV #cT #V2 #T2 #HV12 #HT12 #H1 #H2 destruct /3 width=4 by cpg_bind, ex2_2_intro/
index c8f0b394fe60de960335be39bbc76192b28d8706..779ea690b035a6c6b06e4298d1577f747f1be200 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/rt_transition/cpg.ma".
 
 (* Advanced properties ******************************************************)
 
-lemma cpg_delta_drops: â\88\80c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.â\93\93V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[c, h] V2 →
-                       â¬\86*[⫯i] V2 â\89¡ T2 â\86\92  â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡[c, h] T2.
+lemma cpg_delta_drops: â\88\80c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.â\93\93V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[c, h] V2 →
+                       â¬\86*[⫯i] V2 â\89¡ T2 â\86\92  â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88[c, h] T2.
 #c #h #G #K #V #V2 #i elim i -i
 [ #L #T2 #HLK lapply (drops_fwd_isid … HLK ?) // #H destruct /3 width=3 by cpg_delta/
 | #i #IH #L0 #T0 #H0 #HV2 #HVT2
@@ -31,8 +31,8 @@ lemma cpg_delta_drops: ∀c,h,G,K,V,V2,i,L,T2. ⬇*[i] L ≡ K.ⓓV → ⦃G, K
 ]
 qed.
 
-lemma cpg_ell_drops: â\88\80c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.â\93\9bV â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[c, h] V2 →
-                     â¬\86*[⫯i] V2 â\89¡ T2 â\86\92  â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡[(↓c)+𝟘𝟙, h] T2.
+lemma cpg_ell_drops: â\88\80c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.â\93\9bV â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[c, h] V2 →
+                     â¬\86*[⫯i] V2 â\89¡ T2 â\86\92  â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88[(↓c)+𝟘𝟙, h] T2.
 #c #h #G #K #V #V2 #i elim i -i
 [ #L #T2 #HLK lapply (drops_fwd_isid … HLK ?) // #H destruct /3 width=3 by cpg_ell/
 | #i #IH #L0 #T0 #H0 #HV2 #HVT2
@@ -43,11 +43,11 @@ qed.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma cpg_inv_lref1_drops: â\88\80c,h,G,i,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡[c, h] T2 →
+lemma cpg_inv_lref1_drops: â\88\80c,h,G,i,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88[c, h] T2 →
                            ∨∨ T2 = #i ∧ c = 𝟘𝟘
-                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\93V & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[cV, h] V2 &
+                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\93V & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[cV, h] V2 &
                                            ⬆*[⫯i] V2 ≡ T2 & c = cV
-                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\9bV & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[cV, h] V2 &
+                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\9bV & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[cV, h] V2 &
                                            ⬆*[⫯i] V2 ≡ T2 & c = (↓cV) + 𝟘𝟙.
 #c #h #G #i elim i -i
 [ #L #T2 #H elim (cpg_inv_zero1 … H) -H * /3 width=1 by or3_intro0, conj/
@@ -61,12 +61,12 @@ lemma cpg_inv_lref1_drops: ∀c,h,G,i,L,T2. ⦃G, L⦄ ⊢ #i ➡[c, h] T2 →
 ]
 qed-.
 
-lemma cpg_inv_atom1_drops: â\88\80c,h,I,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â\9e¡[c, h] T2 →
+lemma cpg_inv_atom1_drops: â\88\80c,h,I,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â¬\88[c, h] T2 →
                            ∨∨ T2 = ⓪{I} ∧ c = 𝟘𝟘
                             | ∃∃s. T2 = ⋆(next h s) & I = Sort s & c = 𝟘𝟙
-                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\93V & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[cV, h] V2 &
+                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\93V & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[cV, h] V2 &
                                              ⬆*[⫯i] V2 ≡ T2 & I = LRef i & c = cV
-                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\9bV & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[cV, h] V2 &
+                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89¡ K.â\93\9bV & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[cV, h] V2 &
                                              ⬆*[⫯i] V2 ≡ T2 & I = LRef i & c = (↓cV) + 𝟘𝟙.
 #c #h * #n #G #L #T2 #H
 [ elim (cpg_inv_sort1 … H) -H *
index 5dcf8ece0ffdff50a57f4da0c31bd06595481478..a53be69b04b218bad0b92569e7ddfb9fd3d051f1 100644 (file)
@@ -20,8 +20,8 @@ include "basic_2/rt_transition/cpg.ma".
 (* Properties with simple terms *********************************************)
 
 (* Note: the main property of simple terms *)
-lemma cpg_inv_appl1_simple: â\88\80c,h,G,L,V1,T1,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â\9e¡[c, h] U → 𝐒⦃T1⦄ →
-                            â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[cT, h] T2 &
+lemma cpg_inv_appl1_simple: â\88\80c,h,G,L,V1,T1,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â¬\88[c, h] U → 𝐒⦃T1⦄ →
+                            â\88\83â\88\83cV,cT,V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[cV, h] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[cT, h] T2 &
                                            U = ⓐV2.T2 & c = (↓cV)+cT.
 #c #h #G #L #V1 #T1 #U #H #HT1 elim (cpg_inv_appl1 … H) -H *
 [ /2 width=8 by ex4_4_intro/
index c4073314272cd31baa463371d7320bef43d1e2b9..ac024892379aa703d33377ffc012e9e834bb657b 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
-include "basic_2/notation/relations/pred_5.ma".
+include "basic_2/notation/relations/predty_5.ma".
 include "basic_2/rt_transition/cpg.ma".
 
-(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL REDUCTION FOR TERMS *****************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 definition cpx (h): relation4 genv lenv term term ≝
-                    Î»G,L,T1,T2. â\88\83c. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[c, h] T2.
+                    Î»G,L,T1,T2. â\88\83c. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[c, h] T2.
 
 interpretation
    "uncounted context-sensitive parallel reduction (term)"
-   'PRed h G L T1 T2 = (cpx h G L T1 T2).
+   'PRedTy h G L T1 T2 = (cpx h G L T1 T2).
 
 (* Basic properties *********************************************************)
 
-lemma cpx_atom: â\88\80h,I,G,L. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â\9e¡[h] ⓪{I}.
+lemma cpx_atom: â\88\80h,I,G,L. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â¬\88[h] ⓪{I}.
 /2 width=2 by cpg_atom, ex_intro/ qed.
 
 (* Basic_2A1: was: cpx_st *)
-lemma cpx_ess: â\88\80h,G,L,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡[h] ⋆(next h s).
+lemma cpx_ess: â\88\80h,G,L,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88[h] ⋆(next h s).
 /2 width=2 by cpg_ess, ex_intro/ qed.
 
-lemma cpx_delta: â\88\80h,I,G,K,V1,V2,W2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 →
-                 â¬\86*[1] V2 â\89¡ W2 â\86\92 â¦\83G, K.â\93\91{I}V1â¦\84 â\8a¢ #0 â\9e¡[h] W2.
+lemma cpx_delta: â\88\80h,I,G,K,V1,V2,W2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 →
+                 â¬\86*[1] V2 â\89¡ W2 â\86\92 â¦\83G, K.â\93\91{I}V1â¦\84 â\8a¢ #0 â¬\88[h] W2.
 #h * #G #K #V1 #V2 #W2 *
 /3 width=4 by cpg_delta, cpg_ell, ex_intro/
 qed.
 
-lemma cpx_lref: â\88\80h,I,G,K,V,T,U,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T →
-                â¬\86*[1] T â\89¡ U â\86\92 â¦\83G, K.â\93\91{I}Vâ¦\84 â\8a¢ #⫯i â\9e¡[h] U.
+lemma cpx_lref: â\88\80h,I,G,K,V,T,U,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T →
+                â¬\86*[1] T â\89¡ U â\86\92 â¦\83G, K.â\93\91{I}Vâ¦\84 â\8a¢ #⫯i â¬\88[h] U.
 #h #I #G #K #V #T #U #i *
 /3 width=4 by cpg_lref, ex_intro/
 qed.
 
 lemma cpx_bind: ∀h,p,I,G,L,V1,V2,T1,T2.
-                 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 â\86\92 â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â\9e¡[h] T2 →
-                 â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â\9e¡[h] ⓑ{p,I}V2.T2.
+                 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 â\86\92 â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â¬\88[h] T2 →
+                 â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â¬\88[h] ⓑ{p,I}V2.T2.
 #h #p #I #G #L #V1 #V2 #T1 #T2 * #cV #HV12 *
 /3 width=2 by cpg_bind, ex_intro/
 qed.
 
 lemma cpx_flat: ∀h,I,G,L,V1,V2,T1,T2.
-                 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h] T2 →
-                 â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â\9e¡[h] ⓕ{I}V2.T2.
+                 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h] T2 →
+                 â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.T1 â¬\88[h] ⓕ{I}V2.T2.
 #h #I #G #L #V1 #V2 #T1 #T2 * #cV #HV12 *
 /3 width=2 by cpg_flat, ex_intro/
 qed.
 
-lemma cpx_zeta: â\88\80h,G,L,V,T1,T,T2. â¦\83G, L.â\93\93Vâ¦\84 â\8a¢ T1 â\9e¡[h] T →
-                â¬\86*[1] T2 â\89¡ T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ +â\93\93V.T1 â\9e¡[h] T2.
+lemma cpx_zeta: â\88\80h,G,L,V,T1,T,T2. â¦\83G, L.â\93\93Vâ¦\84 â\8a¢ T1 â¬\88[h] T →
+                â¬\86*[1] T2 â\89¡ T â\86\92 â¦\83G, Lâ¦\84 â\8a¢ +â\93\93V.T1 â¬\88[h] T2.
 #h #G #L #V #T1 #T #T2 *
 /3 width=4 by cpg_zeta, ex_intro/
 qed.
 
-lemma cpx_eps: â\88\80h,G,L,V,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV.T1 â\9e¡[h] T2.
+lemma cpx_eps: â\88\80h,G,L,V,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h] T2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV.T1 â¬\88[h] T2.
 #h #G #L #V #T1 #T2 *
 /3 width=2 by cpg_eps, ex_intro/
 qed.
 
 (* Basic_2A1: was: cpx_ct *)
-lemma cpx_ee: â\88\80h,G,L,V1,V2,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.T â\9e¡[h] V2.
+lemma cpx_ee: â\88\80h,G,L,V1,V2,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.T â¬\88[h] V2.
 #h #G #L #V1 #V2 #T *
 /3 width=2 by cpg_ee, ex_intro/
 qed.
 
 lemma cpx_beta: ∀h,p,G,L,V1,V2,W1,W2,T1,T2.
-                â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[h] T2 →
-                â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{p}W1.T1 â\9e¡[h] ⓓ{p}ⓝW2.V2.T2.
+                â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 â\86\92 â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[h] T2 →
+                â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\9b{p}W1.T1 â¬\88[h] ⓓ{p}ⓝW2.V2.T2.
 #h #p #G #L #V1 #V2 #W1 #W2 #T1 #T2 * #cV #HV12 * #cW #HW12 * 
 /3 width=2 by cpg_beta, ex_intro/
 qed.
 
 lemma cpx_theta: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
-                 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V â\86\92 â¬\86*[1] V â\89¡ V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 →
-                 â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[h] T2 →
-                 â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{p}W1.T1 â\9e¡[h] ⓓ{p}W2.ⓐV2.T2.
+                 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89¡ V2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 →
+                 â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[h] T2 →
+                 â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.â\93\93{p}W1.T1 â¬\88[h] ⓓ{p}W2.ⓐV2.T2.
 #h #p #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 * #cV #HV1 #HV2 * #cW #HW12 * 
 /3 width=4 by cpg_theta, ex_intro/
 qed.
@@ -94,119 +94,119 @@ qed.
 lemma cpx_refl: ∀h,G,L. reflexive … (cpx h G L).
 /2 width=2 by ex_intro/ qed.
 
-lemma cpx_pair_sn: â\88\80h,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 →
-                   â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â\9e¡[h] ②{I}V2.T.
+lemma cpx_pair_sn: â\88\80h,I,G,L,V1,V2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 →
+                   â\88\80T. â¦\83G, Lâ¦\84 â\8a¢ â\91¡{I}V1.T â¬\88[h] ②{I}V2.T.
 #h #I #G #L #V1 #V2 *
 /3 width=2 by cpg_pair_sn, ex_intro/
 qed.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma cpx_inv_atom1: â\88\80h,J,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{J} â\9e¡[h] T2 →
+lemma cpx_inv_atom1: â\88\80h,J,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{J} â¬\88[h] T2 →
                      ∨∨ T2 = ⓪{J}
                       | ∃∃s. T2 = ⋆(next h s) & J = Sort s
-                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & ⬆*[1] V2 ≡ T2 &
+                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & ⬆*[1] V2 ≡ T2 &
                                      L = K.ⓑ{I}V1 & J = LRef 0
-                      | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & ⬆*[1] T ≡ T2 &
+                      | â\88\83â\88\83I,K,V,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & ⬆*[1] T ≡ T2 &
                                      L = K.ⓑ{I}V & J = LRef (⫯i).
 #h #J #G #L #T2 * #c #H elim (cpg_inv_atom1 … H) -H *
 /4 width=9 by or4_intro0, or4_intro1, or4_intro2, or4_intro3, ex4_5_intro, ex4_4_intro, ex2_intro, ex_intro/
 qed-.
 
-lemma cpx_inv_sort1: â\88\80h,G,L,T2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â\9e¡[h] T2 →
+lemma cpx_inv_sort1: â\88\80h,G,L,T2,s. â¦\83G, Lâ¦\84 â\8a¢ â\8b\86s â¬\88[h] T2 →
                      T2 = ⋆s ∨ T2 = ⋆(next h s).
 #h #G #L #T2 #s * #c #H elim (cpg_inv_sort1 … H) -H *
 /2 width=1 by or_introl, or_intror/
 qed-.
 
-lemma cpx_inv_zero1: â\88\80h,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #0 â\9e¡[h] T2 →
+lemma cpx_inv_zero1: â\88\80h,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ #0 â¬\88[h] T2 →
                      T2 = #0 ∨
-                     â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & ⬆*[1] V2 ≡ T2 &
+                     â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & ⬆*[1] V2 ≡ T2 &
                                   L = K.ⓑ{I}V1.
 #h #G #L #T2 * #c #H elim (cpg_inv_zero1 … H) -H *
 /4 width=7 by ex3_4_intro, ex_intro, or_introl, or_intror/
 qed-.
 
-lemma cpx_inv_lref1: â\88\80h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #⫯i â\9e¡[h] T2 →
+lemma cpx_inv_lref1: â\88\80h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #⫯i â¬\88[h] T2 →
                      T2 = #(⫯i) ∨
-                     â\88\83â\88\83I,K,V,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & ⬆*[1] T ≡ T2 & L = K.ⓑ{I}V.
+                     â\88\83â\88\83I,K,V,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & ⬆*[1] T ≡ T2 & L = K.ⓑ{I}V.
 #h #G #L #T2 #i * #c #H elim (cpg_inv_lref1 … H) -H *
 /4 width=7 by ex3_4_intro, ex_intro, or_introl, or_intror/
 qed-.
 
-lemma cpx_inv_gref1: â\88\80h,G,L,T2,l. â¦\83G, Lâ¦\84 â\8a¢ Â§l â\9e¡[h] T2 → T2 = §l.
+lemma cpx_inv_gref1: â\88\80h,G,L,T2,l. â¦\83G, Lâ¦\84 â\8a¢ Â§l â¬\88[h] T2 → T2 = §l.
 #h #G #L #T2 #l * #c #H elim (cpg_inv_gref1 … H) -H //
 qed-.
 
-lemma cpx_inv_bind1: â\88\80h,p,I,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â\9e¡[h] U2 → (
-                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+lemma cpx_inv_bind1: â\88\80h,p,I,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â¬\88[h] U2 → (
+                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, L.â\93\91{I}V1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                               U2 = ⓑ{p,I}V2.T2
                      ) ∨
-                     â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[h] T & ⬆*[1] U2 ≡ T &
+                     â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & ⬆*[1] U2 ≡ T &
                           p = true & I = Abbr.
 #h #p #I #G #L #V1 #T1 #U2 * #c #H elim (cpg_inv_bind1 … H) -H *
 /4 width=5 by ex4_intro, ex3_2_intro, ex_intro, or_introl, or_intror/
 qed-.
 
-lemma cpx_inv_abbr1: â\88\80h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\93{p}V1.T1 â\9e¡[h] U2 → (
-                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+lemma cpx_inv_abbr1: â\88\80h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\93{p}V1.T1 â¬\88[h] U2 → (
+                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                               U2 = ⓓ{p}V2.T2
                      ) ∨
-                     â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[h] T & ⬆*[1] U2 ≡ T & p = true.
+                     â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & ⬆*[1] U2 ≡ T & p = true.
 #h #p #G #L #V1 #T1 #U2 * #c #H elim (cpg_inv_abbr1 … H) -H *
 /4 width=5 by ex3_2_intro, ex3_intro, ex_intro, or_introl, or_intror/
 qed-.
 
-lemma cpx_inv_abst1: â\88\80h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9b{p}V1.T1 â\9e¡[h] U2 →
-                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, L.â\93\9bV1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+lemma cpx_inv_abst1: â\88\80h,p,G,L,V1,T1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9b{p}V1.T1 â¬\88[h] U2 →
+                     â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, L.â\93\9bV1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                               U2 = ⓛ{p}V2.T2.
 #h #p #G #L #V1 #T1 #U2 * #c #H elim (cpg_inv_abst1 … H) -H
 /3 width=5 by ex3_2_intro, ex_intro/
 qed-.
 
-lemma cpx_inv_flat1: â\88\80h,I,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.U1 â\9e¡[h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[h] T2 &
+lemma cpx_inv_flat1: â\88\80h,I,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\95{I}V1.U1 â¬\88[h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[h] T2 &
                                  U2 = ⓕ{I}V2.T2
-                      | (â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[h] U2 ∧ I = Cast)
-                      | (â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] U2 ∧ I = Cast)
-                      | â\88\83â\88\83p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 &
-                                            â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+                      | (â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[h] U2 ∧ I = Cast)
+                      | (â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] U2 ∧ I = Cast)
+                      | â\88\83â\88\83p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 &
+                                            â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                                             U1 = ⓛ{p}W1.T1 &
                                             U2 = ⓓ{p}ⓝW2.V2.T2 & I = Appl
-                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V & ⬆*[1] V ≡ V2 &
-                                              â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V & ⬆*[1] V ≡ V2 &
+                                              â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                                               U1 = ⓓ{p}W1.T1 &
                                               U2 = ⓓ{p}W2.ⓐV2.T2 & I = Appl.
 #h #I #G #L #V1 #U1 #U2 * #c #H elim (cpg_inv_flat1 … H) -H *
 /4 width=14 by or5_intro0, or5_intro1, or5_intro2, or5_intro3, or5_intro4, ex7_7_intro, ex6_6_intro, ex3_2_intro, ex_intro, conj/
 qed-.
 
-lemma cpx_inv_appl1: â\88\80h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90 V1.U1 â\9e¡[h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[h] T2 &
+lemma cpx_inv_appl1: â\88\80h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\90 V1.U1 â¬\88[h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[h] T2 &
                                  U2 = ⓐV2.T2
-                      | â\88\83â\88\83p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 &
-                                            â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+                      | â\88\83â\88\83p,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 &
+                                            â¦\83G, L.â\93\9bW1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                                             U1 = ⓛ{p}W1.T1 & U2 = ⓓ{p}ⓝW2.V2.T2
-                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V & ⬆*[1] V ≡ V2 &
-                                              â¦\83G, Lâ¦\84 â\8a¢ W1 â\9e¡[h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V & ⬆*[1] V ≡ V2 &
+                                              â¦\83G, Lâ¦\84 â\8a¢ W1 â¬\88[h] W2 & â¦\83G, L.â\93\93W1â¦\84 â\8a¢ T1 â¬\88[h] T2 &
                                               U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2.
 #h #G #L #V1 #U1 #U2 * #c #H elim (cpg_inv_appl1 … H) -H *
 /4 width=13 by or3_intro0, or3_intro1, or3_intro2, ex6_7_intro, ex5_6_intro, ex3_2_intro, ex_intro/
 qed-.
 
-lemma cpx_inv_cast1: â\88\80h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.U1 â\9e¡[h] U2 →
-                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[h] T2 &
+lemma cpx_inv_cast1: â\88\80h,G,L,V1,U1,U2. â¦\83G, Lâ¦\84 â\8a¢ â\93\9dV1.U1 â¬\88[h] U2 →
+                     â\88¨â\88¨ â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[h] T2 &
                                  U2 = ⓝV2.T2
-                      | â¦\83G, Lâ¦\84 â\8a¢ U1 â\9e¡[h] U2
-                      | â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] U2.
+                      | â¦\83G, Lâ¦\84 â\8a¢ U1 â¬\88[h] U2
+                      | â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] U2.
 #h #G #L #V1 #U1 #U2 * #c #H elim (cpg_inv_cast1 … H) -H *
 /4 width=5 by or3_intro0, or3_intro1, or3_intro2, ex3_2_intro, ex_intro/
 qed-.
 
 (* Basic forward lemmas *****************************************************)
 
-lemma cpx_fwd_bind1_minus: â\88\80h,I,G,L,V1,T1,T. â¦\83G, Lâ¦\84 â\8a¢ -â\93\91{I}V1.T1 â\9e¡[h] T → ∀p.
-                           â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â\9e¡[h] ⓑ{p,I}V2.T2 &
+lemma cpx_fwd_bind1_minus: â\88\80h,I,G,L,V1,T1,T. â¦\83G, Lâ¦\84 â\8a¢ -â\93\91{I}V1.T1 â¬\88[h] T → ∀p.
+                           â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93\91{p,I}V1.T1 â¬\88[h] ⓑ{p,I}V2.T2 &
                                     T = -ⓑ{I}V2.T2.
 #h #I #G #L #V1 #T1 #T * #c #H #p elim (cpg_fwd_bind1_minus … H p) -H
 /3 width=4 by ex2_2_intro, ex_intro/
index 6caaa1d76034add06129dd5aa43f395e96bbe44f..98c2b491fa392555ab26a43960208a8c2c05c73c 100644 (file)
 include "basic_2/rt_transition/cpg_drops.ma".
 include "basic_2/rt_transition/cpx.ma".
 
-(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL REDUCTION FOR TERMS *****************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 (* Advanced properties ******************************************************)
 
 (* Basic_2A1: was: cpx_delta *)
 lemma cpx_delta_drops: ∀h,I,G,L,K,V,V2,W2,i.
-                       â¬\87*[i] L â\89¡ K.â\93\91{I}V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[h] V2 →
-                       â¬\86*[⫯i] V2 â\89¡ W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡[h] W2.
+                       â¬\87*[i] L â\89¡ K.â\93\91{I}V â\86\92 â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[h] V2 →
+                       â¬\86*[⫯i] V2 â\89¡ W2 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88[h] W2.
 #h * #G #L #K #V #V2 #W2 #i #HLK *
 /3 width=7 by cpg_ell_drops, cpg_delta_drops, ex_intro/
 qed.
@@ -30,19 +30,19 @@ qed.
 (* Advanced inversion lemmas ************************************************)
 
 (* Basic_2A1: was: cpx_inv_atom1 *)
-lemma cpx_inv_atom1_drops: â\88\80h,I,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â\9e¡[h] T2 →
+lemma cpx_inv_atom1_drops: â\88\80h,I,G,L,T2. â¦\83G, Lâ¦\84 â\8a¢ â\93ª{I} â¬\88[h] T2 →
                            ∨∨ T2 = ⓪{I}
                             | ∃∃s. T2 = ⋆(next h s) & I = Sort s
-                            | â\88\83â\88\83J,K,V,V2,i. â¬\87*[i] L â\89¡ K.â\93\91{J}V & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[h] V2 &
+                            | â\88\83â\88\83J,K,V,V2,i. â¬\87*[i] L â\89¡ K.â\93\91{J}V & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[h] V2 &
                                             ⬆*[⫯i] V2 ≡ T2 & I = LRef i.
 #h #I #G #L #T2 * #c #H elim (cpg_inv_atom1_drops … H) -H *
 /4 width=9 by or3_intro0, or3_intro1, or3_intro2, ex4_5_intro, ex2_intro, ex_intro/
 qed-.
 
 (* Basic_2A1: was: cpx_inv_lref1 *)
-lemma cpx_inv_lref1_drops: â\88\80h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #i â\9e¡[h] T2 →
+lemma cpx_inv_lref1_drops: â\88\80h,G,L,T2,i. â¦\83G, Lâ¦\84 â\8a¢ #i â¬\88[h] T2 →
                            T2 = #i ∨
-                           â\88\83â\88\83J,K,V,V2. â¬\87*[i] L â\89¡ K. â\93\91{J}V & â¦\83G, Kâ¦\84 â\8a¢ V â\9e¡[h] V2 &
+                           â\88\83â\88\83J,K,V,V2. â¬\87*[i] L â\89¡ K. â\93\91{J}V & â¦\83G, Kâ¦\84 â\8a¢ V â¬\88[h] V2 &
                                        ⬆*[⫯i] V2 ≡ T2.
 #h #G #L #T1 #i * #c #H elim (cpg_inv_lref1_drops … H) -H *
 /4 width=7 by ex3_4_intro, ex_intro, or_introl, or_intror/
index 645f59987be2fcf8278cc3c2d04d94985ea3f38d..41763dfa2c97aa65d8b5657d5a0235f97d9a8094 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
+
 (* Properties on supclosure *************************************************)
 
 lemma fqu_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ →
-                     â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 →
-                     â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
+                     â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 →
+                     â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2 
 /3 width=3 by fqu_pair_sn, fqu_bind_dx, fqu_flat_dx, cpx_pair_sn, cpx_bind, cpx_flat, ex2_intro/
 [ #I #G #L #V2 #U2 #HVU2
@@ -29,8 +31,8 @@ lemma fqu_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T
 qed-.
 
 lemma fquq_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ →
-                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 →
-                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
+                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 →
+                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H #U2 #HTU2 elim (fquq_inv_gen … H) -H
 [ #HT12 elim (fqu_cpx_trans … HT12 … HTU2) /3 width=3 by fqu_fquq, ex2_intro/
 | * #H1 #H2 #H3 destruct /2 width=3 by ex2_intro/
@@ -38,8 +40,8 @@ lemma fquq_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L
 qed-.
 
 lemma fqup_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ →
-                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 →
-                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
+                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 →
+                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind … H) -G2 -L2 -T2
 [ #G2 #L2 #T2 #H12 #U2 #HTU2 elim (fqu_cpx_trans … H12 … HTU2) -T2
   /3 width=3 by fqu_fqup, ex2_intro/
@@ -50,8 +52,8 @@ lemma fqup_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2,
 qed-.
 
 lemma fqus_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ →
-                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 →
-                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
+                      â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 →
+                      â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H #U2 #HTU2 elim (fqus_inv_gen … H) -H
 [ #HT12 elim (fqup_cpx_trans … HT12 … HTU2) /3 width=3 by fqup_fqus, ex2_intro/
 | * #H1 #H2 #H3 destruct /2 width=3 by ex2_intro/
@@ -59,8 +61,8 @@ lemma fqus_cpx_trans: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2,
 qed-.
 
 lemma fqu_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L2, T2⦄ →
-                         â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 → (T2 = U2 → ⊥) →
-                         â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
+                         â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 → (T2 = U2 → ⊥) →
+                         â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H elim H -G1 -G2 -L1 -L2 -T1 -T2
 [ #I #G #L #V1 #V2 #HV12 #_ elim (lift_total V2 0 1)
   #U2 #HVU2 @(ex3_intro … U2)
@@ -88,8 +90,8 @@ lemma fqu_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐ ⦃G2, L
 qed-.
 
 lemma fquq_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G2, L2, T2⦄ →
-                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 → (T2 = U2 → ⊥) →
-                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
+                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 → (T2 = U2 → ⊥) →
+                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐⸮ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H12 #U2 #HTU2 #H elim (fquq_inv_gen … H12) -H12
 [ #H12 elim (fqu_cpx_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqu_fquq, ex3_intro/
@@ -98,8 +100,8 @@ lemma fquq_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐⸮ ⦃G
 qed-.
 
 lemma fqup_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ →
-                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 → (T2 = U2 → ⊥) →
-                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
+                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 → (T2 = U2 → ⊥) →
+                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐+ ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind_dx … H) -G1 -L1 -T1
 [ #G1 #L1 #T1 #H12 #U2 #HTU2 #H elim (fqu_cpx_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqu_fqup, ex3_intro/
@@ -110,8 +112,8 @@ lemma fqup_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2,
 qed-.
 
 lemma fqus_cpx_trans_neq: ∀h,o,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐* ⦃G2, L2, T2⦄ →
-                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â\9e¡[h, o] U2 → (T2 = U2 → ⊥) →
-                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
+                          â\88\80U2. â¦\83G2, L2â¦\84 â\8a¢ T2 â¬\88[h, o] U2 → (T2 = U2 → ⊥) →
+                          â\88\83â\88\83U1. â¦\83G1, L1â¦\84 â\8a¢ T1 â¬\88[h, o] U1 & T1 = U1 → ⊥ & ⦃G1, L1, U1⦄ ⊐* ⦃G2, L2, U2⦄.
 #h #o #G1 #G2 #L1 #L2 #T1 #T2 #H12 #U2 #HTU2 #H elim (fqus_inv_gen … H12) -H12
 [ #H12 elim (fqup_cpx_trans_neq … H12 … HTU2 H) -T2
   /3 width=4 by fqup_fqus, ex3_intro/
index 2f608db01214bcc196dcca8bac4d24c0a06bbda8..946975957cecb1a3afdbd57d670680fec2d4a23b 100644 (file)
 include "basic_2/multiple/lleq_drop.ma".
 include "basic_2/reduction/cpx_llpx_sn.ma".
 
-(* CONTEXT-SENSITIVE EXTENDED PARALLEL REDUCTION FOR TERMS ******************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 (* Properties on lazy equivalence for local environments ********************)
 
-lemma lleq_cpx_trans: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡[h, o] T2 →
-                      â\88\80L1. L1 â\89¡[T1, 0] L2 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] T2.
+lemma lleq_cpx_trans: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88[h, o] T2 →
+                      â\88\80L1. L1 â\89¡[T1, 0] L2 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â¬\88[h, o] T2.
 #h #o #G #L2 #T1 #T2 #H elim H -G -L2 -T1 -T2 /2 width=2 by cpx_st/
 [ #I #G #L2 #K2 #V1 #V2 #W2 #i #HLK2 #_ #HVW2 #IHV12 #L1 #H elim (lleq_fwd_lref_dx … H … HLK2) -L2
   [ #H elim (ylt_yle_false … H) //
@@ -43,13 +43,13 @@ lemma lleq_cpx_trans: ∀h,o,G,L2,T1,T2. ⦃G, L2⦄ ⊢ T1 ➡[h, o] T2 →
 ]
 qed-.
 
-lemma cpx_lleq_conf: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡[h, o] T2 →
-                     â\88\80L1. L2 â\89¡[T1, 0] L1 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â\9e¡[h, o] T2.
+lemma cpx_lleq_conf: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88[h, o] T2 →
+                     â\88\80L1. L2 â\89¡[T1, 0] L1 â\86\92 â¦\83G, L1â¦\84 â\8a¢ T1 â¬\88[h, o] T2.
 /3 width=3 by lleq_cpx_trans, lleq_sym/ qed-.
 
 lemma cpx_lleq_conf_sn: ∀h,o,G. b_c_confluent1 … (cpx h o G) (lleq 0).
 /3 width=6 by cpx_llpx_sn_conf, lift_mono, ex2_intro/ qed-.
 
-lemma cpx_lleq_conf_dx: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â\9e¡[h, o] T2 →
+lemma cpx_lleq_conf_dx: â\88\80h,o,G,L2,T1,T2. â¦\83G, L2â¦\84 â\8a¢ T1 â¬\88[h, o] T2 →
                         ∀L1. L1 ≡[T1, 0] L2 → L1 ≡[T2, 0] L2.
 /4 width=6 by cpx_lleq_conf_sn, lleq_sym/ qed-.
index 6be896ddc66703b773a42b1aff6fe0bc59c401dd..ec6255dfc009ee752a19d7cea3b81715203b5184 100644 (file)
@@ -15,7 +15,7 @@
 include "basic_2/multiple/llpx_sn_drop.ma".
 include "basic_2/reduction/cpx.ma".
 
-(* CONTEXT-SENSITIVE EXTENDED PARALLEL REDUCTION FOR TERMS ******************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 (* Properties on lazy sn pointwise extensions *******************************)
 
index 04d85b66ff55328696cdb69cff9076e595a6c411..9c41e252a04cd97cddb20894da6f8b784664d2b1 100644 (file)
@@ -15,7 +15,7 @@
 include "basic_2/substitution/drop_lreq.ma".
 include "basic_2/reduction/cpx.ma".
 
-(* CONTEXT-SENSITIVE EXTENDED PARALLEL REDUCTION FOR TERMS ******************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 (* Properties on equivalence for local environments *************************)
 
index cd50906ece42ffd702faf692ce425b6040724dc4..c2e3d8ad7d8c96600d1567bb23317b444b332e8c 100644 (file)
@@ -15,7 +15,7 @@
 include "basic_2/rt_transition/cpg_lsubr.ma".
 include "basic_2/rt_transition/cpx.ma".
 
-(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL REDUCTION FOR TERMS *****************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
 lemma lsubr_cpx_trans: ∀h,G. lsub_trans … (cpx h G) lsubr.
 #h #G #L1 #T1 #T2 * /3 width=4 by lsubr_cpg_trans, ex_intro/
index 70e2d3dd3472e3f45e53b68715787c9d96833cba..fbc9eb6442cfaf2259db5809bc5cc2f0abe469ea 100644 (file)
 include "basic_2/rt_transition/cpg_simple.ma".
 include "basic_2/rt_transition/cpx.ma".
 
-(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL REDUCTION FOR TERMS *****************)
+(* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS *************)
 
-lemma cpx_inv_appl1_simple: â\88\80h,G,L,V1,T1,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â\9e¡[h] U → 𝐒⦃T1⦄ →
-                            â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â\9e¡[h] T2 &
+lemma cpx_inv_appl1_simple: â\88\80h,G,L,V1,T1,U. â¦\83G, Lâ¦\84 â\8a¢ â\93\90V1.T1 â¬\88[h] U → 𝐒⦃T1⦄ →
+                            â\88\83â\88\83V2,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h] T2 &
                                      U = ⓐV2.T2.
 #h #G #L #V1 #T1 #U * #c #H #HT1 elim (cpg_inv_appl1_simple … H) -H
 /3 width=5 by ex3_2_intro, ex_intro/
diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/partial.txt
new file mode 100644 (file)
index 0000000..e69bf6b
--- /dev/null
@@ -0,0 +1,2 @@
+cpg.ma cpg_simple.ma cpg_drops.ma cpg_lsubr.ma
+cpx.ma cpx_simple.ma cpx_drops.ma cpx_lsubr.ma
index a5aeb85db0691b032c2b7bb18a86132720ae0a44..6e479eaa3d164a1b2d08a6647dafdb8ff8db8df5 100644 (file)
@@ -149,11 +149,11 @@ table {
         ]
 *)
         [ { "uncounted context-sensitive rt-transition" * } {
-             [ "cpx ( â¦\83?,?â¦\84 â\8a¢ ? â\9e¡[?] ? )" "cpx_simple" + "cpx_drops" + "cpx_lsubr" * ]
+             [ "cpx ( â¦\83?,?â¦\84 â\8a¢ ? â¬\88[?] ? )" "cpx_simple" + "cpx_drops" + "cpx_lsubr" * ]
           }
         ]
         [ { "counted context-sensitive rt-transition" * } {
-             [ "cpg ( â¦\83?,?â¦\84 â\8a¢ ? â\9e¡[?,?] ? )" "cpg_simple" + "cpg_drops" + "cpg_lsubr" * ]
+             [ "cpg ( â¦\83?,?â¦\84 â\8a¢ ? â¬\88[?,?] ? )" "cpg_simple" + "cpg_drops" + "cpg_lsubr" * ]
           }
         ]
      }
@@ -215,8 +215,8 @@ table {
    class "orange"
    [ { "relocation" * } {
         [ { "generic slicing for local environments" * } {
-             [ "drops_vector ( ⬇*[?,?] ? ≡ ? )" * ]
-             [ "drops ( ⬇*[?,?] ? ≡ ? )" "drops_lstar" + "drops_weight" + "drops_length" + "drops_ceq" + "drops_lexs" + "drops_lreq" + "drops_drops" * ]
+             [ "drops_vector ( ⬇*[?,?] ? ≡ ? ) ( ⬇*[?] ? ≡ ? )" * ]
+             [ "drops ( ⬇*[?,?] ? ≡ ? ) ( ⬇*[?] ? ≡ ? )" "drops_lstar" + "drops_weight" + "drops_length" + "drops_ceq" + "drops_lexs" + "drops_lreq" + "drops_drops" * ]
           }
         ]
         [ { "generic relocation for terms" * } {
index 5e281b251228abd56e37bd8cb6125acede3902c4..739dd9871902248d2d25818512ec32546308522f 100644 (file)
@@ -1,5 +1,6 @@
 #!/bin/sh
-for MA in `find -name "*.ma"`; do
+#for MA in `find -name "*.ma"`; do
+for MA in `find -name "cpg*.ma" -or -name "cpx*.ma"`; do
    echo ${MA}; sed "s!$1!$2!g" ${MA} > ${MA}.new
    if diff ${MA} ${MA}.new > /dev/null; 
       then rm -f ${MA}.new; 
index 76885077939c13172fc6abd749bfe2351e17a7c4..6b259a253d47a7c091117387a81115dcff9c44c1 100644 (file)
@@ -1514,7 +1514,7 @@ let predefined_classes = [
  ["-"; "÷"; "⊢"; "⊩"; "⊟"; ];
  ["="; "≝"; "≡"; "⩬"; "≂"; "≃"; "≈"; "≅"; "≗"; "≐"; "≑"; "≚"; "≙"; "⌆"; "⊜"; ];  
  ["→"; "↦"; "⇝"; "⤞"; "⇾"; "⤍"; "⤏"; "⤳"; ] ;
- ["⇒"; "⤇"; "➾"; "⇨"; "➡"; "➤"; "➸"; "⇉"; "⥰"; ] ;
+ ["â\87\92"; "â¤\87"; "â\9e¾"; "â\87¨"; "â\9e¡"; "â¬\88"; "â\9e¤"; "â\9e¸"; "â\87\89"; "⥰"; ] ;
  ["^"; "↑"; ] ;
  ["⇑"; "⇧"; "⬆"; ] ; 
  ["⇓"; "⇩"; "⬇"; "⬊"; "➷"; ] ;