]> matita.cs.unibo.it Git - helm.git/commitdiff
update in basic_2 and ground_2
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Mon, 16 Apr 2018 19:47:12 +0000 (21:47 +0200)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Mon, 16 Apr 2018 19:47:12 +0000 (21:47 +0200)
+ some notational changes
+ some renaming
+ some dependences updated

137 files changed:
matita/components/syntax_extensions/.depend
matita/matita/.depend.opt
matita/matita/contribs/lambdadelta/apps_2/examples/ex_cpr_omega.ma
matita/matita/contribs/lambdadelta/basic_2/dynamic/lsubsv.ma
matita/matita/contribs/lambdadelta/basic_2/dynamic/snv.ma
matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_lift.ma
matita/matita/contribs/lambdadelta/basic_2/equivalence/cpcs.ma
matita/matita/contribs/lambdadelta/basic_2/equivalence/cpcs_cpcs.ma
matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs.ma
matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_drops.ma
matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_fqup.ma
matita/matita/contribs/lambdadelta/basic_2/i_static/tc_lfxs_lex.ma
matita/matita/contribs/lambdadelta/basic_2/notation/relations/doteqsn_3.ma [deleted file]
matita/matita/contribs/lambdadelta/basic_2/notation/relations/freestar_3.ma
matita/matita/contribs/lambdadelta/basic_2/notation/relations/ideqsn_3.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/basic_2/notation/relations/rdropstar_3.ma
matita/matita/contribs/lambdadelta/basic_2/notation/relations/rdropstar_4.ma
matita/matita/contribs/lambdadelta/basic_2/notation/relations/rliftstar_3.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_drops.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_length.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lexs.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lreq.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_lstar.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_vector.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/drops_weight.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lex_tc.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_lexs.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_tc.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_bind.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_bind.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_lifts_vector.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_simple.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_vector.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_weight.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lifts_weight_bind.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lreq.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lreq_length.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/lreq_lreq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_cprs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_lift.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_cpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lfpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lsubr.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_theq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_theq_vector.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_csx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_csx_vector.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/csx_lfpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_cpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_lpxs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx_csx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lprs_cprs.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/lpxs_lpx.ma
matita/matita/contribs/lambdadelta/basic_2/rt_computation/scpds_scpds.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cnx_drops.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/cpm.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpm_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpr.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpr_drops.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_lfeq.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpr_lfpr.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_drops.ma
matita/matita/contribs/lambdadelta/basic_2/rt_transition/lfpx_lpx.ma
matita/matita/contribs/lambdadelta/basic_2/s_computation/fqup_drops.ma
matita/matita/contribs/lambdadelta/basic_2/s_computation/fqus.ma
matita/matita/contribs/lambdadelta/basic_2/s_computation/fqus_drops.ma
matita/matita/contribs/lambdadelta/basic_2/s_transition/fqu.ma
matita/matita/contribs/lambdadelta/basic_2/static/aaa_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/ffdeq_lfeq.ma
matita/matita/contribs/lambdadelta/basic_2/static/frees.ma
matita/matita/contribs/lambdadelta/basic_2/static/frees_append.ma
matita/matita/contribs/lambdadelta/basic_2/static/frees_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/frees_fqup.ma
matita/matita/contribs/lambdadelta/basic_2/static/frees_frees.ma
matita/matita/contribs/lambdadelta/basic_2/static/fsle.ma
matita/matita/contribs/lambdadelta/basic_2/static/fsle_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/fsle_fsle.ma
matita/matita/contribs/lambdadelta/basic_2/static/gcp_aaa.ma
matita/matita/contribs/lambdadelta/basic_2/static/gcp_cr.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfdeq.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_length.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfdeq_lfeq.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfeq.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfeq_fsle.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs_fsle.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs_length.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs_lex.ma
matita/matita/contribs/lambdadelta/basic_2/static/lfxs_lfxs.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsuba_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubc_drops.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubf.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubf_frees.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubf_lsubf.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubf_lsubr.ma
matita/matita/contribs/lambdadelta/basic_2/static/lsubr_drops.ma
matita/matita/contribs/lambdadelta/basic_2/web/basic_2_src.tbl
matita/matita/contribs/lambdadelta/ground_2/lib/star.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rafter_3.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rat_3.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rcoafter_3.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rcolength_2.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rintersection_3.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/rminus_3.ma
matita/matita/contribs/lambdadelta/ground_2/notation/relations/runion_3.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/mr2_at.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/mr2_minus.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/nstream_after.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/nstream_coafter.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/nstream_istot.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/nstream_sor.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_after.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_at.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_coafter.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_fcla.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_isfin.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_istot.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sand.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sor.ma
matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_uni.ma
matita/matita/contribs/lambdadelta/ground_2/web/ground_2_src.tbl

index 4b9bcffd411bfa4af1b6e971d5e50079d8bc0af0..8b3261bc8dffab9f1027b21f36125b37d79a49e2 100644 (file)
@@ -1,5 +1,5 @@
+utf8Macro.cmo : utf8MacroTable.cmo utf8Macro.cmi
+utf8Macro.cmx : utf8MacroTable.cmx utf8Macro.cmi
 utf8Macro.cmi :
 utf8MacroTable.cmo :
 utf8MacroTable.cmx :
-utf8Macro.cmo : utf8MacroTable.cmo utf8Macro.cmi
-utf8Macro.cmx : utf8MacroTable.cmx utf8Macro.cmi
index be904cca8ae9a12fc00cb1f55964a0133b2c05d7..5c7d0715ae4df145104d4cd4a5db2d7384bd1328 100644 (file)
@@ -1,74 +1,47 @@
-applyTransformation.cmo : applyTransformation.cmi
 applyTransformation.cmx : applyTransformation.cmi
-buildTimeConf.cmo :
+applyTransformation.cmi :
 buildTimeConf.cmx :
-cicMathView.cmo : matitaMisc.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \
-    buildTimeConf.cmx applyTransformation.cmi cicMathView.cmi
 cicMathView.cmx : matitaMisc.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
     buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi
-lablGraphviz.cmo : lablGraphviz.cmi
+cicMathView.cmi : matitaGuiTypes.cmi applyTransformation.cmi
 lablGraphviz.cmx : lablGraphviz.cmi
-matitaclean.cmo : matitaMisc.cmi matitaInit.cmi matitaclean.cmi
-matitaclean.cmx : matitaMisc.cmx matitaInit.cmx matitaclean.cmi
-matitac.cmo : matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaExcPp.cmi \
-    matitaEngine.cmi
-matitac.cmx : matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaExcPp.cmx \
-    matitaEngine.cmx
-matitaEngine.cmo : applyTransformation.cmi matitaEngine.cmi
-matitaEngine.cmx : applyTransformation.cmx matitaEngine.cmi
-matitaExcPp.cmo : matitaEngine.cmi matitaExcPp.cmi
-matitaExcPp.cmx : matitaEngine.cmx matitaExcPp.cmi
-matitaGtkMisc.cmo : matitaTypes.cmi buildTimeConf.cmx matitaGtkMisc.cmi
-matitaGtkMisc.cmx : matitaTypes.cmx buildTimeConf.cmx matitaGtkMisc.cmi
-matitaGui.cmo : matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \
-    matitaMathView.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi matitaExcPp.cmi \
-    buildTimeConf.cmx matitaGui.cmi
-matitaGui.cmx : matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \
-    matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx matitaExcPp.cmx \
-    buildTimeConf.cmx matitaGui.cmi
-matitaInit.cmo : matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi
-matitaInit.cmx : matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi
-matitaMathView.cmo : virtuals.cmi matitaTypes.cmi matitaMisc.cmi \
-    matitaGuiTypes.cmi matitaGtkMisc.cmi matitaExcPp.cmi lablGraphviz.cmi \
-    cicMathView.cmi buildTimeConf.cmx applyTransformation.cmi \
-    matitaMathView.cmi
-matitaMathView.cmx : virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
-    matitaGuiTypes.cmi matitaGtkMisc.cmx matitaExcPp.cmx lablGraphviz.cmx \
-    cicMathView.cmx buildTimeConf.cmx applyTransformation.cmx \
-    matitaMathView.cmi
-matitaMisc.cmo : matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
-matitaMisc.cmx : matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
-matita.cmo : predefined_virtuals.cmi matitaScript.cmi matitaMisc.cmi \
-    matitaInit.cmi matitaGui.cmi matitaGtkMisc.cmi buildTimeConf.cmx \
-    applyTransformation.cmi
+lablGraphviz.cmi :
 matita.cmx : predefined_virtuals.cmx matitaScript.cmx matitaMisc.cmx \
     matitaInit.cmx matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx \
     applyTransformation.cmx
-matitaScript.cmo : virtuals.cmi matitaTypes.cmi matitaMisc.cmi \
-    matitaMathView.cmi matitaGtkMisc.cmi matitaEngine.cmi cicMathView.cmi \
-    buildTimeConf.cmx matitaScript.cmi
-matitaScript.cmx : virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
-    matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx cicMathView.cmx \
-    buildTimeConf.cmx matitaScript.cmi
-matitaTypes.cmo : matitaTypes.cmi
-matitaTypes.cmx : matitaTypes.cmi
-predefined_virtuals.cmo : virtuals.cmi predefined_virtuals.cmi
-predefined_virtuals.cmx : virtuals.cmx predefined_virtuals.cmi
-virtuals.cmo : virtuals.cmi
-virtuals.cmx : virtuals.cmi
-applyTransformation.cmi :
-cicMathView.cmi : matitaGuiTypes.cmi applyTransformation.cmi
-lablGraphviz.cmi :
-matitaclean.cmi :
+matitaEngine.cmx : applyTransformation.cmx matitaEngine.cmi
 matitaEngine.cmi : applyTransformation.cmi
+matitaExcPp.cmx : matitaEngine.cmx matitaExcPp.cmi
 matitaExcPp.cmi :
-matitaGtkMisc.cmi :
+matitaGeneratedGui.cmx :
+matitaGtkMisc.cmx : matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \
+    matitaGtkMisc.cmi
+matitaGtkMisc.cmi : matitaGeneratedGui.cmx
+matitaGui.cmx : matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \
+    matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
+    matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi
 matitaGui.cmi : matitaGuiTypes.cmi
-matitaGuiTypes.cmi : applyTransformation.cmi
+matitaGuiTypes.cmi : matitaGeneratedGui.cmx applyTransformation.cmi
+matitaInit.cmx : matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi
 matitaInit.cmi :
+matitaMathView.cmx : virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
+    matitaGuiTypes.cmi matitaGtkMisc.cmx matitaGeneratedGui.cmx \
+    matitaExcPp.cmx lablGraphviz.cmx cicMathView.cmx buildTimeConf.cmx \
+    applyTransformation.cmx matitaMathView.cmi
 matitaMathView.cmi : matitaTypes.cmi matitaGuiTypes.cmi
+matitaMisc.cmx : matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
 matitaMisc.cmi : matitaGuiTypes.cmi
+matitaScript.cmx : virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
+    matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx cicMathView.cmx \
+    buildTimeConf.cmx matitaScript.cmi
 matitaScript.cmi :
+matitaTypes.cmx : matitaTypes.cmi
 matitaTypes.cmi :
+matitac.cmx : matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaExcPp.cmx \
+    matitaEngine.cmx
+matitaclean.cmx : matitaMisc.cmx matitaInit.cmx matitaclean.cmi
+matitaclean.cmi :
+predefined_virtuals.cmx : virtuals.cmx predefined_virtuals.cmi
 predefined_virtuals.cmi :
+virtuals.cmx : virtuals.cmi
 virtuals.cmi :
index 0bbe88b883b69ac1f7a4b6b73bacbf4bdbe92fd4..7ebb0a3455b51a3ca5042c8a035c379df1638f34 100644 (file)
@@ -26,8 +26,8 @@ definition Omega2: term → term ≝ λW. +ⓓⓝW.(Delta W).ⓐ#0.#0.
 
 (* Basic properties *********************************************************)
 
-lemma Delta_lifts: â\88\80W1,W2,f. â¬\86*[f] W1 â\89¡ W2 →
-                   â¬\86*[f] (Delta W1) â\89¡ (Delta W2).
+lemma Delta_lifts: â\88\80W1,W2,f. â¬\86*[f] W1 â\89\98 W2 →
+                   â¬\86*[f] (Delta W1) â\89\98 (Delta W2).
 /4 width=1 by lifts_lref, lifts_bind, lifts_flat/ qed.
 
 (* Main properties **********************************************************)
index aaacee45f25c6fd13cbb5b779802ed43c7e723fb..9fe0223347f8f5c9b63b432f083fb8d99b6a2d3f 100644 (file)
@@ -116,8 +116,8 @@ qed-.
 
 (* Note: the constant 0 cannot be generalized *)
 lemma lsubsv_drop_O1_conf: ∀h,o,G,L1,L2. G ⊢ L1 ⫃¡[h, o] L2 →
-                           â\88\80K1,b,k. â¬\87[b, 0, k] L1 â\89¡ K1 →
-                           â\88\83â\88\83K2. G â\8a¢ K1 â«\83¡[h, o] K2 & â¬\87[b, 0, k] L2 â\89¡ K2.
+                           â\88\80K1,b,k. â¬\87[b, 0, k] L1 â\89\98 K1 →
+                           â\88\83â\88\83K2. G â\8a¢ K1 â«\83¡[h, o] K2 & â¬\87[b, 0, k] L2 â\89\98 K2.
 #h #o #G #L1 #L2 #H elim H -L1 -L2
 [ /2 width=3 by ex2_intro/
 | #I #L1 #L2 #V #_ #IHL12 #K1 #b #k #H
@@ -139,8 +139,8 @@ qed-.
 
 (* Note: the constant 0 cannot be generalized *)
 lemma lsubsv_drop_O1_trans: ∀h,o,G,L1,L2. G ⊢ L1 ⫃¡[h, o] L2 →
-                            â\88\80K2,b, k. â¬\87[b, 0, k] L2 â\89¡ K2 →
-                            â\88\83â\88\83K1. G â\8a¢ K1 â«\83¡[h, o] K2 & â¬\87[b, 0, k] L1 â\89¡ K1.
+                            â\88\80K2,b, k. â¬\87[b, 0, k] L2 â\89\98 K2 →
+                            â\88\83â\88\83K1. G â\8a¢ K1 â«\83¡[h, o] K2 & â¬\87[b, 0, k] L1 â\89\98 K1.
 #h #o #G #L1 #L2 #H elim H -L1 -L2
 [ /2 width=3 by ex2_intro/
 | #I #L1 #L2 #V #_ #IHL12 #K2 #b #k #H
index 4889098c1eb33803555d5e106ee86c9ea063d003..a76beb80f7ab2ccdb45f04eb52cef11619697511 100644 (file)
@@ -20,7 +20,7 @@ include "basic_2/computation/scpds.ma".
 (* activate genv *)
 inductive snv (h) (o): relation3 genv lenv term ≝
 | snv_sort: ∀G,L,s. snv h o G L (⋆s)
-| snv_lref: â\88\80I,G,L,K,V,i. â¬\87[i] L â\89¡ K.ⓑ{I}V → snv h o G K V → snv h o G L (#i)
+| snv_lref: â\88\80I,G,L,K,V,i. â¬\87[i] L â\89\98 K.ⓑ{I}V → snv h o G K V → snv h o G L (#i)
 | snv_bind: ∀a,I,G,L,V,T. snv h o G L V → snv h o G (L.ⓑ{I}V) T → snv h o G L (ⓑ{a,I}V.T)
 | snv_appl: ∀a,G,L,V,W0,T,U0,d. snv h o G L V → snv h o G L T →
             ⦃G, L⦄ ⊢ V •*➡*[h, o, 1] W0 → ⦃G, L⦄ ⊢ T •*➡*[h, o, d] ⓛ{a}W0.U0 → snv h o G L (ⓐV.T)
@@ -34,7 +34,7 @@ interpretation "stratified native validity (term)"
 (* Basic inversion lemmas ***************************************************)
 
 fact snv_inv_lref_aux: ∀h,o,G,L,X. ⦃G, L⦄ ⊢ X ¡[h, o] → ∀i. X = #i →
-                       â\88\83â\88\83I,K,V. â¬\87[i] L â\89¡ K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ¡[h, o].
+                       â\88\83â\88\83I,K,V. â¬\87[i] L â\89\98 K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ¡[h, o].
 #h #o #G #L #X * -G -L -X
 [ #G #L #s #i #H destruct
 | #I #G #L #K #V #i0 #HLK #HV #i #H destruct /2 width=5 by ex2_3_intro/
@@ -45,7 +45,7 @@ fact snv_inv_lref_aux: ∀h,o,G,L,X. ⦃G, L⦄ ⊢ X ¡[h, o] → ∀i. X = #i
 qed-.
 
 lemma snv_inv_lref: ∀h,o,G,L,i. ⦃G, L⦄ ⊢ #i ¡[h, o] →
-                    â\88\83â\88\83I,K,V. â¬\87[i] L â\89¡ K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ¡[h, o].
+                    â\88\83â\88\83I,K,V. â¬\87[i] L â\89\98 K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ¡[h, o].
 /2 width=3 by snv_inv_lref_aux/ qed-.
 
 fact snv_inv_gref_aux: ∀h,o,G,L,X. ⦃G, L⦄ ⊢ X ¡[h, o] → ∀p. X = §p → ⊥.
index 98d617600407b05ebe58dea804a1b6c5407ad145..702ca5ab992e29ee0cedf060872dc80aa6abfbdd 100644 (file)
@@ -20,8 +20,8 @@ include "basic_2/dynamic/snv.ma".
 
 (* Relocation properties ****************************************************)
 
-lemma snv_lift: â\88\80h,o,G,K,T. â¦\83G, Kâ¦\84 â\8a¢ T Â¡[h, o] â\86\92 â\88\80L,b,l,k. â¬\87[b, l, k] L â\89¡ K →
-                â\88\80U. â¬\86[l, k] T â\89¡ U → ⦃G, L⦄ ⊢ U ¡[h, o].
+lemma snv_lift: â\88\80h,o,G,K,T. â¦\83G, Kâ¦\84 â\8a¢ T Â¡[h, o] â\86\92 â\88\80L,b,l,k. â¬\87[b, l, k] L â\89\98 K →
+                â\88\80U. â¬\86[l, k] T â\89\98 U → ⦃G, L⦄ ⊢ U ¡[h, o].
 #h #o #G #K #T #H elim H -G -K -T
 [ #G #K #s #L #b #l #k #_ #X #H
   >(lift_inv_sort1 … H) -X -K -l -k //
@@ -48,8 +48,8 @@ lemma snv_lift: ∀h,o,G,K,T. ⦃G, K⦄ ⊢ T ¡[h, o] → ∀L,b,l,k. ⬇[b, l
 ]
 qed.
 
-lemma snv_inv_lift: â\88\80h,o,G,L,U. â¦\83G, Lâ¦\84 â\8a¢ U Â¡[h, o] â\86\92 â\88\80K,b,l,k. â¬\87[b, l, k] L â\89¡ K →
-                    â\88\80T. â¬\86[l, k] T â\89¡ U → ⦃G, K⦄ ⊢ T ¡[h, o].
+lemma snv_inv_lift: â\88\80h,o,G,L,U. â¦\83G, Lâ¦\84 â\8a¢ U Â¡[h, o] â\86\92 â\88\80K,b,l,k. â¬\87[b, l, k] L â\89\98 K →
+                    â\88\80T. â¬\86[l, k] T â\89\98 U → ⦃G, K⦄ ⊢ T ¡[h, o].
 #h #o #G #L #U #H elim H -G -L -U
 [ #G #L #s #K #b #l #k #_ #X #H
   >(lift_inv_sort2 … H) -X -L -l -k //
index cec1db1bc2e32a616a38a95014a95c8df0f28dbb..75964c6159eaec418568c095317df546891f1b28 100644 (file)
@@ -18,7 +18,7 @@ include "basic_2/conversion/cpc.ma".
 (* CONTEXT-SENSITIVE PARALLEL EQUIVALENCE ON TERMS **************************)
 
 definition cpcs: relation4 genv lenv term term ≝
-           λG. LTC … (cpc G).
+           λG. CTC … (cpc G).
 
 interpretation "context-sensitive parallel equivalence (term)"
    'PConvStar G L T1 T2 = (cpcs G L T1 T2).
index 6e098196b466933ca82809fdd44ac5e2d13b556d..7b9645afa39f8f845e6c8c52cb368ba9363e4a77 100644 (file)
@@ -59,8 +59,8 @@ elim (cprs_inv_abst1 … H2) -H2 #W0 #T0 #_ #_ #H destruct
 qed-.
 
 (* Basic_1: was: pc3_gen_lift *)
-lemma cpcs_inv_lift: â\88\80G,L,K,b,l,k. â¬\87[b, l, k] L â\89¡ K →
-                     â\88\80T1,U1. â¬\86[l, k] T1 â\89¡ U1 â\86\92 â\88\80T2,U2. â¬\86[l, k] T2 â\89¡ U2 →
+lemma cpcs_inv_lift: â\88\80G,L,K,b,l,k. â¬\87[b, l, k] L â\89\98 K →
+                     â\88\80T1,U1. â¬\86[l, k] T1 â\89\98 U1 â\86\92 â\88\80T2,U2. â¬\86[l, k] T2 â\89\98 U2 →
                      ⦃G, L⦄ ⊢ U1 ⬌* U2 → ⦃G, K⦄ ⊢ T1 ⬌* T2.
 #G #L #K #b #l #k #HLK #T1 #U1 #HTU1 #T2 #U2 #HTU2 #HU12
 elim (cpcs_inv_cprs … HU12) -HU12 #U #HU1 #HU2
@@ -150,8 +150,8 @@ lemma lsubr_cpcs_trans: ∀G,L1,T1,T2. ⦃G, L1⦄ ⊢ T1 ⬌* T2 →
 qed-.
 
 (* Basic_1: was: pc3_lift *)
-lemma cpcs_lift: â\88\80G,L,K,b,l,k. â¬\87[b, l, k] L â\89¡ K →
-                 â\88\80T1,U1. â¬\86[l, k] T1 â\89¡ U1 â\86\92 â\88\80T2,U2. â¬\86[l, k] T2 â\89¡ U2 →
+lemma cpcs_lift: â\88\80G,L,K,b,l,k. â¬\87[b, l, k] L â\89\98 K →
+                 â\88\80T1,U1. â¬\86[l, k] T1 â\89\98 U1 â\86\92 â\88\80T2,U2. â¬\86[l, k] T2 â\89\98 U2 →
                  ⦃G, K⦄ ⊢ T1 ⬌* T2 → ⦃G, L⦄ ⊢ U1 ⬌* U2.
 #G #L #K #b #l #k #HLK #T1 #U1 #HTU1 #T2 #U2 #HTU2 #HT12
 elim (cpcs_inv_cprs … HT12) -HT12 #T #HT1 #HT2
index 90b0de1eb649fc618778637ded5582e583777f64..5fbe3afe2a6ec8e13cc2867d052a77c1d20eafa5 100644 (file)
@@ -18,7 +18,7 @@ include "basic_2/static/lfxs.ma".
 
 (* ITERATED EXTENSION ON REFERRED ENTRIES OF A CONTEXT-SENSITIVE REALTION ***)
 
-definition tc_lfxs (R): term → relation lenv ≝ LTC … (lfxs R).
+definition tc_lfxs (R): term → relation lenv ≝ CTC … (lfxs R).
 
 interpretation "iterated extension on referred entries (local environment)"
    'RelationStarStar R T L1 L2 = (tc_lfxs R T L1 L2).
index 2122b053332e4571e8de261620f14022b13c86af..6d24a75c7b0316251c2e274a47c6ecbf968fbfa6 100644 (file)
@@ -19,23 +19,23 @@ include "basic_2/i_static/tc_lfxs.ma".
 (* ITERATED EXTENSION ON REFERRED ENTRIES OF A CONTEXT-SENSITIVE REALTION ***)
 
 definition tc_dedropable_sn: predicate (relation3 lenv term term) ≝
-                             Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 →
-                             â\88\80K2,T. K1 âª¤**[R, T] K2 â\86\92 â\88\80U. â¬\86*[f] T â\89¡ U →
-                             â\88\83â\88\83L2. L1 âª¤**[R, U] L2 & â¬\87*[b, f] L2 â\89¡ K2 & L1 â\89\90[f] L2.
+                             Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 →
+                             â\88\80K2,T. K1 âª¤**[R, T] K2 â\86\92 â\88\80U. â¬\86*[f] T â\89\98 U →
+                             â\88\83â\88\83L2. L1 âª¤**[R, U] L2 & â¬\87*[b, f] L2 â\89\98 K2 & L1 â\89¡[f] L2.
 
 definition tc_dropable_sn: predicate (relation3 lenv term term) ≝
-                           Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 → 𝐔⦃f⦄ →
-                           â\88\80L2,U. L1 âª¤**[R, U] L2 â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                           â\88\83â\88\83K2. K1 âª¤**[R, T] K2 & â¬\87*[b, f] L2 â\89¡ K2.
+                           Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 → 𝐔⦃f⦄ →
+                           â\88\80L2,U. L1 âª¤**[R, U] L2 â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                           â\88\83â\88\83K2. K1 âª¤**[R, T] K2 & â¬\87*[b, f] L2 â\89\98 K2.
 
 definition tc_dropable_dx: predicate (relation3 lenv term term) ≝
                            λR. ∀L1,L2,U. L1 ⪤**[R, U] L2 →
-                           â\88\80b,f,K2. â¬\87*[b, f] L2 â\89¡ K2 â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1 & K1 ⪤**[R, T] K2.
+                           â\88\80b,f,K2. â¬\87*[b, f] L2 â\89\98 K2 â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1 & K1 ⪤**[R, T] K2.
 
 (* Properties with generic slicing for local environments *******************)
 
-lemma dedropable_sn_LTC: ∀R. dedropable_sn R → tc_dedropable_sn R.
+lemma dedropable_sn_CTC: ∀R. dedropable_sn R → tc_dedropable_sn R.
 #R #HR #b #f #L1 #K1 #HLK1 #K2 #T #H elim H -K2
 [ #K2 #HK12 #U #HTU elim (HR … HLK1 … HK12 … HTU) -K1 -T -HR
   /3 width=4 by ex3_intro, inj/
@@ -48,7 +48,7 @@ qed-.
 
 (* Inversion lemmas with generic slicing for local environments *************)
 
-lemma dropable_sn_LTC: ∀R. dropable_sn R → tc_dropable_sn R.
+lemma dropable_sn_CTC: ∀R. dropable_sn R → tc_dropable_sn R.
 #R #HR #b #f #L1 #K1 #HLK1 #Hf #L2 #U #H elim H -L2
 [ #L2 #HL12 #T #HTU elim (HR … HLK1 … HL12 … HTU) -L1 -U -HR
   /3 width=3 by inj, ex2_intro/
@@ -59,7 +59,7 @@ lemma dropable_sn_LTC: ∀R. dropable_sn R → tc_dropable_sn R.
 ]
 qed-.
 
-lemma dropable_dx_LTC: ∀R. dropable_dx R → tc_dropable_dx R.
+lemma dropable_dx_CTC: ∀R. dropable_dx R → tc_dropable_dx R.
 #R #HR #L1 #L2 #U #H elim H -L2
 [ #L2 #HL12 #b #f #K2 #HLK2 #Hf #T #HTU
   elim (HR … HL12 … HLK2 … HTU) -L2 -U -HR
index d802f6e1ad7e9e36c1d22d30cfec72d92b05e0a6..8eaf23735454c8d32c7d0cd6b1a63941f74a9c8a 100644 (file)
@@ -25,7 +25,7 @@ lemma tc_lfxs_refl: ∀R. c_reflexive … R →
 
 (* Basic_2A1: uses: TC_lpx_sn_pair TC_lpx_sn_pair_refl *)
 lemma tc_lfxs_pair_refl: ∀R. c_reflexive … R →
-                         ∀L,V1,V2. LTC … R L V1 V2 → ∀I,T. L.ⓑ{I}V1 ⪤**[R, T] L.ⓑ{I}V2.
+                         ∀L,V1,V2. CTC … R L V1 V2 → ∀I,T. L.ⓑ{I}V1 ⪤**[R, T] L.ⓑ{I}V2.
 #R #HR #L #V1 #V2 #H elim H -V2
 /3 width=3 by tc_lfxs_step_dx, lfxs_pair_refl, inj/
 qed.
index cb32e58b0703ebe2801c132203dbfa8e07c58810..918191c8fb75cdee0d978583681996ab4cc5c064 100644 (file)
@@ -22,13 +22,13 @@ include "basic_2/i_static/tc_lfxs_fqup.ma".
 (* Properties with generic extension of a context sensitive relation ********)
 
 lemma tc_lfxs_lex: ∀R. c_reflexive … R →
-                   ∀L1,L2,T. L1 ⪤[LTC … R] L2 → L1 ⪤**[R, T] L2.
+                   ∀L1,L2,T. L1 ⪤[CTC … R] L2 → L1 ⪤**[R, T] L2.
 #R #HR #L1 #L2 #T *
 /5 width=7 by tc_lfxs_tc, lexs_inv_tc_dx, lexs_co, ext2_inv_tc, ext2_refl/
 qed.
 
 lemma tc_lfxs_lex_lfeq: ∀R. c_reflexive … R →
-                        ∀L1,L. L1 ⪤[LTC … R] L → ∀L2,T. L ≐[T] L2 →
+                        ∀L1,L. L1 ⪤[CTC … R] L → ∀L2,T. L ≡[T] L2 →
                         L1 ⪤**[R, T] L2.
 /3 width=3 by tc_lfxs_lex, tc_lfxs_step_dx, lfeq_fwd_lfxs/ qed.
 
@@ -40,7 +40,7 @@ lemma tc_lfxs_inv_lex_lfeq: ∀R. c_reflexive … R →
                             s_rs_transitive … R (λ_.lex R) →
                             lfeq_transitive R →
                             ∀L1,L2,T. L1 ⪤**[R, T] L2 →
-                            ∃∃L. L1 ⪤[LTC … R] L & L ≐[T] L2.
+                            ∃∃L. L1 ⪤[CTC … R] L & L ≡[T] L2.
 #R #H1R #H2R #H3R #H4R #L1 #L2 #T #H
 lapply (s_rs_transitive_lex_inv_isid … H3R) -H3R #H3R
 @(tc_lfxs_ind_sn … H1R … H) -H -L2
@@ -52,7 +52,7 @@ lapply (s_rs_transitive_lex_inv_isid … H3R) -H3R #H3R
   lapply (lexs_sdj … HL0 f1 ?) /2 width=1 by sdj_isid_sn/ #H
   elim (frees_lexs_conf … Hf1 … H) // -H2R -H #f2 #Hf2 #Hf21
   lapply (sle_lexs_trans … HL02 … Hf21) -f1 // #HL02
-  lapply (lexs_co ?? cfull (LTC … (cext2 R)) … HL1) -HL1 /2 width=1 by ext2_inv_tc/ #HL1
+  lapply (lexs_co ?? cfull (CTC … (cext2 R)) … HL1) -HL1 /2 width=1 by ext2_inv_tc/ #HL1
   /8 width=11 by lexs_inv_tc_dx, lexs_tc_dx, lexs_co, ext2_tc, ext2_refl, step, ex2_intro/ (**) (* full auto too slow *)
 ]
 qed-.
diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation/relations/doteqsn_3.ma b/matita/matita/contribs/lambdadelta/basic_2/notation/relations/doteqsn_3.ma
deleted file mode 100644 (file)
index 96060d5..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( L1 ≐ [ break term 46 f ] break term 46 L2 )"
-   non associative with precedence 45
-   for @{ 'DotEqSn $f $L1 $L2 }.
index fe106086ea8722c2d81262e631db64c4fbb2c249..02c33853ce158c0f828454bc8a53d242e6adeaaa 100644 (file)
@@ -14,6 +14,6 @@
 
 (* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
 
-notation "hvbox( L â\8a¢ ð\9d\90\85 * â¦\83 break term 46 T â¦\84 â\89¡ break term 46 f )"
+notation "hvbox( L â\8a¢ ð\9d\90\85 * â¦\83 break term 46 T â¦\84 â\89\98 break term 46 f )"
    non associative with precedence 45
    for @{ 'FreeStar $L $T $f }.
diff --git a/matita/matita/contribs/lambdadelta/basic_2/notation/relations/ideqsn_3.ma b/matita/matita/contribs/lambdadelta/basic_2/notation/relations/ideqsn_3.ma
new file mode 100644 (file)
index 0000000..3ba3025
--- /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( L1 ≡ [ break term 46 f ] break term 46 L2 )"
+   non associative with precedence 45
+   for @{ 'IdEqSn $f $L1 $L2 }.
index 32b9c8445ff9395c7140ab0a0c1deb227a7d58f3..0e0a3273de0b7d4772856e60fac725161e1c74bb 100644 (file)
@@ -14,6 +14,6 @@
 
 (* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
 
-notation "hvbox( â¬\87 * [ term 46 i ] break term 46 L1 â\89¡ break term 46 L2 )"
+notation "hvbox( â¬\87 * [ term 46 i ] break term 46 L1 â\89\98 break term 46 L2 )"
    non associative with precedence 45
    for @{ 'RDropStar $i $L1 $L2 }.
index e60d5916fe10fb47e669262c913f866fff437f84..ce4ce12b98c73babf0b43edbb884f35e8e4922bc 100644 (file)
@@ -14,6 +14,6 @@
 
 (* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
 
-notation "hvbox( â¬\87 * [ term 46 b, break term 46 f ] break term 46 L1 â\89¡ break term 46 L2 )"
+notation "hvbox( â¬\87 * [ term 46 b, break term 46 f ] break term 46 L1 â\89\98 break term 46 L2 )"
    non associative with precedence 45
    for @{ 'RDropStar $b $f $L1 $L2 }.
index fa19e933e09d7aa2f219fc2d1f78969f11d16e9e..26d0262de5568aa999d186c2fb0508837e936c94 100644 (file)
@@ -14,6 +14,6 @@
 
 (* NOTATION FOR THE FORMAL SYSTEM λδ ****************************************)
 
-notation "hvbox( â¬\86 * [ term 46 f ] break term 46 T1 â\89¡ break term 46 T2 )"
+notation "hvbox( â¬\86 * [ term 46 f ] break term 46 T1 â\89\98 break term 46 T2 )"
    non associative with precedence 45
    for @{ 'RLiftStar $f $T1 $T2 }.
index 57bf1bfe510eabe95e007e54f0d34a45b5fee7d0..fdcf1a70f3b101479da3e09ca63313ccb67fe4e7 100644 (file)
@@ -28,7 +28,7 @@ inductive drops (b:bool): rtmap → relation lenv ≝
 | drops_atom: ∀f. (b = Ⓣ → 𝐈⦃f⦄) → drops b (f) (⋆) (⋆)
 | drops_drop: ∀f,I,L1,L2. drops b f L1 L2 → drops b (⫯f) (L1.ⓘ{I}) L2
 | drops_skip: ∀f,I1,I2,L1,L2.
-              drops b f L1 L2 â\86\92 â¬\86*[f] I2 â\89¡ I1 →
+              drops b f L1 L2 â\86\92 â¬\86*[f] I2 â\89\98 I1 →
               drops b (↑f) (L1.ⓘ{I1}) (L2.ⓘ{I2})
 .
 
@@ -39,68 +39,68 @@ interpretation "generic slicing (local environment)"
    'RDropStar b f L1 L2 = (drops b f L1 L2).
 
 definition d_liftable1: predicate (relation2 lenv term) ≝
-                        Î»R. â\88\80K,T. R K T â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89¡ K →
-                        â\88\80U. â¬\86*[f] T â\89¡ U → R L U.
+                        Î»R. â\88\80K,T. R K T â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89\98 K →
+                        â\88\80U. â¬\86*[f] T â\89\98 U → R L U.
 
 definition d_liftable1_isuni: predicate (relation2 lenv term) ≝
-                              Î»R. â\88\80K,T. R K T â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89¡ K → 𝐔⦃f⦄ →
-                              â\88\80U. â¬\86*[f] T â\89¡ U → R L U.
+                              Î»R. â\88\80K,T. R K T â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89\98 K → 𝐔⦃f⦄ →
+                              â\88\80U. â¬\86*[f] T â\89\98 U → R L U.
 
 definition d_deliftable1: predicate (relation2 lenv term) ≝
-                          Î»R. â\88\80L,U. R L U â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89¡ K →
-                          â\88\80T. â¬\86*[f] T â\89¡ U → R K T.
+                          Î»R. â\88\80L,U. R L U â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89\98 K →
+                          â\88\80T. â¬\86*[f] T â\89\98 U → R K T.
 
 definition d_deliftable1_isuni: predicate (relation2 lenv term) ≝
-                                Î»R. â\88\80L,U. R L U â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89¡ K → 𝐔⦃f⦄ →
-                                â\88\80T. â¬\86*[f] T â\89¡ U → R K T.
+                                Î»R. â\88\80L,U. R L U â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89\98 K → 𝐔⦃f⦄ →
+                                â\88\80T. â¬\86*[f] T â\89\98 U → R K T.
 
 definition d_liftable2_sn: ∀C:Type[0]. ∀S:rtmap → relation C.
                            predicate (lenv → relation C) ≝
-                           Î»C,S,R. â\88\80K,T1,T2. R K T1 T2 â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89¡ K →
+                           Î»C,S,R. â\88\80K,T1,T2. R K T1 T2 â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89\98 K →
                            ∀U1. S f T1 U1 →
                            ∃∃U2. S f T2 U2 & R L U1 U2.
 
 definition d_deliftable2_sn: ∀C:Type[0]. ∀S:rtmap → relation C.
                              predicate (lenv → relation C) ≝
-                             Î»C,S,R. â\88\80L,U1,U2. R L U1 U2 â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89¡ K →
+                             Î»C,S,R. â\88\80L,U1,U2. R L U1 U2 â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89\98 K →
                              ∀T1. S f T1 U1 →
                              ∃∃T2. S f T2 U2 & R K T1 T2.
 
 definition d_liftable2_bi: ∀C:Type[0]. ∀S:rtmap → relation C.
                            predicate (lenv → relation C) ≝
-                           Î»C,S,R. â\88\80K,T1,T2. R K T1 T2 â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89¡ K →
+                           Î»C,S,R. â\88\80K,T1,T2. R K T1 T2 â\86\92 â\88\80b,f,L. â¬\87*[b, f] L â\89\98 K →
                            ∀U1. S f T1 U1 →
                            ∀U2. S f T2 U2 → R L U1 U2.
 
 definition d_deliftable2_bi: ∀C:Type[0]. ∀S:rtmap → relation C.
                              predicate (lenv → relation C) ≝
-                             Î»C,S,R. â\88\80L,U1,U2. R L U1 U2 â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89¡ K →
+                             Î»C,S,R. â\88\80L,U1,U2. R L U1 U2 â\86\92 â\88\80b,f,K. â¬\87*[b, f] L â\89\98 K →
                              ∀T1. S f T1 U1 →
                              ∀T2. S f T2 U2 → R K T1 T2.
 
 definition co_dropable_sn: predicate (rtmap → relation lenv) ≝
-                           Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 → 𝐔⦃f⦄ →
-                           â\88\80f2,L2. R f2 L1 L2 â\86\92 â\88\80f1. f ~â\8a\9a f1 â\89¡ f2 →
-                           â\88\83â\88\83K2. R f1 K1 K2 & â¬\87*[b, f] L2 â\89¡ K2.
+                           Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 → 𝐔⦃f⦄ →
+                           â\88\80f2,L2. R f2 L1 L2 â\86\92 â\88\80f1. f ~â\8a\9a f1 â\89\98 f2 →
+                           â\88\83â\88\83K2. R f1 K1 K2 & â¬\87*[b, f] L2 â\89\98 K2.
 
 definition co_dropable_dx: predicate (rtmap → relation lenv) ≝
                            λR. ∀f2,L1,L2. R f2 L1 L2 →
-                           â\88\80b,f,K2. â¬\87*[b, f] L2 â\89¡ K2 → 𝐔⦃f⦄ →
-                           â\88\80f1. f ~â\8a\9a f1 â\89¡ f2 → 
-                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1 & R f1 K1 K2.
+                           â\88\80b,f,K2. â¬\87*[b, f] L2 â\89\98 K2 → 𝐔⦃f⦄ →
+                           â\88\80f1. f ~â\8a\9a f1 â\89\98 f2 → 
+                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1 & R f1 K1 K2.
 
 definition co_dedropable_sn: predicate (rtmap → relation lenv) ≝
-                             Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 → ∀f1,K2. R f1 K1 K2 →
-                             â\88\80f2. f ~â\8a\9a f1 â\89¡ f2 →
-                             â\88\83â\88\83L2. R f2 L1 L2 & â¬\87*[b, f] L2 â\89¡ K2 & L1 â\89\90[f] L2.
+                             Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 → ∀f1,K2. R f1 K1 K2 →
+                             â\88\80f2. f ~â\8a\9a f1 â\89\98 f2 →
+                             â\88\83â\88\83L2. R f2 L1 L2 & â¬\87*[b, f] L2 â\89\98 K2 & L1 â\89¡[f] L2.
 
 (* Basic properties *********************************************************)
 
-lemma drops_atom_F: â\88\80f. â¬\87*[â\92», f] â\8b\86 â\89¡ ⋆.
+lemma drops_atom_F: â\88\80f. â¬\87*[â\92», f] â\8b\86 â\89\98 ⋆.
 #f @drops_atom #H destruct
 qed.
 
-lemma drops_eq_repl_back: â\88\80b,L1,L2. eq_repl_back â\80¦ (λf. â¬\87*[b, f] L1 â\89¡ L2).
+lemma drops_eq_repl_back: â\88\80b,L1,L2. eq_repl_back â\80¦ (λf. â¬\87*[b, f] L1 â\89\98 L2).
 #b #L1 #L2 #f1 #H elim H -f1 -L1 -L2
 [ /4 width=3 by drops_atom, isid_eq_repl_back/
 | #f1 #I #L1 #L2 #_ #IH #f2 #H elim (eq_inv_nx … H) -H
@@ -110,23 +110,23 @@ lemma drops_eq_repl_back: ∀b,L1,L2. eq_repl_back … (λf. ⬇*[b, f] L1 ≡ L
 ]
 qed-.
 
-lemma drops_eq_repl_fwd: â\88\80b,L1,L2. eq_repl_fwd â\80¦ (λf. â¬\87*[b, f] L1 â\89¡ L2).
+lemma drops_eq_repl_fwd: â\88\80b,L1,L2. eq_repl_fwd â\80¦ (λf. â¬\87*[b, f] L1 â\89\98 L2).
 #b #L1 #L2 @eq_repl_sym /2 width=3 by drops_eq_repl_back/ (**) (* full auto fails *)
 qed-.
 
 (* Basic_2A1: includes: drop_FT *)
-lemma drops_TF: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 â\86\92 â¬\87*[â\92», f] L1 â\89¡ L2.
+lemma drops_TF: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 â\86\92 â¬\87*[â\92», f] L1 â\89\98 L2.
 #f #L1 #L2 #H elim H -f -L1 -L2
 /3 width=1 by drops_atom, drops_drop, drops_skip/
 qed.
 
 (* Basic_2A1: includes: drop_gen *)
-lemma drops_gen: â\88\80b,f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 â\86\92 â¬\87*[b, f] L1 â\89¡ L2.
+lemma drops_gen: â\88\80b,f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 â\86\92 â¬\87*[b, f] L1 â\89\98 L2.
 * /2 width=1 by drops_TF/
 qed-.
 
 (* Basic_2A1: includes: drop_T *)
-lemma drops_F: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89¡ L2 â\86\92 â¬\87*[â\92», f] L1 â\89¡ L2.
+lemma drops_F: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89\98 L2 â\86\92 â¬\87*[â\92», f] L1 â\89\98 L2.
 * /2 width=1 by drops_TF/
 qed-.
 
@@ -146,7 +146,7 @@ qed-.
 
 (* Basic inversion lemmas ***************************************************)
 
-fact drops_inv_atom1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89¡ Y → X = ⋆ →
+fact drops_inv_atom1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89\98 Y → X = ⋆ →
                           Y = ⋆ ∧ (b = Ⓣ → 𝐈⦃f⦄).
 #b #f #X #Y * -f -X -Y
 [ /3 width=1 by conj/
@@ -157,11 +157,11 @@ qed-.
 
 (* Basic_1: includes: drop_gen_sort *)
 (* Basic_2A1: includes: drop_inv_atom1 *)
-lemma drops_inv_atom1: â\88\80b,f,Y. â¬\87*[b, f] â\8b\86 â\89¡ Y → Y = ⋆ ∧ (b = Ⓣ → 𝐈⦃f⦄).
+lemma drops_inv_atom1: â\88\80b,f,Y. â¬\87*[b, f] â\8b\86 â\89\98 Y → Y = ⋆ ∧ (b = Ⓣ → 𝐈⦃f⦄).
 /2 width=3 by drops_inv_atom1_aux/ qed-.
 
-fact drops_inv_drop1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89¡ Y → ∀g,I,K. X = K.ⓘ{I} → f = ⫯g →
-                          â¬\87*[b, g] K â\89¡ Y.
+fact drops_inv_drop1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89\98 Y → ∀g,I,K. X = K.ⓘ{I} → f = ⫯g →
+                          â¬\87*[b, g] K â\89\98 Y.
 #b #f #X #Y * -f -X -Y
 [ #f #Hf #g #J #K #H destruct
 | #f #I #L1 #L2 #HL #g #J #K #H1 #H2 <(injective_next … H2) -g destruct //
@@ -171,11 +171,11 @@ qed-.
 
 (* Basic_1: includes: drop_gen_drop *)
 (* Basic_2A1: includes: drop_inv_drop1_lt drop_inv_drop1 *)
-lemma drops_inv_drop1: â\88\80b,f,I,K,Y. â¬\87*[b, â«¯f] K.â\93\98{I} â\89¡ Y â\86\92 â¬\87*[b, f] K â\89¡ Y.
+lemma drops_inv_drop1: â\88\80b,f,I,K,Y. â¬\87*[b, â«¯f] K.â\93\98{I} â\89\98 Y â\86\92 â¬\87*[b, f] K â\89\98 Y.
 /2 width=6 by drops_inv_drop1_aux/ qed-.
 
-fact drops_inv_skip1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89¡ Y → ∀g,I1,K1. X = K1.ⓘ{I1} → f = ↑g →
-                          â\88\83â\88\83I2,K2. â¬\87*[b, g] K1 â\89¡ K2 & â¬\86*[g] I2 â\89¡ I1 & Y = K2.ⓘ{I2}.
+fact drops_inv_skip1_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89\98 Y → ∀g,I1,K1. X = K1.ⓘ{I1} → f = ↑g →
+                          â\88\83â\88\83I2,K2. â¬\87*[b, g] K1 â\89\98 K2 & â¬\86*[g] I2 â\89\98 I1 & Y = K2.ⓘ{I2}.
 #b #f #X #Y * -f -X -Y
 [ #f #Hf #g #J1 #K1 #H destruct
 | #f #I #L1 #L2 #_ #g #J1 #K1 #_ #H2 elim (discr_next_push … H2)
@@ -186,12 +186,12 @@ qed-.
 
 (* Basic_1: includes: drop_gen_skip_l *)
 (* Basic_2A1: includes: drop_inv_skip1 *)
-lemma drops_inv_skip1: â\88\80b,f,I1,K1,Y. â¬\87*[b, â\86\91f] K1.â\93\98{I1} â\89¡ Y →
-                       â\88\83â\88\83I2,K2. â¬\87*[b, f] K1 â\89¡ K2 & â¬\86*[f] I2 â\89¡ I1 & Y = K2.ⓘ{I2}.
+lemma drops_inv_skip1: â\88\80b,f,I1,K1,Y. â¬\87*[b, â\86\91f] K1.â\93\98{I1} â\89\98 Y →
+                       â\88\83â\88\83I2,K2. â¬\87*[b, f] K1 â\89\98 K2 & â¬\86*[f] I2 â\89\98 I1 & Y = K2.ⓘ{I2}.
 /2 width=5 by drops_inv_skip1_aux/ qed-.
 
-fact drops_inv_skip2_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89¡ Y → ∀g,I2,K2. Y = K2.ⓘ{I2} → f = ↑g →
-                          â\88\83â\88\83I1,K1. â¬\87*[b, g] K1 â\89¡ K2 & â¬\86*[g] I2 â\89¡ I1 & X = K1.ⓘ{I1}.
+fact drops_inv_skip2_aux: â\88\80b,f,X,Y. â¬\87*[b, f] X â\89\98 Y → ∀g,I2,K2. Y = K2.ⓘ{I2} → f = ↑g →
+                          â\88\83â\88\83I1,K1. â¬\87*[b, g] K1 â\89\98 K2 & â¬\86*[g] I2 â\89\98 I1 & X = K1.ⓘ{I1}.
 #b #f #X #Y * -f -X -Y
 [ #f #Hf #g #J2 #K2 #H destruct
 | #f #I #L1 #L2 #_ #g #J2 #K2 #_ #H2 elim (discr_next_push … H2)
@@ -202,14 +202,14 @@ qed-.
 
 (* Basic_1: includes: drop_gen_skip_r *)
 (* Basic_2A1: includes: drop_inv_skip2 *)
-lemma drops_inv_skip2: â\88\80b,f,I2,X,K2. â¬\87*[b, â\86\91f] X â\89¡ K2.ⓘ{I2} →
-                       â\88\83â\88\83I1,K1. â¬\87*[b, f] K1 â\89¡ K2 & â¬\86*[f] I2 â\89¡ I1 & X = K1.ⓘ{I1}.
+lemma drops_inv_skip2: â\88\80b,f,I2,X,K2. â¬\87*[b, â\86\91f] X â\89\98 K2.ⓘ{I2} →
+                       â\88\83â\88\83I1,K1. â¬\87*[b, f] K1 â\89\98 K2 & â¬\86*[f] I2 â\89\98 I1 & X = K1.ⓘ{I1}.
 /2 width=5 by drops_inv_skip2_aux/ qed-.
 
 (* Basic forward lemmas *****************************************************)
 
-fact drops_fwd_drop2_aux: â\88\80b,f2,X,Y. â¬\87*[b, f2] X â\89¡ Y → ∀I,K. Y = K.ⓘ{I} →
-                          â\88\83â\88\83f1,f. ð\9d\90\88â¦\83f1â¦\84 & f2 â\8a\9a â«¯f1 â\89¡ f & â¬\87*[b, f] X â\89¡ K.
+fact drops_fwd_drop2_aux: â\88\80b,f2,X,Y. â¬\87*[b, f2] X â\89\98 Y → ∀I,K. Y = K.ⓘ{I} →
+                          â\88\83â\88\83f1,f. ð\9d\90\88â¦\83f1â¦\84 & f2 â\8a\9a â«¯f1 â\89\98 f & â¬\87*[b, f] X â\89\98 K.
 #b #f2 #X #Y #H elim H -f2 -X -Y
 [ #f2 #Hf2 #J #K #H destruct
 | #f2 #I #L1 #L2 #_ #IHL #J #K #H elim (IHL … H) -IHL
@@ -219,14 +219,14 @@ fact drops_fwd_drop2_aux: ∀b,f2,X,Y. ⬇*[b, f2] X ≡ Y → ∀I,K. Y = K.ⓘ
 ]
 qed-.
 
-lemma drops_fwd_drop2: â\88\80b,f2,I,X,K. â¬\87*[b, f2] X â\89¡ K.ⓘ{I} →
-                       â\88\83â\88\83f1,f. ð\9d\90\88â¦\83f1â¦\84 & f2 â\8a\9a â«¯f1 â\89¡ f & â¬\87*[b, f] X â\89¡ K.
+lemma drops_fwd_drop2: â\88\80b,f2,I,X,K. â¬\87*[b, f2] X â\89\98 K.ⓘ{I} →
+                       â\88\83â\88\83f1,f. ð\9d\90\88â¦\83f1â¦\84 & f2 â\8a\9a â«¯f1 â\89\98 f & â¬\87*[b, f] X â\89\98 K.
 /2 width=4 by drops_fwd_drop2_aux/ qed-.
 
 (* Properties with test for identity ****************************************)
 
 (* Basic_2A1: includes: drop_refl *)
-lemma drops_refl: â\88\80b,L,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L â\89¡ L.
+lemma drops_refl: â\88\80b,L,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L â\89\98 L.
 #b #L elim L -L /2 width=1 by drops_atom/
 #L #I #IHL #f #Hf elim (isid_inv_gen … Hf) -Hf
 /3 width=1 by drops_skip, liftsb_refl/
@@ -236,15 +236,15 @@ qed.
 
 (* Basic_1: includes: drop_gen_refl *)
 (* Basic_2A1: includes: drop_inv_O2 *)
-lemma drops_fwd_isid: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89¡ L2 → 𝐈⦃f⦄ → L1 = L2.
+lemma drops_fwd_isid: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89\98 L2 → 𝐈⦃f⦄ → L1 = L2.
 #b #f #L1 #L2 #H elim H -f -L1 -L2 //
 [ #f #I #L1 #L2 #_ #_ #H elim (isid_inv_next … H) //
 | /5 width=5 by isid_inv_push, liftsb_fwd_isid, eq_f2, sym_eq/
 ]
 qed-.
 
-lemma drops_after_fwd_drop2: â\88\80b,f2,I,X,K. â¬\87*[b, f2] X â\89¡ K.ⓘ{I} →
-                             â\88\80f1,f. ð\9d\90\88â¦\83f1â¦\84 â\86\92 f2 â\8a\9a â«¯f1 â\89¡ f â\86\92 â¬\87*[b, f] X â\89¡ K.
+lemma drops_after_fwd_drop2: â\88\80b,f2,I,X,K. â¬\87*[b, f2] X â\89\98 K.ⓘ{I} →
+                             â\88\80f1,f. ð\9d\90\88â¦\83f1â¦\84 â\86\92 f2 â\8a\9a â«¯f1 â\89\98 f â\86\92 â¬\87*[b, f] X â\89\98 K.
 #b #f2 #I #X #K #H #f1 #f #Hf1 #Hf elim (drops_fwd_drop2 … H) -H
 #g1 #g #Hg1 #Hg #HK lapply (after_mono_eq … Hg … Hf ??) -Hg -Hf
 /3 width=5 by drops_eq_repl_back, isid_inv_eq_repl, eq_next/
@@ -252,14 +252,14 @@ qed-.
 
 (* Forward lemmas with test for finite colength *****************************)
 
-lemma drops_fwd_isfin: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 → 𝐅⦃f⦄.
+lemma drops_fwd_isfin: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 → 𝐅⦃f⦄.
 #f #L1 #L2 #H elim H -f -L1 -L2
 /3 width=1 by isfin_next, isfin_push, isfin_isid/
 qed-.
 
 (* Properties with test for uniformity **************************************)
 
-lemma drops_isuni_ex: â\88\80f. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80L. â\88\83K. â¬\87*[â\92», f] L â\89¡ K.
+lemma drops_isuni_ex: â\88\80f. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80L. â\88\83K. â¬\87*[â\92», f] L â\89\98 K.
 #f #H elim H -f /4 width=2 by drops_refl, drops_TF, ex_intro/
 #f #_ #g #H #IH destruct * /2 width=2 by ex_intro/ 
 #L #I elim (IH L) -IH /3 width=2 by drops_drop, ex_intro/
@@ -267,9 +267,9 @@ qed-.
 
 (* Inversion lemmas with test for uniformity ********************************)
 
-lemma drops_inv_isuni: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 → 𝐔⦃f⦄ →
+lemma drops_inv_isuni: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 → 𝐔⦃f⦄ →
                        (𝐈⦃f⦄ ∧ L1 = L2) ∨
-                       â\88\83â\88\83g,I,K. â¬\87*[â\93\89, g] K â\89¡ L2 & 𝐔⦃g⦄ & L1 = K.ⓘ{I} & f = ⫯g.
+                       â\88\83â\88\83g,I,K. â¬\87*[â\93\89, g] K â\89\98 L2 & 𝐔⦃g⦄ & L1 = K.ⓘ{I} & f = ⫯g.
 #f #L1 #L2 * -f -L1 -L2
 [ /4 width=1 by or_introl, conj/
 | /4 width=7 by isuni_inv_next, ex4_3_intro, or_intror/
@@ -278,9 +278,9 @@ lemma drops_inv_isuni: ∀f,L1,L2. ⬇*[Ⓣ, f] L1 ≡ L2 → 𝐔⦃f⦄ →
 qed-.
 
 (* Basic_2A1: was: drop_inv_O1_pair1 *)
-lemma drops_inv_bind1_isuni: â\88\80b,f,I,K,L2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] K.â\93\98{I} â\89¡ L2 →
+lemma drops_inv_bind1_isuni: â\88\80b,f,I,K,L2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] K.â\93\98{I} â\89\98 L2 →
                              (𝐈⦃f⦄ ∧ L2 = K.ⓘ{I}) ∨
-                             â\88\83â\88\83g. ð\9d\90\94â¦\83gâ¦\84 & â¬\87*[b, g] K â\89¡ L2 & f = ⫯g.
+                             â\88\83â\88\83g. ð\9d\90\94â¦\83gâ¦\84 & â¬\87*[b, g] K â\89\98 L2 & f = ⫯g.
 #b #f #I #K #L2 #Hf #H elim (isuni_split … Hf) -Hf * #g #Hg #H0 destruct
 [ lapply (drops_inv_skip1 … H) -H * #Z #Y #HY #HZ #H destruct
   <(drops_fwd_isid … HY Hg) -Y >(liftsb_fwd_isid … HZ Hg) -Z
@@ -290,9 +290,9 @@ lemma drops_inv_bind1_isuni: ∀b,f,I,K,L2. 𝐔⦃f⦄ → ⬇*[b, f] K.ⓘ{I}
 qed-.
 
 (* Basic_2A1: was: drop_inv_O1_pair2 *)
-lemma drops_inv_bind2_isuni: â\88\80b,f,I,K,L1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L1 â\89¡ K.ⓘ{I} →
+lemma drops_inv_bind2_isuni: â\88\80b,f,I,K,L1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L1 â\89\98 K.ⓘ{I} →
                              (𝐈⦃f⦄ ∧ L1 = K.ⓘ{I}) ∨
-                             â\88\83â\88\83g,I1,K1. ð\9d\90\94â¦\83gâ¦\84 & â¬\87*[b, g] K1 â\89¡ K.ⓘ{I} & L1 = K1.ⓘ{I1} & f = ⫯g.
+                             â\88\83â\88\83g,I1,K1. ð\9d\90\94â¦\83gâ¦\84 & â¬\87*[b, g] K1 â\89\98 K.ⓘ{I} & L1 = K1.ⓘ{I1} & f = ⫯g.
 #b #f #I #K *
 [ #Hf #H elim (drops_inv_atom1 … H) -H #H destruct
 | #L1 #I1 #Hf #H elim (drops_inv_bind1_isuni … Hf H) -Hf -H *
@@ -302,16 +302,16 @@ lemma drops_inv_bind2_isuni: ∀b,f,I,K,L1. 𝐔⦃f⦄ → ⬇*[b, f] L1 ≡ K.
 ]
 qed-.
 
-lemma drops_inv_bind2_isuni_next: â\88\80b,f,I,K,L1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, â«¯f] L1 â\89¡ K.ⓘ{I} →
-                                  â\88\83â\88\83I1,K1. â¬\87*[b, f] K1 â\89¡ K.ⓘ{I} & L1 = K1.ⓘ{I1}.
+lemma drops_inv_bind2_isuni_next: â\88\80b,f,I,K,L1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, â«¯f] L1 â\89\98 K.ⓘ{I} →
+                                  â\88\83â\88\83I1,K1. â¬\87*[b, f] K1 â\89\98 K.ⓘ{I} & L1 = K1.ⓘ{I1}.
 #b #f #I #K #L1 #Hf #H elim (drops_inv_bind2_isuni … H) -H /2 width=3 by isuni_next/ -Hf *
 [ #H elim (isid_inv_next … H) -H //
 | /2 width=4 by ex2_2_intro/
 ]
 qed-.
 
-fact drops_inv_TF_aux: â\88\80f,L1,L2. â¬\87*[â\92», f] L1 â\89¡ L2 → 𝐔⦃f⦄ →
-                       â\88\80I,K. L2 = K.â\93\98{I} â\86\92 â¬\87*[â\93\89, f] L1 â\89¡ K.ⓘ{I}.
+fact drops_inv_TF_aux: â\88\80f,L1,L2. â¬\87*[â\92», f] L1 â\89\98 L2 → 𝐔⦃f⦄ →
+                       â\88\80I,K. L2 = K.â\93\98{I} â\86\92 â¬\87*[â\93\89, f] L1 â\89\98 K.ⓘ{I}.
 #f #L1 #L2 #H elim H -f -L1 -L2
 [ #f #_ #_ #J #K #H destruct
 | #f #I #L1 #L2 #_ #IH #Hf #J #K #H destruct
@@ -324,16 +324,16 @@ fact drops_inv_TF_aux: ∀f,L1,L2. ⬇*[Ⓕ, f] L1 ≡ L2 → 𝐔⦃f⦄ →
 qed-.
 
 (* Basic_2A1: includes: drop_inv_FT *)
-lemma drops_inv_TF: â\88\80f,I,L,K. â¬\87*[â\92», f] L â\89¡ K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[â\93\89, f] L â\89¡ K.ⓘ{I}.
+lemma drops_inv_TF: â\88\80f,I,L,K. â¬\87*[â\92», f] L â\89\98 K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[â\93\89, f] L â\89\98 K.ⓘ{I}.
 /2 width=3 by drops_inv_TF_aux/ qed-.
 
 (* Basic_2A1: includes: drop_inv_gen *)
-lemma drops_inv_gen: â\88\80b,f,I,L,K. â¬\87*[b, f] L â\89¡ K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[â\93\89, f] L â\89¡ K.ⓘ{I}.
+lemma drops_inv_gen: â\88\80b,f,I,L,K. â¬\87*[b, f] L â\89\98 K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[â\93\89, f] L â\89\98 K.ⓘ{I}.
 * /2 width=1 by drops_inv_TF/
 qed-.
 
 (* Basic_2A1: includes: drop_inv_T *)
-lemma drops_inv_F: â\88\80b,f,I,L,K. â¬\87*[â\92», f] L â\89¡ K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L â\89¡ K.ⓘ{I}.
+lemma drops_inv_F: â\88\80b,f,I,L,K. â¬\87*[â\92», f] L â\89\98 K.â\93\98{I} â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L â\89\98 K.ⓘ{I}.
 * /2 width=1 by drops_inv_TF/
 qed-.
 
@@ -341,13 +341,13 @@ qed-.
 
 (* Basic_1: was: drop_S *)
 (* Basic_2A1: was: drop_fwd_drop2 *)
-lemma drops_isuni_fwd_drop2: â\88\80b,f,I,X,K. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] X â\89¡ K.â\93\98{I} â\86\92 â¬\87*[b, â«¯f] X â\89¡ K.
+lemma drops_isuni_fwd_drop2: â\88\80b,f,I,X,K. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] X â\89\98 K.â\93\98{I} â\86\92 â¬\87*[b, â«¯f] X â\89\98 K.
 /3 width=7 by drops_after_fwd_drop2, after_isid_isuni/ qed-.
 
 (* Inversion lemmas with uniform relocations ********************************)
 
-lemma drops_inv_atom2: â\88\80b,L,f. â¬\87*[b, f] L â\89¡ ⋆ →
-                       â\88\83â\88\83n,f1. â¬\87*[b, ð\9d\90\94â\9d´nâ\9dµ] L â\89¡ â\8b\86 & ð\9d\90\94â\9d´nâ\9dµ â\8a\9a f1 â\89¡ f.
+lemma drops_inv_atom2: â\88\80b,L,f. â¬\87*[b, f] L â\89\98 ⋆ →
+                       â\88\83â\88\83n,f1. â¬\87*[b, ð\9d\90\94â\9d´nâ\9dµ] L â\89\98 â\8b\86 & ð\9d\90\94â\9d´nâ\9dµ â\8a\9a f1 â\89\98 f.
 #b #L elim L -L
 [ /3 width=4 by drops_atom, after_isid_sn, ex2_2_intro/
 | #L #I #IH #f #H elim (pn_split f) * #g #H0 destruct
@@ -358,8 +358,8 @@ lemma drops_inv_atom2: ∀b,L,f. ⬇*[b, f] L ≡ ⋆ →
 ]
 qed-.
 
-lemma drops_inv_succ: â\88\80L1,L2,i. â¬\87*[⫯i] L1 â\89¡ L2 →
-                      â\88\83â\88\83I,K. â¬\87*[i] K â\89¡ L2 & L1 = K.ⓘ{I}.
+lemma drops_inv_succ: â\88\80L1,L2,i. â¬\87*[⫯i] L1 â\89\98 L2 →
+                      â\88\83â\88\83I,K. â¬\87*[i] K â\89\98 L2 & L1 = K.ⓘ{I}.
 #L1 #L2 #i #H elim (drops_inv_isuni … H) -H // *
 [ #H elim (isid_inv_next … H) -H //
 | /2 width=4 by ex2_2_intro/
@@ -368,7 +368,7 @@ qed-.
 
 (* Properties with uniform relocations **************************************)
 
-lemma drops_F_uni: â\88\80L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ â\8b\86 â\88¨ â\88\83â\88\83I,K. â¬\87*[i] L â\89¡ K.ⓘ{I}.
+lemma drops_F_uni: â\88\80L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 â\8b\86 â\88¨ â\88\83â\88\83I,K. â¬\87*[i] L â\89\98 K.ⓘ{I}.
 #L elim L -L /2 width=1 by or_introl/
 #L #I #IH * /4 width=3 by drops_refl, ex1_2_intro, or_intror/
 #i elim (IH i) -IH /3 width=1 by drops_drop, or_introl/
@@ -376,8 +376,8 @@ lemma drops_F_uni: ∀L,i. ⬇*[Ⓕ, 𝐔❴i❵] L ≡ ⋆ ∨ ∃∃I,K. ⬇*[
 qed-.
 
 (* Basic_2A1: includes: drop_split *)
-lemma drops_split_trans: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89¡ L2 â\86\92 â\88\80f1,f2. f1 â\8a\9a f2 â\89¡ f → 𝐔⦃f1⦄ →
-                         â\88\83â\88\83L. â¬\87*[b, f1] L1 â\89¡ L & â¬\87*[b, f2] L â\89¡ L2.
+lemma drops_split_trans: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89\98 L2 â\86\92 â\88\80f1,f2. f1 â\8a\9a f2 â\89\98 f → 𝐔⦃f1⦄ →
+                         â\88\83â\88\83L. â¬\87*[b, f1] L1 â\89\98 L & â¬\87*[b, f2] L â\89\98 L2.
 #b #f #L1 #L2 #H elim H -f -L1 -L2
 [ #f #H0f #f1 #f2 #Hf #Hf1 @(ex2_intro … (⋆)) @drops_atom
   #H lapply (H0f H) -b
@@ -396,8 +396,8 @@ lemma drops_split_trans: ∀b,f,L1,L2. ⬇*[b, f] L1 ≡ L2 → ∀f1,f2. f1 ⊚
 ]
 qed-.
 
-lemma drops_split_div: â\88\80b,f1,L1,L. â¬\87*[b, f1] L1 â\89¡ L â\86\92 â\88\80f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐔⦃f2⦄ →
-                       â\88\83â\88\83L2. â¬\87*[â\92», f2] L â\89¡ L2 & â¬\87*[â\92», f] L1 â\89¡ L2.
+lemma drops_split_div: â\88\80b,f1,L1,L. â¬\87*[b, f1] L1 â\89\98 L â\86\92 â\88\80f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐔⦃f2⦄ →
+                       â\88\83â\88\83L2. â¬\87*[â\92», f2] L â\89\98 L2 & â¬\87*[â\92», f] L1 â\89\98 L2.
 #b #f1 #L1 #L #H elim H -f1 -L1 -L
 [ #f1 #Hf1 #f2 #f #Hf #Hf2 @(ex2_intro … (⋆)) @drops_atom #H destruct
 | #f1 #I #L1 #L #HL1 #IH #f2 #f #Hf #Hf2 elim (after_inv_nxx … Hf) -Hf [2,3: // ]
@@ -416,13 +416,13 @@ qed-.
 
 (* Properties with application **********************************************)
 
-lemma drops_tls_at: â\88\80f,i1,i2. @â¦\83i1,fâ¦\84 â\89¡ i2 →
-                    â\88\80b,L1,L2. â¬\87*[b,⫱*[i2]f] L1 â\89¡ L2 →
-                    â¬\87*[b,â\86\91⫱*[⫯i2]f] L1 â\89¡ L2.
+lemma drops_tls_at: â\88\80f,i1,i2. @â¦\83i1,fâ¦\84 â\89\98 i2 →
+                    â\88\80b,L1,L2. â¬\87*[b,⫱*[i2]f] L1 â\89\98 L2 →
+                    â¬\87*[b,â\86\91⫱*[⫯i2]f] L1 â\89\98 L2.
 /3 width=3 by drops_eq_repl_fwd, at_inv_tls/ qed-.
 
-lemma drops_split_trans_bind2: â\88\80b,f,I,L,K0. â¬\87*[b, f] L â\89¡ K0.â\93\98{I} â\86\92 â\88\80i. @â¦\83O, fâ¦\84 â\89¡ i →
-                               â\88\83â\88\83J,K. â¬\87*[i]L â\89¡ K.â\93\98{J} & â¬\87*[b, â«±*[⫯i]f] K â\89¡ K0 & â¬\86*[⫱*[⫯i]f] I â\89¡ J.
+lemma drops_split_trans_bind2: â\88\80b,f,I,L,K0. â¬\87*[b, f] L â\89\98 K0.â\93\98{I} â\86\92 â\88\80i. @â¦\83O, fâ¦\84 â\89\98 i →
+                               â\88\83â\88\83J,K. â¬\87*[i]L â\89\98 K.â\93\98{J} & â¬\87*[b, â«±*[⫯i]f] K â\89\98 K0 & â¬\86*[⫱*[⫯i]f] I â\89\98 J.
 #b #f #I #L #K0 #H #i #Hf
 elim (drops_split_trans … H) -H [ |5: @(after_uni_dx … Hf) |2,3: skip ] /2 width=1 by after_isid_dx/ #Y #HLY #H
 lapply (drops_tls_at … Hf … H) -H #H
index 68eddde1360c4544217a5dd8c064db27aa133380..06f1c06558d4b36c4164cbbf1d568e7714106b6a 100644 (file)
@@ -20,9 +20,9 @@ include "basic_2/relocation/drops_weight.ma".
 (* Main properties **********************************************************)
 
 (* Basic_2A1: includes: drop_conf_ge drop_conf_be drop_conf_le *)
-theorem drops_conf: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89¡ L →
-                    â\88\80b2,f,L2. â¬\87*[b2, f] L1 â\89¡ L2 →
-                    â\88\80f2. f1 â\8a\9a f2 â\89¡ f â\86\92 â¬\87*[b2, f2] L â\89¡ L2.
+theorem drops_conf: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89\98 L →
+                    â\88\80b2,f,L2. â¬\87*[b2, f] L1 â\89\98 L2 →
+                    â\88\80f2. f1 â\8a\9a f2 â\89\98 f â\86\92 â¬\87*[b2, f2] L â\89\98 L2.
 #b1 #f1 #L1 #L #H elim H -f1 -L1 -L
 [ #f1 #_ #b2 #f #L2 #HL2 #f2 #Hf12 elim (drops_inv_atom1 … HL2) -b1 -HL2
   #H #Hf destruct @drops_atom
@@ -41,9 +41,9 @@ qed-.
 (* Basic_2A1: includes: drop_trans_ge drop_trans_le drop_trans_ge_comm 
                         drops_drop_trans
 *)
-theorem drops_trans: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89¡ L →
-                     â\88\80b2,f2,L2. â¬\87*[b2, f2] L â\89¡ L2 →
-                     â\88\80f. f1 â\8a\9a f2 â\89¡ f â\86\92 â¬\87*[b1â\88§b2, f] L1 â\89¡ L2.
+theorem drops_trans: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89\98 L →
+                     â\88\80b2,f2,L2. â¬\87*[b2, f2] L â\89\98 L2 →
+                     â\88\80f. f1 â\8a\9a f2 â\89\98 f â\86\92 â¬\87*[b1â\88§b2, f] L1 â\89\98 L2.
 #b1 #f1 #L1 #L #H elim H -f1 -L1 -L
 [ #f1 #Hf1 #b2 #f2 #L2 #HL2 #f #Hf elim (drops_inv_atom1 … HL2) -HL2
   #H #Hf2 destruct @drops_atom #H elim (andb_inv_true_dx … H) -H
@@ -59,7 +59,7 @@ theorem drops_trans: ∀b1,f1,L1,L. ⬇*[b1, f1] L1 ≡ L →
 ]
 qed-.
 
-theorem drops_conf_div: â\88\80f1,L,K. â¬\87*[â\93\89,f1] L â\89¡ K â\86\92 â\88\80f2. â¬\87*[â\93\89,f2] L â\89¡ K →
+theorem drops_conf_div: â\88\80f1,L,K. â¬\87*[â\93\89,f1] L â\89\98 K â\86\92 â\88\80f2. â¬\87*[â\93\89,f2] L â\89\98 K →
                         𝐔⦃f1⦄ → 𝐔⦃f2⦄ → f1 ≗ f2.
 #f1 #L #K #H elim H -f1 -L -K
 [ #f1 #Hf1 #f2 #Hf2 elim (drops_inv_atom1 … Hf2) -Hf2
@@ -85,28 +85,28 @@ qed-.
 (* Advanced properties ******************************************************)
 
 (* Basic_2A1: includes: drop_mono *)
-lemma drops_mono: â\88\80b1,f,L,L1. â¬\87*[b1, f] L â\89¡ L1 →
-                  â\88\80b2,L2. â¬\87*[b2, f] L â\89¡ L2 → L1 = L2.
+lemma drops_mono: â\88\80b1,f,L,L1. â¬\87*[b1, f] L â\89\98 L1 →
+                  â\88\80b2,L2. â¬\87*[b2, f] L â\89\98 L2 → L1 = L2.
 #b1 #f #L #L1 lapply (after_isid_dx 𝐈𝐝 … f)
 /3 width=8 by drops_conf, drops_fwd_isid/
 qed-.
 
 (* Basic_2A1: includes: drop_conf_lt *)
-lemma drops_conf_skip1: â\88\80b2,f,L,L2. â¬\87*[b2, f] L â\89¡ L2 →
-                        â\88\80b1,f1,I1,K1. â¬\87*[b1, f1] L â\89¡ K1.ⓘ{I1} →
-                        â\88\80f2. f1 â\8a\9a â\86\91f2 â\89¡ f →
+lemma drops_conf_skip1: â\88\80b2,f,L,L2. â¬\87*[b2, f] L â\89\98 L2 →
+                        â\88\80b1,f1,I1,K1. â¬\87*[b1, f1] L â\89\98 K1.ⓘ{I1} →
+                        â\88\80f2. f1 â\8a\9a â\86\91f2 â\89\98 f →
                         ∃∃I2,K2. L2 = K2.ⓘ{I2} &
-                                 â¬\87*[b2, f2] K1 â\89¡ K2 & â¬\86*[f2] I2 â\89¡ I1.
+                                 â¬\87*[b2, f2] K1 â\89\98 K2 & â¬\86*[f2] I2 â\89\98 I1.
 #b2 #f #L #L2 #H2 #b1 #f1 #I1 #K1 #H1 #f2 #Hf lapply (drops_conf … H1 … H2 … Hf) -L -Hf
 #H elim (drops_inv_skip1 … H) -H /2 width=5 by ex3_2_intro/
 qed-.
 
 (* Basic_2A1: includes: drop_trans_lt *)
-lemma drops_trans_skip2: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89¡ L →
-                         â\88\80b2,f2,I2,K2. â¬\87*[b2, f2] L â\89¡ K2.ⓘ{I2} →
-                         â\88\80f. f1 â\8a\9a f2 â\89¡ ↑f →
+lemma drops_trans_skip2: â\88\80b1,f1,L1,L. â¬\87*[b1, f1] L1 â\89\98 L →
+                         â\88\80b2,f2,I2,K2. â¬\87*[b2, f2] L â\89\98 K2.ⓘ{I2} →
+                         â\88\80f. f1 â\8a\9a f2 â\89\98 ↑f →
                          ∃∃I1,K1. L1 = K1.ⓘ{I1} &
-                                  â¬\87*[b1â\88§b2, f] K1 â\89¡ K2 & â¬\86*[f] I2 â\89¡ I1.
+                                  â¬\87*[b1â\88§b2, f] K1 â\89\98 K2 & â¬\86*[f] I2 â\89\98 I1.
 #b1 #f1 #L1 #L #H1 #b2 #f2 #I2 #K2 #H2 #f #Hf
 lapply (drops_trans … H1 … H2 … Hf) -L -Hf
 #H elim (drops_inv_skip2 … H) -H /2 width=5 by ex3_2_intro/
@@ -114,7 +114,7 @@ qed-.
 
 (* Basic_2A1: includes: drops_conf_div *)
 lemma drops_conf_div_bind: ∀f1,f2,I1,I2,L,K.
-                           â¬\87*[â\93\89, f1] L â\89¡ K.â\93\98{I1} â\86\92 â¬\87*[â\93\89, f2] L â\89¡ K.ⓘ{I2} →
+                           â¬\87*[â\93\89, f1] L â\89\98 K.â\93\98{I1} â\86\92 â¬\87*[â\93\89, f2] L â\89\98 K.ⓘ{I2} →
                            𝐔⦃f1⦄ → 𝐔⦃f2⦄ → f1 ≗ f2 ∧ I1 = I2.
 #f1 #f2 #I1 #I2 #L #K #Hf1 #Hf2 #HU1 #HU2
 lapply (drops_isuni_fwd_drop2 … Hf1) // #H1
@@ -126,7 +126,7 @@ lapply (drops_mono … H0 … Hf2) -L #H
 destruct /2 width=1 by conj/
 qed-.
 
-lemma drops_inv_uni: â\88\80L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ â\8b\86 â\86\92 â\88\80I,K. â¬\87*[i] L â\89¡ K.ⓘ{I} → ⊥.
+lemma drops_inv_uni: â\88\80L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 â\8b\86 â\86\92 â\88\80I,K. â¬\87*[i] L â\89\98 K.ⓘ{I} → ⊥.
 #L #i #H1 #I #K #H2
 lapply (drops_F … H2) -H2 #H2
 lapply (drops_mono … H2 … H1) -L -i #H destruct
index 10cc0f5798a38b16b405917c6ac79cf152a47376..7543a555908d738cef29fc8917f313c131c60fc8 100644 (file)
@@ -20,13 +20,13 @@ include "basic_2/relocation/drops.ma".
 (* Forward lemmas with length for local environments ************************)
 
 (* Basic_2A1: includes: drop_fwd_length_le4 *)
-lemma drops_fwd_length_le4: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89¡ L2 → |L2| ≤ |L1|.
+lemma drops_fwd_length_le4: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89\98 L2 → |L2| ≤ |L1|.
 #b #f #L1 #L2 #H elim H -f -L1 -L2 /2 width=1 by le_S, le_S_S/
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length_eq1 *)
-theorem drops_fwd_length_eq1: â\88\80b1,b2,f,L1,K1. â¬\87*[b1, f] L1 â\89¡ K1 →
-                              â\88\80L2,K2. â¬\87*[b2, f] L2 â\89¡ K2 →
+theorem drops_fwd_length_eq1: â\88\80b1,b2,f,L1,K1. â¬\87*[b1, f] L1 â\89\98 K1 →
+                              â\88\80L2,K2. â¬\87*[b2, f] L2 â\89\98 K2 →
                               |L1| = |L2| → |K1| = |K2|.
 #b1 #b2 #f #L1 #K1 #HLK1 elim HLK1 -f -L1 -K1
 [ #f #_ #L2 #K2 #HLK2 #H lapply (length_inv_zero_sn … H) -H
@@ -43,8 +43,8 @@ qed-.
 
 (* forward lemmas with finite colength assignment ***************************)
 
-lemma drops_fwd_fcla: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 →
-                      â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & |L1| = |L2| + n.
+lemma drops_fwd_fcla: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 →
+                      â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & |L1| = |L2| + n.
 #f #L1 #L2 #H elim H -f -L1 -L2
 [ /4 width=3 by fcla_isid, ex2_intro/
 | #f #I #L1 #L2 #_ * >length_bind /3 width=3 by fcla_next, ex2_intro, eq_f/
@@ -53,53 +53,53 @@ lemma drops_fwd_fcla: ∀f,L1,L2. ⬇*[Ⓣ, f] L1 ≡ L2 →
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length *)
-lemma drops_fcla_fwd: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89¡ L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ n →
+lemma drops_fcla_fwd: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89\98 L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 n →
                       |L1| = |L2| + n.
 #f #l1 #l2 #n #Hf #Hn elim (drops_fwd_fcla … Hf) -Hf
 #k #Hm #H <(fcla_mono … Hm … Hn) -f //
 qed-.
 
-lemma drops_fwd_fcla_le2: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 →
-                          â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & n ≤ |L1|.
+lemma drops_fwd_fcla_le2: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 →
+                          â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & n ≤ |L1|.
 #f #L1 #L2 #H elim (drops_fwd_fcla … H) -H /2 width=3 by ex2_intro/
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length_le2 *)
-lemma drops_fcla_fwd_le2: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89¡ L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ n →
+lemma drops_fcla_fwd_le2: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89\98 L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 n →
                           n ≤ |L1|.
 #f #L1 #L2 #n #H #Hn elim (drops_fwd_fcla_le2 … H) -H
 #k #Hm #H <(fcla_mono … Hm … Hn) -f //
 qed-.
 
-lemma drops_fwd_fcla_lt2: â\88\80f,L1,I2,K2. â¬\87*[â\93\89, f] L1 â\89¡ K2.ⓘ{I2} →
-                          â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & n < |L1|.
+lemma drops_fwd_fcla_lt2: â\88\80f,L1,I2,K2. â¬\87*[â\93\89, f] L1 â\89\98 K2.ⓘ{I2} →
+                          â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & n < |L1|.
 #f #L1 #I2 #K2 #H elim (drops_fwd_fcla … H) -H
 #n #Hf #H >H -L1 /3 width=3 by le_S_S, ex2_intro/
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length_lt2 *)
 lemma drops_fcla_fwd_lt2: ∀f,L1,I2,K2,n.
-                          â¬\87*[â\93\89, f] L1 â\89¡ K2.â\93\98{I2} â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ n →
+                          â¬\87*[â\93\89, f] L1 â\89\98 K2.â\93\98{I2} â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 n →
                           n < |L1|.
 #f #L1 #I2 #K2 #n #H #Hn elim (drops_fwd_fcla_lt2 … H) -H
 #k #Hm #H <(fcla_mono … Hm … Hn) -f //
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length_lt4 *)
-lemma drops_fcla_fwd_lt4: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89¡ L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ n → 0 < n →
+lemma drops_fcla_fwd_lt4: â\88\80f,L1,L2,n. â¬\87*[â\93\89, f] L1 â\89\98 L2 â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 n → 0 < n →
                           |L2| < |L1|.
 #f #L1 #L2 #n #H #Hf #Hn lapply (drops_fcla_fwd … H Hf) -f
 /2 width=1 by lt_minus_to_plus_r/ qed-.
 
 (* Basic_2A1: includes: drop_inv_length_eq *)
-lemma drops_inv_length_eq: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 → |L1| = |L2| → 𝐈⦃f⦄.
+lemma drops_inv_length_eq: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 → |L1| = |L2| → 𝐈⦃f⦄.
 #f #L1 #L2 #H #HL12 elim (drops_fwd_fcla … H) -H
 #n #Hn <HL12 -L2 #H lapply (discr_plus_x_xy … H) -H
 /2 width=3 by fcla_inv_xp/
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_length_eq2 *)
-theorem drops_fwd_length_eq2: â\88\80f,L1,L2,K1,K2. â¬\87*[â\93\89, f] L1 â\89¡ K1 â\86\92 â¬\87*[â\93\89, f] L2 â\89¡ K2 →
+theorem drops_fwd_length_eq2: â\88\80f,L1,L2,K1,K2. â¬\87*[â\93\89, f] L1 â\89\98 K1 â\86\92 â¬\87*[â\93\89, f] L2 â\89\98 K2 →
                               |K1| = |K2| → |L1| = |L2|.
 #f #L1 #L2 #K1 #K2 #HLK1 #HLK2 #HL12
 elim (drops_fwd_fcla … HLK1) -HLK1 #n1 #Hn1 #H1 >H1 -L1
@@ -107,8 +107,8 @@ elim (drops_fwd_fcla … HLK2) -HLK2 #n2 #Hn2 #H2 >H2 -L2
 <(fcla_mono … Hn2 … Hn1) -f //
 qed-.
 
-theorem drops_conf_div: â\88\80f1,f2,L1,L2. â¬\87*[â\93\89, f1] L1 â\89¡ L2 â\86\92 â¬\87*[â\93\89, f2] L1 â\89¡ L2 →
-                        â\88\83â\88\83n. ð\9d\90\82â¦\83f1â¦\84 â\89¡ n & ð\9d\90\82â¦\83f2â¦\84 â\89¡ n.
+theorem drops_conf_div: â\88\80f1,f2,L1,L2. â¬\87*[â\93\89, f1] L1 â\89\98 L2 â\86\92 â¬\87*[â\93\89, f2] L1 â\89\98 L2 →
+                        â\88\83â\88\83n. ð\9d\90\82â¦\83f1â¦\84 â\89\98 n & ð\9d\90\82â¦\83f2â¦\84 â\89\98 n.
 #f1 #f2 #L1 #L2 #H1 #H2
 elim (drops_fwd_fcla … H1) -H1 #n1 #Hf1 #H1
 elim (drops_fwd_fcla … H2) -H2 #n2 #Hf2 >H1 -L1 #H
@@ -116,7 +116,7 @@ lapply (injective_plus_r … H) -L2 #H destruct /2 width=3 by ex2_intro/
 qed-.
 
 theorem drops_conf_div_fcla: ∀f1,f2,L1,L2,n1,n2.
-                             â¬\87*[â\93\89, f1] L1 â\89¡ L2 â\86\92 â¬\87*[â\93\89, f2] L1 â\89¡ L2 â\86\92 ð\9d\90\82â¦\83f1â¦\84 â\89¡ n1 â\86\92 ð\9d\90\82â¦\83f2â¦\84 â\89¡ n2 →
+                             â¬\87*[â\93\89, f1] L1 â\89\98 L2 â\86\92 â¬\87*[â\93\89, f2] L1 â\89\98 L2 â\86\92 ð\9d\90\82â¦\83f1â¦\84 â\89\98 n1 â\86\92 ð\9d\90\82â¦\83f2â¦\84 â\89\98 n2 →
                              n1 = n2.
 #f1 #f2 #L1 #L2 #n1 #n2 #Hf1 #Hf2 #Hn1 #Hn2
 lapply (drops_fcla_fwd … Hf1 Hn1) -f1 #H1
index a3ff3cdac86b2dc6bf93d54c0457427437e1ec8d..dfee0330d99fe498c06d5cd7d92e9533ef208311 100644 (file)
@@ -43,8 +43,8 @@ qed-.
 
 lemma lexs_liftable_co_dedropable_bi: ∀RN,RP. d_liftable2_sn … liftsb RN → d_liftable2_sn … liftsb RP →
                                       ∀f2,L1,L2. L1 ⪤*[cfull, RP, f2] L2 → ∀f1,K1,K2. K1 ⪤*[RN, RP, f1] K2 →
-                                      â\88\80b,f. â¬\87*[b, f] L1 â\89¡ K1 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                                      f ~â\8a\9a f1 â\89¡ f2 → L1 ⪤*[RN, RP, f2] L2.
+                                      â\88\80b,f. â¬\87*[b, f] L1 â\89\98 K1 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                                      f ~â\8a\9a f1 â\89\98 f2 → L1 ⪤*[RN, RP, f2] L2.
 #RN #RP #HRN #HRP #f2 #L1 #L2 #H elim H -f2 -L1 -L2 //
 #g2 #I1 #I2 #L1 #L2 #HL12 #HI12 #IH #f1 #Y1 #Y2 #HK12 #b #f #HY1 #HY2 #H
 [ elim (coafter_inv_xxn … H) [ |*: // ] -H #g #g1 #Hg2 #H1 #H2 destruct
@@ -88,9 +88,9 @@ lemma lexs_liftable_co_dedropable_sn: ∀RN,RP. (∀L. reflexive … (RN L)) →
 ]
 qed-.
 
-fact lexs_dropable_dx_aux: â\88\80RN,RP,b,f,L2,K2. â¬\87*[b, f] L2 â\89¡ K2 → 𝐔⦃f⦄ →
-                           â\88\80f2,L1. L1 âª¤*[RN, RP, f2] L2 â\86\92 â\88\80f1. f ~â\8a\9a f1 â\89¡ f2 →
-                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1 & K1 ⪤*[RN, RP, f1] K2.
+fact lexs_dropable_dx_aux: â\88\80RN,RP,b,f,L2,K2. â¬\87*[b, f] L2 â\89\98 K2 → 𝐔⦃f⦄ →
+                           â\88\80f2,L1. L1 âª¤*[RN, RP, f2] L2 â\86\92 â\88\80f1. f ~â\8a\9a f1 â\89\98 f2 →
+                           â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1 & K1 ⪤*[RN, RP, f1] K2.
 #RN #RP #b #f #L2 #K2 #H elim H -f -L2 -K2
 [ #f #Hf #_ #f2 #X #H #f1 #Hf2 lapply (lexs_inv_atom2 … H) -H
   #H destruct /4 width=3 by lexs_atom, drops_atom, ex2_intro/
@@ -117,9 +117,9 @@ lemma lexs_co_dropable_dx: ∀RN,RP. co_dropable_dx (lexs RN RP).
 (* Basic_2A1: includes: lpx_sn_drop_conf *) (**)
 lemma lexs_drops_conf_next: ∀RN,RP.
                             ∀f2,L1,L2. L1 ⪤*[RN, RP, f2] L2 →
-                            â\88\80b,f,I1,K1. â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I1} → 𝐔⦃f⦄ →
-                            â\88\80f1. f ~â\8a\9a â«¯f1 â\89¡ f2 →
-                            â\88\83â\88\83I2,K2. â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I2} & K1 ⪤*[RN, RP, f1] K2 & RN K1 I1 I2.
+                            â\88\80b,f,I1,K1. â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I1} → 𝐔⦃f⦄ →
+                            â\88\80f1. f ~â\8a\9a â«¯f1 â\89\98 f2 →
+                            â\88\83â\88\83I2,K2. â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I2} & K1 ⪤*[RN, RP, f1] K2 & RN K1 I1 I2.
 #RN #RP #f2 #L1 #L2 #HL12 #b #f #I1 #K1 #HLK1 #Hf #f1 #Hf2
 elim (lexs_co_dropable_sn … HLK1 … Hf … HL12 … Hf2) -L1 -f2 -Hf
 #X #HX #HLK2 elim (lexs_inv_next1 … HX) -HX
@@ -128,9 +128,9 @@ qed-.
 
 lemma lexs_drops_conf_push: ∀RN,RP.
                             ∀f2,L1,L2. L1 ⪤*[RN, RP, f2] L2 →
-                            â\88\80b,f,I1,K1. â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I1} → 𝐔⦃f⦄ →
-                            â\88\80f1. f ~â\8a\9a â\86\91f1 â\89¡ f2 →
-                            â\88\83â\88\83I2,K2. â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I2} & K1 ⪤*[RN, RP, f1] K2 & RP K1 I1 I2.
+                            â\88\80b,f,I1,K1. â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I1} → 𝐔⦃f⦄ →
+                            â\88\80f1. f ~â\8a\9a â\86\91f1 â\89\98 f2 →
+                            â\88\83â\88\83I2,K2. â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I2} & K1 ⪤*[RN, RP, f1] K2 & RP K1 I1 I2.
 #RN #RP #f2 #L1 #L2 #HL12 #b #f #I1 #K1 #HLK1 #Hf #f1 #Hf2
 elim (lexs_co_dropable_sn … HLK1 … Hf … HL12 … Hf2) -L1 -f2 -Hf
 #X #HX #HLK2 elim (lexs_inv_push1 … HX) -HX
@@ -139,9 +139,9 @@ qed-.
 
 (* Basic_2A1: includes: lpx_sn_drop_trans *)
 lemma lexs_drops_trans_next: ∀RN,RP,f2,L1,L2. L1 ⪤*[RN, RP, f2] L2 →
-                             â\88\80b,f,I2,K2. â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I2} → 𝐔⦃f⦄ →
-                             â\88\80f1. f ~â\8a\9a â«¯f1 â\89¡ f2 →
-                             â\88\83â\88\83I1,K1. â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I1} & K1 ⪤*[RN, RP, f1] K2 & RN K1 I1 I2.
+                             â\88\80b,f,I2,K2. â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I2} → 𝐔⦃f⦄ →
+                             â\88\80f1. f ~â\8a\9a â«¯f1 â\89\98 f2 →
+                             â\88\83â\88\83I1,K1. â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I1} & K1 ⪤*[RN, RP, f1] K2 & RN K1 I1 I2.
 #RN #RP #f2 #L1 #L2 #HL12 #b #f #I2 #K2 #HLK2 #Hf #f1 #Hf2
 elim (lexs_co_dropable_dx … HL12 … HLK2 … Hf … Hf2) -L2 -f2 -Hf
 #X #HLK1 #HX elim (lexs_inv_next2 … HX) -HX
@@ -149,9 +149,9 @@ elim (lexs_co_dropable_dx … HL12 … HLK2 … Hf … Hf2) -L2 -f2 -Hf
 qed-.
 
 lemma lexs_drops_trans_push: ∀RN,RP,f2,L1,L2. L1 ⪤*[RN, RP, f2] L2 →
-                             â\88\80b,f,I2,K2. â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I2} → 𝐔⦃f⦄ →
-                             â\88\80f1. f ~â\8a\9a â\86\91f1 â\89¡ f2 →
-                             â\88\83â\88\83I1,K1. â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I1} & K1 ⪤*[RN, RP, f1] K2 & RP K1 I1 I2.
+                             â\88\80b,f,I2,K2. â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I2} → 𝐔⦃f⦄ →
+                             â\88\80f1. f ~â\8a\9a â\86\91f1 â\89\98 f2 →
+                             â\88\83â\88\83I1,K1. â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I1} & K1 ⪤*[RN, RP, f1] K2 & RP K1 I1 I2.
 #RN #RP #f2 #L1 #L2 #HL12 #b #f #I2 #K2 #HLK2 #Hf #f1 #Hf2
 elim (lexs_co_dropable_dx … HL12 … HLK2 … Hf … Hf2) -L2 -f2 -Hf
 #X #HLK1 #HX elim (lexs_inv_push2 … HX) -HX
@@ -161,9 +161,9 @@ qed-.
 lemma drops_lexs_trans_next: ∀RN,RP. (∀L. reflexive ? (RN L)) → (∀L. reflexive ? (RP L)) →
                              d_liftable2_sn … liftsb RN → d_liftable2_sn … liftsb RP →
                              ∀f1,K1,K2. K1 ⪤*[RN, RP, f1] K2 →
-                             â\88\80b,f,I1,L1. â¬\87*[b, f] L1.â\93\98{I1} â\89¡ K1 →
-                             â\88\80f2. f ~â\8a\9a f1 â\89¡ ⫯f2 →
-                             â\88\83â\88\83I2,L2. â¬\87*[b, f] L2.â\93\98{I2} â\89¡ K2 & L1 âª¤*[RN, RP, f2] L2 & RN L1 I1 I2 & L1.â\93\98{I1} â\89\90[f] L2.ⓘ{I2}.
+                             â\88\80b,f,I1,L1. â¬\87*[b, f] L1.â\93\98{I1} â\89\98 K1 →
+                             â\88\80f2. f ~â\8a\9a f1 â\89\98 ⫯f2 →
+                             â\88\83â\88\83I2,L2. â¬\87*[b, f] L2.â\93\98{I2} â\89\98 K2 & L1 âª¤*[RN, RP, f2] L2 & RN L1 I1 I2 & L1.â\93\98{I1} â\89¡[f] L2.ⓘ{I2}.
 #RN #RP #H1RN #H1RP #H2RN #H2RP #f1 #K1 #K2 #HK12 #b #f #I1 #L1 #HLK1 #f2 #Hf2
 elim (lexs_liftable_co_dedropable_sn … H1RN H1RP H2RN H2RP … HLK1 … HK12 … Hf2) -K1 -f1 -H1RN -H1RP -H2RN -H2RP
 #X #HX #HLK2 #H1L12 elim (lexs_inv_next1 … HX) -HX
@@ -173,18 +173,18 @@ qed-.
 lemma drops_lexs_trans_push: ∀RN,RP. (∀L. reflexive ? (RN L)) → (∀L. reflexive ? (RP L)) →
                              d_liftable2_sn … liftsb RN → d_liftable2_sn … liftsb RP →
                              ∀f1,K1,K2. K1 ⪤*[RN, RP, f1] K2 →
-                             â\88\80b,f,I1,L1. â¬\87*[b, f] L1.â\93\98{I1} â\89¡ K1 →
-                             â\88\80f2. f ~â\8a\9a f1 â\89¡ ↑f2 →
-                             â\88\83â\88\83I2,L2. â¬\87*[b, f] L2.â\93\98{I2} â\89¡ K2 & L1 âª¤*[RN, RP, f2] L2 & RP L1 I1 I2 & L1.â\93\98{I1} â\89\90[f] L2.ⓘ{I2}.
+                             â\88\80b,f,I1,L1. â¬\87*[b, f] L1.â\93\98{I1} â\89\98 K1 →
+                             â\88\80f2. f ~â\8a\9a f1 â\89\98 ↑f2 →
+                             â\88\83â\88\83I2,L2. â¬\87*[b, f] L2.â\93\98{I2} â\89\98 K2 & L1 âª¤*[RN, RP, f2] L2 & RP L1 I1 I2 & L1.â\93\98{I1} â\89¡[f] L2.ⓘ{I2}.
 #RN #RP #H1RN #H1RP #H2RN #H2RP #f1 #K1 #K2 #HK12 #b #f #I1 #L1 #HLK1 #f2 #Hf2
 elim (lexs_liftable_co_dedropable_sn … H1RN H1RP H2RN H2RP … HLK1 … HK12 … Hf2) -K1 -f1 -H1RN -H1RP -H2RN -H2RP
 #X #HX #HLK2 #H1L12 elim (lexs_inv_push1 … HX) -HX
 #I2 #L2 #H2L12 #HI12 #H destruct /2 width=6 by ex4_2_intro/
 qed-.
 
-lemma drops_atom2_lexs_conf: â\88\80RN,RP,b,f1,L1. â¬\87*[b, f1] L1 â\89¡ ⋆ → 𝐔⦃f1⦄ →
+lemma drops_atom2_lexs_conf: â\88\80RN,RP,b,f1,L1. â¬\87*[b, f1] L1 â\89\98 ⋆ → 𝐔⦃f1⦄ →
                              ∀f,L2. L1 ⪤*[RN, RP, f] L2 →
-                             â\88\80f2. f1 ~â\8a\9a f2 â\89¡f â\86\92 â¬\87*[b, f1] L2 â\89¡ ⋆.
+                             â\88\80f2. f1 ~â\8a\9a f2 â\89\98f â\86\92 â¬\87*[b, f1] L2 â\89\98 ⋆.
 #RN #RP #b #f1 #L1 #H1 #Hf1 #f #L2 #H2 #f2 #H3
 elim (lexs_co_dropable_sn … H1 … H2 … H3) // -H1 -H2 -H3 -Hf1
 #L #H #HL2 lapply (lexs_inv_atom1 … H) -H //
index bc32717b6fd7b453dea41e9d91637548bcaa2bd4..8c6feaaa2c94e26bf557350a1acd1ea1bfc34c92 100644 (file)
@@ -29,10 +29,10 @@ lemma lreq_co_dropable_dx: co_dropable_dx lreq.
 @lexs_co_dropable_dx qed-.
 
 (* Basic_2A1: includes: lreq_drop_trans_be *)
-lemma lreq_drops_trans_next: â\88\80f2,L1,L2. L1 â\89\90[f2] L2 →
-                             â\88\80b,f,I,K2. â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I} → 𝐔⦃f⦄ →
-                             â\88\80f1. f ~â\8a\9a â«¯f1 â\89¡ f2 →
-                             â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1.â\93\98{I} & K1 â\89\90[f1] K2.
+lemma lreq_drops_trans_next: â\88\80f2,L1,L2. L1 â\89¡[f2] L2 →
+                             â\88\80b,f,I,K2. â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I} → 𝐔⦃f⦄ →
+                             â\88\80f1. f ~â\8a\9a â«¯f1 â\89\98 f2 →
+                             â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1.â\93\98{I} & K1 â\89¡[f1] K2.
 #f2 #L1 #L2 #HL12 #b #f #I2 #K2 #HLK2 #Hf #f1 #Hf2
 elim (lexs_drops_trans_next … HL12 … HLK2 Hf … Hf2) -f2 -L2 -Hf
 #I1 #K1 #HLK1 #HK12 #H <(ceq_ext_inv_eq … H) -I2
@@ -40,19 +40,19 @@ elim (lexs_drops_trans_next … HL12 … HLK2 Hf … Hf2) -f2 -L2 -Hf
 qed-.
 
 (* Basic_2A1: includes: lreq_drop_conf_be *)
-lemma lreq_drops_conf_next: â\88\80f2,L1,L2. L1 â\89\90[f2] L2 →
-                            â\88\80b,f,I,K1. â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I} → 𝐔⦃f⦄ →
-                            â\88\80f1. f ~â\8a\9a â«¯f1 â\89¡ f2 →
-                            â\88\83â\88\83K2. â¬\87*[b, f] L2 â\89¡ K2.â\93\98{I} & K1 â\89\90[f1] K2.
+lemma lreq_drops_conf_next: â\88\80f2,L1,L2. L1 â\89¡[f2] L2 →
+                            â\88\80b,f,I,K1. â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I} → 𝐔⦃f⦄ →
+                            â\88\80f1. f ~â\8a\9a â«¯f1 â\89\98 f2 →
+                            â\88\83â\88\83K2. â¬\87*[b, f] L2 â\89\98 K2.â\93\98{I} & K1 â\89¡[f1] K2.
 #f2 #L1 #L2 #HL12 #b #f #I1 #K1 #HLK1 #Hf #f1 #Hf2
 elim (lreq_drops_trans_next … (lreq_sym … HL12) … HLK1 … Hf2) // -f2 -L1 -Hf
 /3 width=3 by lreq_sym, ex2_intro/
 qed-.
 
-lemma drops_lreq_trans_next: â\88\80f1,K1,K2. K1 â\89\90[f1] K2 →
-                             â\88\80b,f,I,L1. â¬\87*[b, f] L1.â\93\98{I} â\89¡ K1 →
-                             â\88\80f2. f ~â\8a\9a f1 â\89¡ ⫯f2 →
-                             â\88\83â\88\83L2. â¬\87*[b, f] L2.â\93\98{I} â\89¡ K2 & L1 â\89\90[f2] L2 & L1.â\93\98{I} â\89\90[f] L2.ⓘ{I}.
+lemma drops_lreq_trans_next: â\88\80f1,K1,K2. K1 â\89¡[f1] K2 →
+                             â\88\80b,f,I,L1. â¬\87*[b, f] L1.â\93\98{I} â\89\98 K1 →
+                             â\88\80f2. f ~â\8a\9a f1 â\89\98 ⫯f2 →
+                             â\88\83â\88\83L2. â¬\87*[b, f] L2.â\93\98{I} â\89\98 K2 & L1 â\89¡[f2] L2 & L1.â\93\98{I} â\89¡[f] L2.ⓘ{I}.
 #f1 #K1 #K2 #HK12 #b #f #I1 #L1 #HLK1 #f2 #Hf2
 elim (drops_lexs_trans_next … HK12 … HLK1 … Hf2) -f1 -K1
 /2 width=6 by cfull_lift_sn, ceq_lift_sn/
index 4820ed7759af9d86368f27331de48d4cf1bf6555..dadccae4f57a1d1452add3c7dda058e7e7e08028 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/relocation/lreq_lreq.ma".
 (* Properties with reflexive and transitive closure *************************)
 
 (* Basic_2A1: was: d_liftable_LTC *)
-lemma d2_liftable_sn_LTC: ∀C,S,R. d_liftable2_sn C S R → d_liftable2_sn C S (LTC … R).
+lemma d2_liftable_sn_CTC: ∀C,S,R. d_liftable2_sn C S R → d_liftable2_sn C S (CTC … R).
 #C #S #R #HR #K #T1 #T2 #H elim H -T2
 [ #T2 #HT12 #b #f #L #HLK #U1 #HTU1
   elim (HR … HT12 … HLK … HTU1) /3 width=3 by inj, ex2_intro/
@@ -32,7 +32,7 @@ lemma d2_liftable_sn_LTC: ∀C,S,R. d_liftable2_sn C S R → d_liftable2_sn C S
 qed-.
 
 (* Basic_2A1: was: d_deliftable_sn_LTC *)
-lemma d2_deliftable_sn_LTC: ∀C,S,R. d_deliftable2_sn C S R → d_deliftable2_sn C S (LTC … R).
+lemma d2_deliftable_sn_CTC: ∀C,S,R. d_deliftable2_sn C S R → d_deliftable2_sn C S (CTC … R).
 #C #S #R #HR #L #U1 #U2 #H elim H -U2
 [ #U2 #HU12 #b #f #K #HLK #T1 #HTU1
   elim (HR … HU12 … HLK … HTU1) -HR -L -U1 /3 width=3 by inj, ex2_intro/
@@ -42,7 +42,7 @@ lemma d2_deliftable_sn_LTC: ∀C,S,R. d_deliftable2_sn C S R → d_deliftable2_s
 ]
 qed-.
 
-lemma co_dropable_sn_TC: ∀R. co_dropable_sn R → co_dropable_sn (LTC … R).
+lemma co_dropable_sn_TC: ∀R. co_dropable_sn R → co_dropable_sn (CTC … R).
 #R #HR #b #f #L1 #K1 #HLK1 #Hf #f2 #L2 #H elim H -L2
 [ #L2 #HL12 #f1 #H elim (HR … HLK1 … Hf … HL12 … H) -HR -Hf -f2 -L1
   /3 width=3 by inj, ex2_intro/
@@ -73,7 +73,7 @@ lemma d2_deliftable_sn_llstar: ∀C,S,R. d_deliftable2_sn C S R →
 ]
 qed-.
 
-lemma co_dropable_dx_TC: ∀R. co_dropable_dx R → co_dropable_dx (LTC … R).
+lemma co_dropable_dx_TC: ∀R. co_dropable_dx R → co_dropable_dx (CTC … R).
 #R #HR #f2 #L1 #L2 #H elim H -L2
 [ #L2 #HL12 #b #f #K2 #HLK2 #Hf #f1 #Hf2 elim (HR … HL12 … HLK2 … Hf … Hf2) -HR -Hf -f2 -L2
   /3 width=3 by inj, ex2_intro/
@@ -83,7 +83,7 @@ lemma co_dropable_dx_TC: ∀R. co_dropable_dx R → co_dropable_dx (LTC … R).
 ]
 qed-.
 
-lemma co_dedropable_sn_TC: ∀R. co_dedropable_sn R → co_dedropable_sn (LTC … R).
+lemma co_dedropable_sn_TC: ∀R. co_dedropable_sn R → co_dedropable_sn (CTC … R).
 #R #HR #b #f #L1 #K1 #HLK1 #f1 #K2 #H elim H -K2
 [ #K2 #HK12 #f2 #Hf elim (HR … HLK1 … HK12 … Hf) -HR -f1 -K1
   /3 width=4 by inj, ex3_intro/
index d2c1628060e39fb0f827bf9118828f8283e34b65..6a7560248f692ed7c04de6d7ed21ea61f4966c62 100644 (file)
@@ -19,8 +19,8 @@ include "basic_2/relocation/drops.ma".
 
 definition d_liftable1_all: predicate (relation2 lenv term) ≝
                             λR. ∀K,Ts. all … (R K) Ts →
-                            â\88\80b,f,L. â¬\87*[b, f] L â\89¡ K →
-                            â\88\80Us. â¬\86*[f] Ts â\89¡ Us → all … (R L) Us.
+                            â\88\80b,f,L. â¬\87*[b, f] L â\89\98 K →
+                            â\88\80Us. â¬\86*[f] Ts â\89\98 Us → all … (R L) Us.
 
 (* Properties with generic relocation for term vectors **********************)
 
index 59f2a9e3016362b43a08888146796ba7f50f4cb7..3b75c89f62bd7aef2dff7a58b58fd71639bdb428 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/relocation/drops.ma".
 (* Forward lemmas with weight for local environments ************************)
 
 (* Basic_2A1: includes: drop_fwd_lw *)
-lemma drops_fwd_lw: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89¡ L2 → ♯{L2} ≤ ♯{L1}.
+lemma drops_fwd_lw: â\88\80b,f,L1,L2. â¬\87*[b, f] L1 â\89\98 L2 → ♯{L2} ≤ ♯{L1}.
 #b #f #L1 #L2 #H elim H -f -L1 -L2 //
 [ /2 width=3 by transitive_le/
 | #f #I1 #I2 #L1 #L2 #_ #HI21 #IHL12 normalize
@@ -30,7 +30,7 @@ lemma drops_fwd_lw: ∀b,f,L1,L2. ⬇*[b, f] L1 ≡ L2 → ♯{L2} ≤ ♯{L1}.
 qed-.
 
 (* Basic_2A1: includes: drop_fwd_lw_lt *)
-lemma drops_fwd_lw_lt: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89¡ L2 →
+lemma drops_fwd_lw_lt: â\88\80f,L1,L2. â¬\87*[â\93\89, f] L1 â\89\98 L2 →
                        (𝐈⦃f⦄ → ⊥) → ♯{L2} < ♯{L1}.
 #f #L1 #L2 #H elim H -f -L1 -L2
 [ #f #Hf #Hnf elim Hnf -Hnf /2 width=1 by/
@@ -43,14 +43,14 @@ qed-.
 (* Forward lemmas with restricted weight for closures ***********************)
 
 (* Basic_2A1: includes: drop_fwd_rfw *)
-lemma drops_bind2_fwd_rfw: â\88\80b,f,I,L,K,V. â¬\87*[b, f] L â\89¡ K.ⓑ{I}V → ∀T. ♯{K, V} < ♯{L, T}.
+lemma drops_bind2_fwd_rfw: â\88\80b,f,I,L,K,V. â¬\87*[b, f] L â\89\98 K.ⓑ{I}V → ∀T. ♯{K, V} < ♯{L, T}.
 #b #f #I #L #K #V #HLK lapply (drops_fwd_lw … HLK) -HLK
 normalize in ⊢ (%→?→?%%); /3 width=3 by le_to_lt_to_lt, monotonic_lt_plus_r/
 qed-.
 
 (* Advanced inversion lemma *************************************************)
 
-lemma drops_inv_x_bind_xy: â\88\80b,f,I,L. â¬\87*[b, f] L â\89¡ L.ⓘ{I} → ⊥.
+lemma drops_inv_x_bind_xy: â\88\80b,f,I,L. â¬\87*[b, f] L â\89\98 L.ⓘ{I} → ⊥.
 #b #f #I #L #H lapply (drops_fwd_lw … H) -b -f
 /2 width=4 by lt_le_false/ (**) (* full auto is a bit slow: 19s *)
 qed-.
index d9112a12e4461c3981a6ef0c44419b739bb52234..9e48f4d361c825462cb63b51ffdcc70bf6c5876c 100644 (file)
@@ -23,8 +23,8 @@ alias symbol "subseteq" = "relation inclusion".
 (* Inversion lemmas with transitive closure *********************************)
 
 (* Basic_2A1: was: lpx_sn_LTC_TC_lpx_sn *)
-lemma lex_inv_ltc: ∀R. c_reflexive … R →
-                   lex (LTC … R) ⊆ TC … (lex R).
+lemma lex_inv_CTC: ∀R. c_reflexive … R →
+                   lex (CTC … R) ⊆ TC … (lex R).
 #R #HR #L1 #L2 *
 /5 width=11 by lexs_inv_tc_dx, lexs_co, ext2_inv_tc, ext2_refl, monotonic_TC, ex2_intro/
 qed-.
@@ -43,8 +43,8 @@ qed-.
 (* Properties with transitive closure ***************************************)
 
 (* Basic_2A1: was: TC_lpx_sn_inv_lpx_sn_LTC *)
-lemma lex_ltc: ∀R. s_rs_transitive … R (λ_. lex R) →
-               TC … (lex R) ⊆ lex (LTC … R).
+lemma lex_CTC: ∀R. s_rs_transitive … R (λ_. lex R) →
+               TC … (lex R) ⊆ lex (CTC … R).
 #R #HR #L1 #L2 #HL12
 lapply (monotonic_TC … (lexs cfull (cext2 R) 𝐈𝐝) … HL12) -HL12
 [ #L1 #L2 * /3 width=3 by lexs_eq_repl_fwd, eq_id_inv_isid/
@@ -52,12 +52,12 @@ lapply (monotonic_TC … (lexs cfull (cext2 R) 𝐈𝐝) … HL12) -HL12
 ]
 qed-.
 
-lemma lex_ltc_step_dx: ∀R. c_reflexive … R → s_rs_transitive … R (λ_. lex R) →
-                       ∀L1,L. lex (LTC … R) L1 L →
-                       ∀L2. lex R L L2 → lex (LTC … R) L1 L2.
-/4 width=3 by lex_ltc, lex_inv_ltc, step/ qed-.
+lemma lex_CTC_step_dx: ∀R. c_reflexive … R → s_rs_transitive … R (λ_. lex R) →
+                       ∀L1,L. lex (CTC … R) L1 L →
+                       ∀L2. lex R L L2 → lex (CTC … R) L1 L2.
+/4 width=3 by lex_CTC, lex_inv_CTC, step/ qed-.
 
-lemma lex_ltc_step_sn: ∀R. c_reflexive … R → s_rs_transitive … R (λ_. lex R) →
+lemma lex_CTC_step_sn: ∀R. c_reflexive … R → s_rs_transitive … R (λ_. lex R) →
                        ∀L1,L. lex R L1 L →
-                       ∀L2. lex (LTC … R) L L2 → lex (LTC … R) L1 L2.
-/4 width=3 by lex_ltc, lex_inv_ltc, TC_strap/ qed-.
+                       ∀L2. lex (CTC … R) L L2 → lex (CTC … R) L1 L2.
+/4 width=3 by lex_CTC, lex_inv_CTC, TC_strap/ qed-.
index d4c2272f92fc581f476fae851f602fb24b09f321..c1f10efbf8f4a4bd00e77bdc00d0f6c6e1ffb63d 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/relocation/drops.ma".
 
 theorem lexs_trans_gen (RN1) (RP1) (RN2) (RP2) (RN) (RP):
                        ∀L1,f.
-                       (â\88\80g,I,K,n. â¬\87*[n] L1 â\89¡ K.ⓘ{I} → ⫯g = ⫱*[n] f → lexs_transitive RN1 RN2 RN RN1 RP1 g K I) →
-                       (â\88\80g,I,K,n. â¬\87*[n] L1 â\89¡ K.ⓘ{I} → ↑g = ⫱*[n] f → lexs_transitive RP1 RP2 RP RN1 RP1 g K I) →
+                       (â\88\80g,I,K,n. â¬\87*[n] L1 â\89\98 K.ⓘ{I} → ⫯g = ⫱*[n] f → lexs_transitive RN1 RN2 RN RN1 RP1 g K I) →
+                       (â\88\80g,I,K,n. â¬\87*[n] L1 â\89\98 K.ⓘ{I} → ↑g = ⫱*[n] f → lexs_transitive RP1 RP2 RP RN1 RP1 g K I) →
                        ∀L0. L1 ⪤*[RN1, RP1, f] L0 →
                        ∀L2. L0 ⪤*[RN2, RP2, f] L2 →
                        L1 ⪤*[RN, RP, f] L2.
@@ -64,8 +64,8 @@ qed-.
 (* Basic_2A1: includes: lpx_sn_conf *)
 theorem lexs_conf (RN1) (RP1) (RN2) (RP2):
                   ∀L,f.
-                  (â\88\80g,I,K,n. â¬\87*[n] L â\89¡ K.ⓘ{I} → ⫯g = ⫱*[n] f → R_pw_confluent2_lexs RN1 RN2 RN1 RP1 RN2 RP2 g K I) →
-                  (â\88\80g,I,K,n. â¬\87*[n] L â\89¡ K.ⓘ{I} → ↑g = ⫱*[n] f → R_pw_confluent2_lexs RP1 RP2 RN1 RP1 RN2 RP2 g K I) →
+                  (â\88\80g,I,K,n. â¬\87*[n] L â\89\98 K.ⓘ{I} → ⫯g = ⫱*[n] f → R_pw_confluent2_lexs RN1 RN2 RN1 RP1 RN2 RP2 g K I) →
+                  (â\88\80g,I,K,n. â¬\87*[n] L â\89\98 K.ⓘ{I} → ↑g = ⫱*[n] f → R_pw_confluent2_lexs RP1 RP2 RN1 RP1 RN2 RP2 g K I) →
                   pw_confluent2 … (lexs RN1 RP1 f) (lexs RN2 RP2 f) L.
 #RN1 #RP1 #RN2 #RP2 #L elim L -L
 [ #f #_ #_ #L1 #H1 #L2 #H2 >(lexs_inv_atom1 … H1) >(lexs_inv_atom1 … H2) -H2 -H1
@@ -97,7 +97,7 @@ theorem lexs_canc_dx: ∀RN,RP,f. Transitive … (lexs RN RP f) →
 lemma lexs_meet: ∀RN,RP,L1,L2.
                  ∀f1. L1 ⪤*[RN, RP, f1] L2 →
                  ∀f2. L1 ⪤*[RN, RP, f2] L2 →
-                 â\88\80f. f1 â\8b\92 f2 â\89¡ f → L1 ⪤*[RN, RP, f] L2.
+                 â\88\80f. f1 â\8b\92 f2 â\89\98 f → L1 ⪤*[RN, RP, f] L2.
 #RN #RP #L1 #L2 #f1 #H elim H -f1 -L1 -L2 //
 #f1 #I1 #I2 #L1 #L2 #_ #HI12 #IH #f2 #H #f #Hf
 elim (pn_split f2) * #g2 #H2 destruct
@@ -110,7 +110,7 @@ qed-.
 lemma lexs_join: ∀RN,RP,L1,L2.
                  ∀f1. L1 ⪤*[RN, RP, f1] L2 →
                  ∀f2. L1 ⪤*[RN, RP, f2] L2 →
-                 â\88\80f. f1 â\8b\93 f2 â\89¡ f → L1 ⪤*[RN, RP, f] L2.
+                 â\88\80f. f1 â\8b\93 f2 â\89\98 f → L1 ⪤*[RN, RP, f] L2.
 #RN #RP #L1 #L2 #f1 #H elim H -f1 -L1 -L2 //
 #f1 #I1 #I2 #L1 #L2 #_ #HI12 #IH #f2 #H #f #Hf
 elim (pn_split f2) * #g2 #H2 destruct
index 70cfdbd7156e52ac88b9a31459a4e84b9d1e71ed..09536b034075f95ce2f8913d9b0de7bda7860ad9 100644 (file)
@@ -34,7 +34,7 @@ lemma lexs_tc_next_sn: ∀RN,RP. c_reflexive … RN →
 qed.
 
 lemma lexs_tc_next_dx: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                       ∀f,I1,I2,L1. (LTC … RN) L1 I1 I2 → ∀L2. L1 ⪤*[RN, RP, f] L2 →
+                       ∀f,I1,I2,L1. (CTC … RN) L1 I1 I2 → ∀L2. L1 ⪤*[RN, RP, f] L2 →
                        TC … (lexs RN RP (⫯f)) (L1.ⓘ{I1}) (L2.ⓘ{I2}).
 #RN #RP #HRN #HRP #f #I1 #I2 #L1 #H elim H -I2
 /4 width=5 by lexs_refl, lexs_next, step, inj/
@@ -48,18 +48,18 @@ lemma lexs_tc_push_sn: ∀RN,RP. c_reflexive … RP →
 qed.
 
 lemma lexs_tc_push_dx: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                       ∀f,I1,I2,L1. (LTC … RP) L1 I1 I2 → ∀L2. L1 ⪤*[RN, RP, f] L2 →
+                       ∀f,I1,I2,L1. (CTC … RP) L1 I1 I2 → ∀L2. L1 ⪤*[RN, RP, f] L2 →
                        TC … (lexs RN RP (↑f)) (L1.ⓘ{I1}) (L2.ⓘ{I2}).
 #RN #RP #HRN #HRP #f #I1 #I2 #L1 #H elim H -I2
 /4 width=5 by lexs_refl, lexs_push, step, inj/
 qed.
 
-lemma lexs_tc_inj_sn: ∀RN,RP,f,L1,L2. L1 ⪤*[RN, RP, f] L2 → L1 ⪤*[LTC … RN, RP, f] L2.
+lemma lexs_tc_inj_sn: ∀RN,RP,f,L1,L2. L1 ⪤*[RN, RP, f] L2 → L1 ⪤*[CTC … RN, RP, f] L2.
 #RN #RP #f #L1 #L2 #H elim H -f -L1 -L2
 /3 width=1 by lexs_push, lexs_next, inj/
 qed.
 
-lemma lexs_tc_inj_dx: ∀RN,RP,f,L1,L2. L1 ⪤*[RN, RP, f] L2 → L1 ⪤*[RN, LTC … RP, f] L2.
+lemma lexs_tc_inj_dx: ∀RN,RP,f,L1,L2. L1 ⪤*[RN, RP, f] L2 → L1 ⪤*[RN, CTC … RP, f] L2.
 #RN #RP #f #L1 #L2 #H elim H -f -L1 -L2
 /3 width=1 by lexs_push, lexs_next, inj/
 qed.
@@ -67,14 +67,14 @@ qed.
 (* Main properties with transitive closure **********************************)
 
 theorem lexs_tc_next: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                      ∀f,I1,I2,L1. (LTC … RN) L1 I1 I2 → ∀L2. TC … (lexs RN RP f) L1 L2 →
+                      ∀f,I1,I2,L1. (CTC … RN) L1 I1 I2 → ∀L2. TC … (lexs RN RP f) L1 L2 →
                       TC … (lexs RN RP (⫯f)) (L1.ⓘ{I1}) (L2.ⓘ{I2}).
 #RN #RP #HRN #HRP #f #I1 #I2 #L1 #H elim H -I2
 /4 width=5 by lexs_tc_next_sn, lexs_tc_refl, trans_TC/
 qed.
 
 theorem lexs_tc_push: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                      ∀f,I1,I2,L1. (LTC … RP) L1 I1 I2 → ∀L2. TC … (lexs RN RP f) L1 L2 →
+                      ∀f,I1,I2,L1. (CTC … RP) L1 I1 I2 → ∀L2. TC … (lexs RN RP f) L1 L2 →
                       TC … (lexs RN RP (↑f)) (L1.ⓘ{I1}) (L2.ⓘ{I2}).
 #RN #RP #HRN #HRP #f #I1 #I2 #L1 #H elim H -I2
 /4 width=5 by lexs_tc_push_sn, lexs_tc_refl, trans_TC/
@@ -83,7 +83,7 @@ qed.
 (* Basic_2A1: uses: TC_lpx_sn_ind *)
 theorem lexs_tc_step_dx: ∀RN,RP. s_rs_transitive_isid RN RP →
                          ∀f,L1,L. L1 ⪤*[RN, RP, f] L → 𝐈⦃f⦄ →
-                         ∀L2. L ⪤*[RN, LTC … RP, f] L2 → L1⪤* [RN, LTC … RP, f] L2.
+                         ∀L2. L ⪤*[RN, CTC … RP, f] L2 → L1⪤* [RN, CTC … RP, f] L2.
 #RN #RP #HRP #f #L1 #L #H elim H -f -L1 -L
 [ #f #_ #Y #H -HRP >(lexs_inv_atom1 … H) -Y // ]
 #f #I1 #I #L1 #L #HL1 #HI1 #IH #Hf #Y #H
@@ -99,7 +99,7 @@ qed-.
 (* Advanced properties ******************************************************)
 
 lemma lexs_tc_dx: ∀RN,RP. s_rs_transitive_isid RN RP →
-                  ∀f. 𝐈⦃f⦄ → ∀L1,L2. TC … (lexs RN RP f) L1 L2 → L1 ⪤*[RN, LTC … RP, f] L2.
+                  ∀f. 𝐈⦃f⦄ → ∀L1,L2. TC … (lexs RN RP f) L1 L2 → L1 ⪤*[RN, CTC … RP, f] L2.
 #RN #RP #HRP #f #Hf #L1 #L2 #H @(TC_ind_dx ??????? H) -L1
 /3 width=3 by lexs_tc_step_dx, lexs_tc_inj_dx/
 qed.
@@ -107,13 +107,13 @@ qed.
 (* Advanced inversion lemmas ************************************************)
 
 lemma lexs_inv_tc_sn: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                      ∀f,L1,L2. L1 ⪤*[LTC … RN, RP, f] L2 → TC … (lexs RN RP f) L1 L2.
+                      ∀f,L1,L2. L1 ⪤*[CTC … RN, RP, f] L2 → TC … (lexs RN RP f) L1 L2.
 #RN #RP #HRN #HRP #f #L1 #L2 #H elim H -f -L1 -L2
 /2 width=1 by lexs_tc_next, lexs_tc_push_sn, lexs_atom, inj/
 qed-.
 
 lemma lexs_inv_tc_dx: ∀RN,RP. c_reflexive … RN → c_reflexive … RP →
-                      ∀f,L1,L2. L1 ⪤*[RN, LTC … RP, f] L2 → TC … (lexs RN RP f) L1 L2.
+                      ∀f,L1,L2. L1 ⪤*[RN, CTC … RP, f] L2 → TC … (lexs RN RP f) L1 L2.
 #RN #RP #HRN #HRP #f #L1 #L2 #H elim H -f -L1 -L2
 /2 width=1 by lexs_tc_push, lexs_tc_next_sn, lexs_atom, inj/
 qed-.
index 31f416f12fcec83c6a36b10efd450b9cbf25580c..1b7c63c0bbda331669fe766a0618602be5a3545d 100644 (file)
@@ -25,7 +25,7 @@ include "basic_2/syntax/term.ma".
 *)
 inductive lifts: rtmap → relation term ≝
 | lifts_sort: ∀f,s. lifts f (⋆s) (⋆s)
-| lifts_lref: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → lifts f (#i1) (#i2)
+| lifts_lref: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → lifts f (#i1) (#i2)
 | lifts_gref: ∀f,l. lifts f (§l) (§l)
 | lifts_bind: ∀f,p,I,V1,V2,T1,T2.
               lifts f V1 V2 → lifts (↑f) T1 T2 →
@@ -42,24 +42,24 @@ interpretation "generic relocation (term)"
    'RLiftStar f T1 T2 = (lifts f T1 T2).
 
 definition liftable2_sn: predicate (relation term) ≝
-                         Î»R. â\88\80T1,T2. R T1 T2 â\86\92 â\88\80f,U1. â¬\86*[f] T1 â\89¡ U1 → 
-                         â\88\83â\88\83U2. â¬\86*[f] T2 â\89¡ U2 & R U1 U2.
+                         Î»R. â\88\80T1,T2. R T1 T2 â\86\92 â\88\80f,U1. â¬\86*[f] T1 â\89\98 U1 → 
+                         â\88\83â\88\83U2. â¬\86*[f] T2 â\89\98 U2 & R U1 U2.
 
 definition deliftable2_sn: predicate (relation term) ≝
-                           Î»R. â\88\80U1,U2. R U1 U2 â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89¡ U1 →
-                           â\88\83â\88\83T2. â¬\86*[f] T2 â\89¡ U2 & R T1 T2.
+                           Î»R. â\88\80U1,U2. R U1 U2 â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89\98 U1 →
+                           â\88\83â\88\83T2. â¬\86*[f] T2 â\89\98 U2 & R T1 T2.
 
 definition liftable2_bi: predicate (relation term) ≝
-                         Î»R. â\88\80T1,T2. R T1 T2 â\86\92 â\88\80f,U1. â¬\86*[f] T1 â\89¡ U1 → 
-                         â\88\80U2. â¬\86*[f] T2 â\89¡ U2 → R U1 U2.
+                         Î»R. â\88\80T1,T2. R T1 T2 â\86\92 â\88\80f,U1. â¬\86*[f] T1 â\89\98 U1 → 
+                         â\88\80U2. â¬\86*[f] T2 â\89\98 U2 → R U1 U2.
 
 definition deliftable2_bi: predicate (relation term) ≝
-                           Î»R. â\88\80U1,U2. R U1 U2 â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89¡ U1 →
-                           â\88\80T2. â¬\86*[f] T2 â\89¡ U2 → R T1 T2.
+                           Î»R. â\88\80U1,U2. R U1 U2 â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89\98 U1 →
+                           â\88\80T2. â¬\86*[f] T2 â\89\98 U2 → R T1 T2.
 
 (* Basic inversion lemmas ***************************************************)
 
-fact lifts_inv_sort1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀s. X = ⋆s → Y = ⋆s.
+fact lifts_inv_sort1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀s. X = ⋆s → Y = ⋆s.
 #f #X #Y * -f -X -Y //
 [ #f #i1 #i2 #_ #x #H destruct
 | #f #p #I #V1 #V2 #T1 #T2 #_ #_ #x #H destruct
@@ -69,11 +69,11 @@ qed-.
 
 (* Basic_1: was: lift1_sort *)
 (* Basic_2A1: includes: lift_inv_sort1 *)
-lemma lifts_inv_sort1: â\88\80f,Y,s. â¬\86*[f] â\8b\86s â\89¡ Y → Y = ⋆s.
+lemma lifts_inv_sort1: â\88\80f,Y,s. â¬\86*[f] â\8b\86s â\89\98 Y → Y = ⋆s.
 /2 width=4 by lifts_inv_sort1_aux/ qed-.
 
-fact lifts_inv_lref1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀i1. X = #i1 →
-                          â\88\83â\88\83i2. @â¦\83i1, fâ¦\84 â\89¡ i2 & Y = #i2.
+fact lifts_inv_lref1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀i1. X = #i1 →
+                          â\88\83â\88\83i2. @â¦\83i1, fâ¦\84 â\89\98 i2 & Y = #i2.
 #f #X #Y * -f -X -Y
 [ #f #s #x #H destruct
 | #f #i1 #i2 #Hi12 #x #H destruct /2 width=3 by ex2_intro/
@@ -85,11 +85,11 @@ qed-.
 
 (* Basic_1: was: lift1_lref *)
 (* Basic_2A1: includes: lift_inv_lref1 lift_inv_lref1_lt lift_inv_lref1_ge *)
-lemma lifts_inv_lref1: â\88\80f,Y,i1. â¬\86*[f] #i1 â\89¡ Y →
-                       â\88\83â\88\83i2. @â¦\83i1, fâ¦\84 â\89¡ i2 & Y = #i2.
+lemma lifts_inv_lref1: â\88\80f,Y,i1. â¬\86*[f] #i1 â\89\98 Y →
+                       â\88\83â\88\83i2. @â¦\83i1, fâ¦\84 â\89\98 i2 & Y = #i2.
 /2 width=3 by lifts_inv_lref1_aux/ qed-.
 
-fact lifts_inv_gref1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀l. X = §l → Y = §l.
+fact lifts_inv_gref1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀l. X = §l → Y = §l.
 #f #X #Y * -f -X -Y //
 [ #f #i1 #i2 #_ #x #H destruct
 | #f #p #I #V1 #V2 #T1 #T2 #_ #_ #x #H destruct
@@ -98,12 +98,12 @@ fact lifts_inv_gref1_aux: ∀f,X,Y. ⬆*[f] X ≡ Y → ∀l. X = §l → Y = §
 qed-.
 
 (* Basic_2A1: includes: lift_inv_gref1 *)
-lemma lifts_inv_gref1: â\88\80f,Y,l. â¬\86*[f] Â§l â\89¡ Y → Y = §l.
+lemma lifts_inv_gref1: â\88\80f,Y,l. â¬\86*[f] Â§l â\89\98 Y → Y = §l.
 /2 width=4 by lifts_inv_gref1_aux/ qed-.
 
-fact lifts_inv_bind1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y →
+fact lifts_inv_bind1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y →
                           ∀p,I,V1,T1. X = ⓑ{p,I}V1.T1 →
-                          â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[â\86\91f] T1 â\89¡ T2 &
+                          â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[â\86\91f] T1 â\89\98 T2 &
                                    Y = ⓑ{p,I}V2.T2.
 #f #X #Y * -f -X -Y
 [ #f #s #q #J #W1 #U1 #H destruct
@@ -116,14 +116,14 @@ qed-.
 
 (* Basic_1: was: lift1_bind *)
 (* Basic_2A1: includes: lift_inv_bind1 *)
-lemma lifts_inv_bind1: â\88\80f,p,I,V1,T1,Y. â¬\86*[f] â\93\91{p,I}V1.T1 â\89¡ Y →
-                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[â\86\91f] T1 â\89¡ T2 &
+lemma lifts_inv_bind1: â\88\80f,p,I,V1,T1,Y. â¬\86*[f] â\93\91{p,I}V1.T1 â\89\98 Y →
+                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[â\86\91f] T1 â\89\98 T2 &
                                 Y = ⓑ{p,I}V2.T2.
 /2 width=3 by lifts_inv_bind1_aux/ qed-.
 
-fact lifts_inv_flat1_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89¡ Y →
+fact lifts_inv_flat1_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89\98 Y →
                           ∀I,V1,T1. X = ⓕ{I}V1.T1 →
-                          â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[f] T1 â\89¡ T2 &
+                          â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[f] T1 â\89\98 T2 &
                                    Y = ⓕ{I}V2.T2.
 #f #X #Y * -f -X -Y
 [ #f #s #J #W1 #U1 #H destruct
@@ -136,12 +136,12 @@ qed-.
 
 (* Basic_1: was: lift1_flat *)
 (* Basic_2A1: includes: lift_inv_flat1 *)
-lemma lifts_inv_flat1: â\88\80f:rtmap. â\88\80I,V1,T1,Y. â¬\86*[f] â\93\95{I}V1.T1 â\89¡ Y →
-                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[f] T1 â\89¡ T2 &
+lemma lifts_inv_flat1: â\88\80f:rtmap. â\88\80I,V1,T1,Y. â¬\86*[f] â\93\95{I}V1.T1 â\89\98 Y →
+                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[f] T1 â\89\98 T2 &
                                 Y = ⓕ{I}V2.T2.
 /2 width=3 by lifts_inv_flat1_aux/ qed-.
 
-fact lifts_inv_sort2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀s. Y = ⋆s → X = ⋆s.
+fact lifts_inv_sort2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀s. Y = ⋆s → X = ⋆s.
 #f #X #Y * -f -X -Y //
 [ #f #i1 #i2 #_ #x #H destruct
 | #f #p #I #V1 #V2 #T1 #T2 #_ #_ #x #H destruct
@@ -151,11 +151,11 @@ qed-.
 
 (* Basic_1: includes: lift_gen_sort *)
 (* Basic_2A1: includes: lift_inv_sort2 *)
-lemma lifts_inv_sort2: â\88\80f,X,s. â¬\86*[f] X â\89¡ ⋆s → X = ⋆s.
+lemma lifts_inv_sort2: â\88\80f,X,s. â¬\86*[f] X â\89\98 ⋆s → X = ⋆s.
 /2 width=4 by lifts_inv_sort2_aux/ qed-.
 
-fact lifts_inv_lref2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀i2. Y = #i2 →
-                          â\88\83â\88\83i1. @â¦\83i1, fâ¦\84 â\89¡ i2 & X = #i1.
+fact lifts_inv_lref2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀i2. Y = #i2 →
+                          â\88\83â\88\83i1. @â¦\83i1, fâ¦\84 â\89\98 i2 & X = #i1.
 #f #X #Y * -f -X -Y
 [ #f #s #x #H destruct
 | #f #i1 #i2 #Hi12 #x #H destruct /2 width=3 by ex2_intro/
@@ -167,11 +167,11 @@ qed-.
 
 (* Basic_1: includes: lift_gen_lref lift_gen_lref_lt lift_gen_lref_false lift_gen_lref_ge *)
 (* Basic_2A1: includes: lift_inv_lref2 lift_inv_lref2_lt lift_inv_lref2_be lift_inv_lref2_ge lift_inv_lref2_plus *)
-lemma lifts_inv_lref2: â\88\80f,X,i2. â¬\86*[f] X â\89¡ #i2 →
-                       â\88\83â\88\83i1. @â¦\83i1, fâ¦\84 â\89¡ i2 & X = #i1.
+lemma lifts_inv_lref2: â\88\80f,X,i2. â¬\86*[f] X â\89\98 #i2 →
+                       â\88\83â\88\83i1. @â¦\83i1, fâ¦\84 â\89\98 i2 & X = #i1.
 /2 width=3 by lifts_inv_lref2_aux/ qed-.
 
-fact lifts_inv_gref2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → ∀l. Y = §l → X = §l.
+fact lifts_inv_gref2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → ∀l. Y = §l → X = §l.
 #f #X #Y * -f -X -Y //
 [ #f #i1 #i2 #_ #x #H destruct
 | #f #p #I #V1 #V2 #T1 #T2 #_ #_ #x #H destruct
@@ -180,12 +180,12 @@ fact lifts_inv_gref2_aux: ∀f,X,Y. ⬆*[f] X ≡ Y → ∀l. Y = §l → X = §
 qed-.
 
 (* Basic_2A1: includes: lift_inv_gref1 *)
-lemma lifts_inv_gref2: â\88\80f,X,l. â¬\86*[f] X â\89¡ §l → X = §l.
+lemma lifts_inv_gref2: â\88\80f,X,l. â¬\86*[f] X â\89\98 §l → X = §l.
 /2 width=4 by lifts_inv_gref2_aux/ qed-.
 
-fact lifts_inv_bind2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y →
+fact lifts_inv_bind2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y →
                           ∀p,I,V2,T2. Y = ⓑ{p,I}V2.T2 →
-                          â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[â\86\91f] T1 â\89¡ T2 &
+                          â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[â\86\91f] T1 â\89\98 T2 &
                                    X = ⓑ{p,I}V1.T1.
 #f #X #Y * -f -X -Y
 [ #f #s #q #J #W2 #U2 #H destruct
@@ -198,14 +198,14 @@ qed-.
 
 (* Basic_1: includes: lift_gen_bind *)
 (* Basic_2A1: includes: lift_inv_bind2 *)
-lemma lifts_inv_bind2: â\88\80f,p,I,V2,T2,X. â¬\86*[f] X â\89¡ ⓑ{p,I}V2.T2 →
-                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[â\86\91f] T1 â\89¡ T2 &
+lemma lifts_inv_bind2: â\88\80f,p,I,V2,T2,X. â¬\86*[f] X â\89\98 ⓑ{p,I}V2.T2 →
+                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[â\86\91f] T1 â\89\98 T2 &
                                 X = ⓑ{p,I}V1.T1.
 /2 width=3 by lifts_inv_bind2_aux/ qed-.
 
-fact lifts_inv_flat2_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89¡ Y →
+fact lifts_inv_flat2_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89\98 Y →
                           ∀I,V2,T2. Y = ⓕ{I}V2.T2 →
-                          â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[f] T1 â\89¡ T2 &
+                          â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[f] T1 â\89\98 T2 &
                                    X = ⓕ{I}V1.T1.
 #f #X #Y * -f -X -Y
 [ #f #s #J #W2 #U2 #H destruct
@@ -218,16 +218,16 @@ qed-.
 
 (* Basic_1: includes: lift_gen_flat *)
 (* Basic_2A1: includes: lift_inv_flat2 *)
-lemma lifts_inv_flat2: â\88\80f:rtmap. â\88\80I,V2,T2,X. â¬\86*[f] X â\89¡ ⓕ{I}V2.T2 →
-                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89¡ V2 & â¬\86*[f] T1 â\89¡ T2 &
+lemma lifts_inv_flat2: â\88\80f:rtmap. â\88\80I,V2,T2,X. â¬\86*[f] X â\89\98 ⓕ{I}V2.T2 →
+                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89\98 V2 & â¬\86*[f] T1 â\89\98 T2 &
                                 X = ⓕ{I}V1.T1.
 /2 width=3 by lifts_inv_flat2_aux/ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma lifts_inv_atom1: â\88\80f,I,Y. â¬\86*[f] â\93ª{I} â\89¡ Y →
+lemma lifts_inv_atom1: â\88\80f,I,Y. â¬\86*[f] â\93ª{I} â\89\98 Y →
                        ∨∨ ∃∃s. I = Sort s & Y = ⋆s
-                        | â\88\83â\88\83i,j. @â¦\83i, fâ¦\84 â\89¡ j & I = LRef i & Y = #j
+                        | â\88\83â\88\83i,j. @â¦\83i, fâ¦\84 â\89\98 j & I = LRef i & Y = #j
                         | ∃∃l. I = GRef l & Y = §l.
 #f * #n #Y #H
 [ lapply (lifts_inv_sort1 … H)
@@ -236,9 +236,9 @@ lemma lifts_inv_atom1: ∀f,I,Y. ⬆*[f] ⓪{I} ≡ Y →
 ] -H /3 width=5 by or3_intro0, or3_intro1, or3_intro2, ex3_2_intro, ex2_intro/
 qed-.
 
-lemma lifts_inv_atom2: â\88\80f,I,X. â¬\86*[f] X â\89¡ ⓪{I} →
+lemma lifts_inv_atom2: â\88\80f,I,X. â¬\86*[f] X â\89\98 ⓪{I} →
                        ∨∨ ∃∃s. X = ⋆s & I = Sort s
-                        | â\88\83â\88\83i,j. @â¦\83i, fâ¦\84 â\89¡ j & X = #i & I = LRef j
+                        | â\88\83â\88\83i,j. @â¦\83i, fâ¦\84 â\89\98 j & X = #i & I = LRef j
                         | ∃∃l. X = §l & I = GRef l.
 #f * #n #X #H
 [ lapply (lifts_inv_sort2 … H)
@@ -248,7 +248,7 @@ lemma lifts_inv_atom2: ∀f,I,X. ⬆*[f] X ≡ ⓪{I} →
 qed-.
 
 (* Basic_2A1: includes: lift_inv_pair_xy_x *)
-lemma lifts_inv_pair_xy_x: â\88\80f,I,V,T. â¬\86*[f] â\91¡{I}V.T â\89¡ V → ⊥.
+lemma lifts_inv_pair_xy_x: â\88\80f,I,V,T. â¬\86*[f] â\91¡{I}V.T â\89\98 V → ⊥.
 #f #J #V elim V -V
 [ * #i #U #H
   [ lapply (lifts_inv_sort2 … H) -H #H destruct
@@ -265,7 +265,7 @@ qed-.
 
 (* Basic_1: includes: thead_x_lift_y_y *)
 (* Basic_2A1: includes: lift_inv_pair_xy_y *)
-lemma lifts_inv_pair_xy_y: â\88\80I,T,V,f. â¬\86*[f] â\91¡{I}V.T â\89¡ T → ⊥.
+lemma lifts_inv_pair_xy_y: â\88\80I,T,V,f. â¬\86*[f] â\91¡{I}V.T â\89\98 T → ⊥.
 #J #T elim T -T
 [ * #i #W #f #H
   [ lapply (lifts_inv_sort2 … H) -H #H destruct
@@ -282,22 +282,22 @@ qed-.
 
 (* Inversion lemmas with uniform relocations ********************************)
 
-lemma lifts_inv_lref1_uni: â\88\80l,Y,i. â¬\86*[l] #i â\89¡ Y → Y = #(l+i).
+lemma lifts_inv_lref1_uni: â\88\80l,Y,i. â¬\86*[l] #i â\89\98 Y → Y = #(l+i).
 #l #Y #i1 #H elim (lifts_inv_lref1 … H) -H /4 width=4 by at_mono, eq_f/
 qed-.
 
-lemma lifts_inv_lref2_uni: â\88\80l,X,i2. â¬\86*[l] X â\89¡ #i2 →
+lemma lifts_inv_lref2_uni: â\88\80l,X,i2. â¬\86*[l] X â\89\98 #i2 →
                            ∃∃i1. X = #i1 & i2 = l + i1.
 #l #X #i2 #H elim (lifts_inv_lref2 … H) -H
 /3 width=3 by at_inv_uni, ex2_intro/
 qed-.
 
-lemma lifts_inv_lref2_uni_ge: â\88\80l,X,i. â¬\86*[l] X â\89¡ #(l + i) → X = #i.
+lemma lifts_inv_lref2_uni_ge: â\88\80l,X,i. â¬\86*[l] X â\89\98 #(l + i) → X = #i.
 #l #X #i2 #H elim (lifts_inv_lref2_uni … H) -H
 #i1 #H1 #H2 destruct /4 width=2 by injective_plus_r, eq_f, sym_eq/
 qed-.
 
-lemma lifts_inv_lref2_uni_lt: â\88\80l,X,i. â¬\86*[l] X â\89¡ #i → i < l → ⊥.
+lemma lifts_inv_lref2_uni_lt: â\88\80l,X,i. â¬\86*[l] X â\89\98 #i → i < l → ⊥.
 #l #X #i2 #H elim (lifts_inv_lref2_uni … H) -H
 #i1 #_ #H1 #H2 destruct /2 width=4 by lt_le_false/
 qed-.
@@ -305,14 +305,14 @@ qed-.
 (* Basic forward lemmas *****************************************************)
 
 (* Basic_2A1: includes: lift_inv_O2 *)
-lemma lifts_fwd_isid: â\88\80f,T1,T2. â¬\86*[f] T1 â\89¡ T2 → 𝐈⦃f⦄ → T1 = T2.
+lemma lifts_fwd_isid: â\88\80f,T1,T2. â¬\86*[f] T1 â\89\98 T2 → 𝐈⦃f⦄ → T1 = T2.
 #f #T1 #T2 #H elim H -f -T1 -T2
 /4 width=3 by isid_inv_at_mono, isid_push, eq_f2, eq_f/
 qed-.
 
 (* Basic_2A1: includes: lift_fwd_pair1 *)
-lemma lifts_fwd_pair1: â\88\80f:rtmap. â\88\80I,V1,T1,Y. â¬\86*[f] â\91¡{I}V1.T1 â\89¡ Y →
-                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89¡ V2 & Y = ②{I}V2.T2.
+lemma lifts_fwd_pair1: â\88\80f:rtmap. â\88\80I,V1,T1,Y. â¬\86*[f] â\91¡{I}V1.T1 â\89\98 Y →
+                       â\88\83â\88\83V2,T2. â¬\86*[f] V1 â\89\98 V2 & Y = ②{I}V2.T2.
 #f * [ #p ] #I #V1 #T1 #Y #H
 [ elim (lifts_inv_bind1 … H) -H /2 width=4 by ex2_2_intro/
 | elim (lifts_inv_flat1 … H) -H /2 width=4 by ex2_2_intro/
@@ -320,8 +320,8 @@ lemma lifts_fwd_pair1: ∀f:rtmap. ∀I,V1,T1,Y. ⬆*[f] ②{I}V1.T1 ≡ Y →
 qed-.
 
 (* Basic_2A1: includes: lift_fwd_pair2 *)
-lemma lifts_fwd_pair2: â\88\80f:rtmap. â\88\80I,V2,T2,X. â¬\86*[f] X â\89¡ ②{I}V2.T2 →
-                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89¡ V2 & X = ②{I}V1.T1.
+lemma lifts_fwd_pair2: â\88\80f:rtmap. â\88\80I,V2,T2,X. â¬\86*[f] X â\89\98 ②{I}V2.T2 →
+                       â\88\83â\88\83V1,T1. â¬\86*[f] V1 â\89\98 V2 & X = ②{I}V1.T1.
 #f * [ #p ] #I #V2 #T2 #X #H
 [ elim (lifts_inv_bind2 … H) -H /2 width=4 by ex2_2_intro/
 | elim (lifts_inv_flat2 … H) -H /2 width=4 by ex2_2_intro/
@@ -330,24 +330,24 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-lemma lifts_eq_repl_back: â\88\80T1,T2. eq_repl_back â\80¦ (λf. â¬\86*[f] T1 â\89¡ T2).
+lemma lifts_eq_repl_back: â\88\80T1,T2. eq_repl_back â\80¦ (λf. â¬\86*[f] T1 â\89\98 T2).
 #T1 #T2 #f1 #H elim H -T1 -T2 -f1
 /4 width=5 by lifts_flat, lifts_bind, lifts_lref, at_eq_repl_back, eq_push/
 qed-.
 
-lemma lifts_eq_repl_fwd: â\88\80T1,T2. eq_repl_fwd â\80¦ (λf. â¬\86*[f] T1 â\89¡ T2).
+lemma lifts_eq_repl_fwd: â\88\80T1,T2. eq_repl_fwd â\80¦ (λf. â¬\86*[f] T1 â\89\98 T2).
 #T1 #T2 @eq_repl_sym /2 width=3 by lifts_eq_repl_back/ (**) (* full auto fails *)
 qed-.
 
 (* Basic_1: includes: lift_r *)
 (* Basic_2A1: includes: lift_refl *)
-lemma lifts_refl: â\88\80T,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 â¬\86*[f] T â\89¡ T.
+lemma lifts_refl: â\88\80T,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 â¬\86*[f] T â\89\98 T.
 #T elim T -T *
 /4 width=3 by lifts_flat, lifts_bind, lifts_lref, isid_inv_at, isid_push/
 qed.
 
 (* Basic_2A1: includes: lift_total *)
-lemma lifts_total: â\88\80T1,f. â\88\83T2. â¬\86*[f] T1 â\89¡ T2.
+lemma lifts_total: â\88\80T1,f. â\88\83T2. â¬\86*[f] T1 â\89\98 T2.
 #T1 elim T1 -T1 *
 /3 width=2 by lifts_lref, lifts_sort, lifts_gref, ex_intro/
 [ #p ] #I #V1 #T1 #IHV1 #IHT1 #f
@@ -357,15 +357,15 @@ elim (IHV1 f) -IHV1 #V2 #HV12
 ]
 qed-.
 
-lemma lift_lref_uni: â\88\80l,i. â¬\86*[l] #i â\89¡ #(l+i).
+lemma lift_lref_uni: â\88\80l,i. â¬\86*[l] #i â\89\98 #(l+i).
 #l elim l -l /2 width=1 by lifts_lref/
 qed.
 
 (* Basic_1: includes: lift_free (right to left) *)
 (* Basic_2A1: includes: lift_split *)
-lemma lifts_split_trans: â\88\80f,T1,T2. â¬\86*[f] T1 â\89¡ T2 →
-                         â\88\80f1,f2. f2 â\8a\9a f1 â\89¡ f →
-                         â\88\83â\88\83T. â¬\86*[f1] T1 â\89¡ T & â¬\86*[f2] T â\89¡ T2.
+lemma lifts_split_trans: â\88\80f,T1,T2. â¬\86*[f] T1 â\89\98 T2 →
+                         â\88\80f1,f2. f2 â\8a\9a f1 â\89\98 f →
+                         â\88\83â\88\83T. â¬\86*[f1] T1 â\89\98 T & â¬\86*[f2] T â\89\98 T2.
 #f #T1 #T2 #H elim H -f -T1 -T2
 [ /3 width=3 by lifts_sort, ex2_intro/
 | #f #i1 #i2 #Hi #f1 #f2 #Ht elim (after_at_fwd … Hi … Ht) -Hi -Ht
@@ -381,9 +381,9 @@ lemma lifts_split_trans: ∀f,T1,T2. ⬆*[f] T1 ≡ T2 →
 qed-.
 
 (* Note: apparently, this was missing in Basic_2A1 *)
-lemma lifts_split_div: â\88\80f1,T1,T2. â¬\86*[f1] T1 â\89¡ T2 →
-                       â\88\80f2,f. f2 â\8a\9a f1 â\89¡ f →
-                       â\88\83â\88\83T. â¬\86*[f2] T2 â\89¡ T & â¬\86*[f] T1 â\89¡ T.
+lemma lifts_split_div: â\88\80f1,T1,T2. â¬\86*[f1] T1 â\89\98 T2 →
+                       â\88\80f2,f. f2 â\8a\9a f1 â\89\98 f →
+                       â\88\83â\88\83T. â¬\86*[f2] T2 â\89\98 T & â¬\86*[f] T1 â\89\98 T.
 #f1 #T1 #T2 #H elim H -f1 -T1 -T2
 [ /3 width=3 by lifts_sort, ex2_intro/
 | #f1 #i1 #i2 #Hi #f2 #f #Ht elim (after_at1_fwd … Hi … Ht) -Hi -Ht
@@ -400,7 +400,7 @@ qed-.
 
 (* Basic_1: includes: dnf_dec2 dnf_dec *)
 (* Basic_2A1: includes: is_lift_dec *)
-lemma is_lifts_dec: â\88\80T2,f. Decidable (â\88\83T1. â¬\86*[f] T1 â\89¡ T2).
+lemma is_lifts_dec: â\88\80T2,f. Decidable (â\88\83T1. â¬\86*[f] T1 â\89\98 T2).
 #T1 elim T1 -T1
 [ * [1,3: /3 width=2 by lifts_sort, lifts_gref, ex_intro, or_introl/ ]
   #i2 #f elim (is_at_dec f i2) //
@@ -434,7 +434,7 @@ qed-.
 
 (* Properties with uniform relocation ***************************************)
 
-lemma lifts_uni: â\88\80n1,n2,T,U. â¬\86*[ð\9d\90\94â\9d´n1â\9dµâ\88\98ð\9d\90\94â\9d´n2â\9dµ] T â\89¡ U â\86\92 â¬\86*[n1+n2] T â\89¡ U.
+lemma lifts_uni: â\88\80n1,n2,T,U. â¬\86*[ð\9d\90\94â\9d´n1â\9dµâ\88\98ð\9d\90\94â\9d´n2â\9dµ] T â\89\98 U â\86\92 â¬\86*[n1+n2] T â\89\98 U.
 /3 width=4 by lifts_eq_repl_back, after_inv_total/ qed.
 
 (* Basic_2A1: removed theorems 14:
index 59e17e274e3ae144271715964a4b2878338eb671..fd56f4e6975b0a5a823b5321adc9d9182042d7dc 100644 (file)
@@ -28,37 +28,37 @@ interpretation "generic relocation (binder for local environments)"
 
 (* Basic_inversion lemmas **************************************************)
 
-lemma liftsb_inv_unit_sn: â\88\80f,I,Z2. â¬\86*[f] BUnit I â\89¡ Z2 → Z2 = BUnit I.
+lemma liftsb_inv_unit_sn: â\88\80f,I,Z2. â¬\86*[f] BUnit I â\89\98 Z2 → Z2 = BUnit I.
 /2 width=2 by ext2_inv_unit_sn/ qed-.
 
-lemma liftsb_inv_pair_sn: â\88\80f:rtmap. â\88\80Z2,I,V1. â¬\86*[f] BPair I V1 â\89¡ Z2 →
-                          â\88\83â\88\83V2. â¬\86*[f] V1 â\89¡ V2 & Z2 = BPair I V2.
+lemma liftsb_inv_pair_sn: â\88\80f:rtmap. â\88\80Z2,I,V1. â¬\86*[f] BPair I V1 â\89\98 Z2 →
+                          â\88\83â\88\83V2. â¬\86*[f] V1 â\89\98 V2 & Z2 = BPair I V2.
 /2 width=1 by ext2_inv_pair_sn/ qed-.
 
-lemma liftsb_inv_unit_dx: â\88\80f,I,Z1. â¬\86*[f] Z1 â\89¡ BUnit I → Z1 = BUnit I.
+lemma liftsb_inv_unit_dx: â\88\80f,I,Z1. â¬\86*[f] Z1 â\89\98 BUnit I → Z1 = BUnit I.
 /2 width=2 by ext2_inv_unit_dx/ qed-.
 
-lemma liftsb_inv_pair_dx: â\88\80f:rtmap. â\88\80Z1,I,V2. â¬\86*[f] Z1 â\89¡ BPair I V2 →
-                          â\88\83â\88\83V1. â¬\86*[f] V1 â\89¡ V2 & Z1 = BPair I V1.
+lemma liftsb_inv_pair_dx: â\88\80f:rtmap. â\88\80Z1,I,V2. â¬\86*[f] Z1 â\89\98 BPair I V2 →
+                          â\88\83â\88\83V1. â¬\86*[f] V1 â\89\98 V2 & Z1 = BPair I V1.
 /2 width=1 by ext2_inv_pair_dx/ qed-.
 
 (* Basic properties *********************************************************)
 
-lemma liftsb_eq_repl_back: â\88\80I1,I2. eq_repl_back â\80¦ (λf. â¬\86*[f] I1 â\89¡ I2).
+lemma liftsb_eq_repl_back: â\88\80I1,I2. eq_repl_back â\80¦ (λf. â¬\86*[f] I1 â\89\98 I2).
 #I1 #I2 #f1 * -I1 -I2 /3 width=3 by lifts_eq_repl_back, ext2_pair/
 qed-.
 
 lemma liftsb_refl: ∀f. 𝐈⦃f⦄ → reflexive … (liftsb f).
 /3 width=1 by lifts_refl, ext2_refl/ qed.
 
-lemma liftsb_total: â\88\80I1,f. â\88\83I2. â¬\86*[f] I1 â\89¡ I2.
+lemma liftsb_total: â\88\80I1,f. â\88\83I2. â¬\86*[f] I1 â\89\98 I2.
 * [2: #I #T1 #f elim (lifts_total T1 f) ]
 /3 width=2 by ext2_unit, ext2_pair, ex_intro/
 qed-.
 
-lemma liftsb_split_trans: â\88\80f,I1,I2. â¬\86*[f] I1 â\89¡ I2 →
-                          â\88\80f1,f2. f2 â\8a\9a f1 â\89¡ f →
-                          â\88\83â\88\83I. â¬\86*[f1] I1 â\89¡ I & â¬\86*[f2] I â\89¡ I2.
+lemma liftsb_split_trans: â\88\80f,I1,I2. â¬\86*[f] I1 â\89\98 I2 →
+                          â\88\80f1,f2. f2 â\8a\9a f1 â\89\98 f →
+                          â\88\83â\88\83I. â¬\86*[f1] I1 â\89\98 I & â¬\86*[f2] I â\89\98 I2.
 #f #I1 #I2 * -I1 -I2 /2 width=3 by ext2_unit, ex2_intro/
 #I #V1 #V2 #HV12 #f1 #f2 #Hf elim (lifts_split_trans … HV12 … Hf) -f
 /3 width=3 by ext2_pair, ex2_intro/
@@ -66,6 +66,6 @@ qed-.
 
 (* Basic forward lemmas *****************************************************)
 
-lemma liftsb_fwd_isid: â\88\80f,I1,I2. â¬\86*[f] I1 â\89¡ I2 → 𝐈⦃f⦄ → I1 = I2.
+lemma liftsb_fwd_isid: â\88\80f,I1,I2. â¬\86*[f] I1 â\89\98 I2 → 𝐈⦃f⦄ → I1 = I2.
 #f #I1 #I2 * -I1 -I2 /3 width=3 by lifts_fwd_isid, eq_f2/
 qed-.
index 3822e2dd0ab1146121c1125fc8c691e716ac54f5..63546ec63c7a402a0117c3467c38d730903199e4 100644 (file)
@@ -20,9 +20,9 @@ include "basic_2/relocation/lifts.ma".
 
 (* Basic_1: includes: lift_gen_lift *)
 (* Basic_2A1: includes: lift_div_le lift_div_be *)
-theorem lifts_div4: â\88\80f2,Tf,T. â¬\86*[f2] Tf â\89¡ T â\86\92 â\88\80g2,Tg. â¬\86*[g2] Tg â\89¡ T →
+theorem lifts_div4: â\88\80f2,Tf,T. â¬\86*[f2] Tf â\89\98 T â\86\92 â\88\80g2,Tg. â¬\86*[g2] Tg â\89\98 T →
                     ∀f1,g1. H_at_div f2 g2 f1 g1 →
-                    â\88\83â\88\83T0. â¬\86*[f1] T0 â\89¡ Tf & â¬\86*[g1] T0 â\89¡ Tg.
+                    â\88\83â\88\83T0. â¬\86*[f1] T0 â\89\98 Tf & â¬\86*[g1] T0 â\89\98 Tg.
 #f2 #Tf #T #H elim H -f2 -Tf -T
 [ #f2 #s #g2 #Tg #H #f1 #g1 #_
   lapply (lifts_inv_sort2 … H) -H #H destruct
@@ -46,13 +46,13 @@ theorem lifts_div4: ∀f2,Tf,T. ⬆*[f2] Tf ≡ T → ∀g2,Tg. ⬆*[g2] Tg ≡
 ]
 qed-.
 
-lemma lifts_div4_one: â\88\80f,Tf,T. â¬\86*[â\86\91f] Tf â\89¡ T →
-                      â\88\80T1. â¬\86*[1] T1 â\89¡ T →
-                      â\88\83â\88\83T0. â¬\86*[1] T0 â\89¡ Tf & â¬\86*[f] T0 â\89¡ T1.
+lemma lifts_div4_one: â\88\80f,Tf,T. â¬\86*[â\86\91f] Tf â\89\98 T →
+                      â\88\80T1. â¬\86*[1] T1 â\89\98 T →
+                      â\88\83â\88\83T0. â¬\86*[1] T0 â\89\98 Tf & â¬\86*[f] T0 â\89\98 T1.
 /4 width=6 by lifts_div4, at_div_id_dx, at_div_pn/ qed-.
 
-theorem lifts_div3: â\88\80f2,T,T2. â¬\86*[f2] T2 â\89¡ T â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89¡ T →
-                    â\88\80f1. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f1] T1 â\89¡ T2.
+theorem lifts_div3: â\88\80f2,T,T2. â¬\86*[f2] T2 â\89\98 T â\86\92 â\88\80f,T1. â¬\86*[f] T1 â\89\98 T →
+                    â\88\80f1. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f1] T1 â\89\98 T2.
 #f2 #T #T2 #H elim H -f2 -T -T2
 [ #f2 #s #f #T1 #H >(lifts_inv_sort2 … H) -T1 //
 | #f2 #i2 #i #Hi2 #f #T1 #H #f1 #Ht21 elim (lifts_inv_lref2 … H) -H
@@ -70,8 +70,8 @@ qed-.
 (* Basic_1: was: lift1_lift1 (left to right) *)
 (* Basic_1: includes: lift_free (left to right) lift_d lift1_xhg (right to left) lift1_free (right to left) *)
 (* Basic_2A1: includes: lift_trans_be lift_trans_le lift_trans_ge lifts_lift_trans_le lifts_lift_trans *)
-theorem lifts_trans: â\88\80f1,T1,T. â¬\86*[f1] T1 â\89¡ T â\86\92 â\88\80f2,T2. â¬\86*[f2] T â\89¡ T2 →
-                     â\88\80f. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f] T1 â\89¡ T2.
+theorem lifts_trans: â\88\80f1,T1,T. â¬\86*[f1] T1 â\89\98 T â\86\92 â\88\80f2,T2. â¬\86*[f2] T â\89\98 T2 →
+                     â\88\80f. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f] T1 â\89\98 T2.
 #f1 #T1 #T #H elim H -f1 -T1 -T
 [ #f1 #s #f2 #T2 #H >(lifts_inv_sort1 … H) -T2 //
 | #f1 #i1 #i #Hi1 #f2 #T2 #H #f #Ht21 elim (lifts_inv_lref1 … H) -H
@@ -87,8 +87,8 @@ theorem lifts_trans: ∀f1,T1,T. ⬆*[f1] T1 ≡ T → ∀f2,T2. ⬆*[f2] T ≡
 qed-.
 
 (* Basic_2A1: includes: lift_conf_O1 lift_conf_be *)
-theorem lifts_conf: â\88\80f1,T,T1. â¬\86*[f1] T â\89¡ T1 â\86\92 â\88\80f,T2. â¬\86*[f] T â\89¡ T2 →
-                    â\88\80f2. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f2] T1 â\89¡ T2.
+theorem lifts_conf: â\88\80f1,T,T1. â¬\86*[f1] T â\89\98 T1 â\86\92 â\88\80f,T2. â¬\86*[f] T â\89\98 T2 →
+                    â\88\80f2. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f2] T1 â\89\98 T2.
 #f1 #T #T1 #H elim H -f1 -T -T1
 [ #f1 #s #f #T2 #H >(lifts_inv_sort1 … H) -T2 //
 | #f1 #i #i1 #Hi1 #f #T2 #H #f2 #Ht21 elim (lifts_inv_lref1 … H) -H
index 7054d1ff4ecfa5a7590b0c4f189fc92b786014f2..e1647b35b60c9970af15ff7a71134b785599f00e 100644 (file)
@@ -19,22 +19,22 @@ include "basic_2/relocation/lifts_bind.ma".
 
 (* Main properties **********************************************************)
 
-theorem liftsb_div3: â\88\80f2,I,I2. â¬\86*[f2] I2 â\89¡ I â\86\92 â\88\80f,I1. â¬\86*[f] I1 â\89¡ I →
-                     â\88\80f1. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f1] I1 â\89¡ I2.
+theorem liftsb_div3: â\88\80f2,I,I2. â¬\86*[f2] I2 â\89\98 I â\86\92 â\88\80f,I1. â¬\86*[f] I1 â\89\98 I →
+                     â\88\80f1. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f1] I1 â\89\98 I2.
 #f2 #I #I2 * -I -I2 #I [2: #V #V2 #HV2 ] #f #I1 #H
 [ elim (liftsb_inv_pair_dx … H) | lapply (liftsb_inv_unit_dx … H) ] -H
 /3 width=6 by lifts_div3, ext2_pair, ext2_unit/
 qed-.
 
-theorem liftsb_trans: â\88\80f1,I1,I. â¬\86*[f1] I1 â\89¡ I â\86\92 â\88\80f2,I2. â¬\86*[f2] I â\89¡ I2 →
-                      â\88\80f. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f] I1 â\89¡ I2.
+theorem liftsb_trans: â\88\80f1,I1,I. â¬\86*[f1] I1 â\89\98 I â\86\92 â\88\80f2,I2. â¬\86*[f2] I â\89\98 I2 →
+                      â\88\80f. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f] I1 â\89\98 I2.
 #f1 #I1 #I * -I1 -I #I1 [2: #V1 #V #HV1 ] #f2 #I2 #H
 [ elim (liftsb_inv_pair_sn … H) | lapply (liftsb_inv_unit_sn … H) ] -H
 /3 width=6 by lifts_trans, ext2_pair, ext2_unit/
 qed-.
 
-theorem liftsb_conf: â\88\80f1,I,I1. â¬\86*[f1] I â\89¡ I1 â\86\92 â\88\80f,I2. â¬\86*[f] I â\89¡ I2 →
-                     â\88\80f2. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f2] I1 â\89¡ I2.
+theorem liftsb_conf: â\88\80f1,I,I1. â¬\86*[f1] I â\89\98 I1 â\86\92 â\88\80f,I2. â¬\86*[f] I â\89\98 I2 →
+                     â\88\80f2. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f2] I1 â\89\98 I2.
 #f1 #I #I1 * -I -I1 #I [2: #V #V1 #HV1 ] #f2 #I2 #H
 [ elim (liftsb_inv_pair_sn … H) | lapply (liftsb_inv_unit_sn … H) ] -H
 /3 width=6 by lifts_conf, ext2_pair, ext2_unit/
index 6093315abe83662f3d7bde7b7bdd7c77c73bc2c3..26a4fbede90f17f51593738d9dffeff67f250d68 100644 (file)
@@ -20,8 +20,8 @@ include "basic_2/relocation/lifts_vector.ma".
 (* Main properties **********************************************************)
 
 (* Basic_1: includes: lifts_inj *)
-theorem liftsv_inj: â\88\80f,T1s,Us. â¬\86*[f] T1s â\89¡ Us →
-                    â\88\80T2s. â¬\86*[f] T2s â\89¡ Us → T1s = T2s.
+theorem liftsv_inj: â\88\80f,T1s,Us. â¬\86*[f] T1s â\89\98 Us →
+                    â\88\80T2s. â¬\86*[f] T2s â\89\98 Us → T1s = T2s.
 #f #T1s #Us #H elim H -T1s -Us
 [ #T2s #H >(liftsv_inv_nil2 … H) -H //
 | #T1s #Us #T1 #U #HT1U #_ #IHT1Us #X #H destruct
@@ -31,8 +31,8 @@ theorem liftsv_inj: ∀f,T1s,Us. ⬆*[f] T1s ≡ Us →
 qed-.
 
 (* Basic_2A1: includes: liftv_mono *)
-theorem liftsv_mono: â\88\80f,Ts,U1s. â¬\86*[f] Ts â\89¡ U1s →
-                     â\88\80U2s. â¬\86*[f] Ts â\89¡ U2s → U1s = U2s.
+theorem liftsv_mono: â\88\80f,Ts,U1s. â¬\86*[f] Ts â\89\98 U1s →
+                     â\88\80U2s. â¬\86*[f] Ts â\89\98 U2s → U1s = U2s.
 #f #Ts #U1s #H elim H -Ts -U1s
 [ #U2s #H >(liftsv_inv_nil1 … H) -H //
 | #Ts #U1s #T #U1 #HTU1 #_ #IHTU1s #X #H destruct
@@ -43,8 +43,8 @@ qed-.
 
 (* Basic_1: includes: lifts1_xhg (right to left) *)
 (* Basic_2A1: includes: liftsv_liftv_trans_le *)
-theorem liftsv_trans: â\88\80f1,T1s,Ts. â¬\86*[f1] T1s â\89¡ Ts â\86\92 â\88\80T2s,f2. â¬\86*[f2] Ts â\89¡ T2s →
-                      â\88\80f. f2 â\8a\9a f1 â\89¡ f â\86\92 â¬\86*[f] T1s â\89¡ T2s.
+theorem liftsv_trans: â\88\80f1,T1s,Ts. â¬\86*[f1] T1s â\89\98 Ts â\86\92 â\88\80T2s,f2. â¬\86*[f2] Ts â\89\98 T2s →
+                      â\88\80f. f2 â\8a\9a f1 â\89\98 f â\86\92 â¬\86*[f] T1s â\89\98 T2s.
 #f1 #T1s #Ts #H elim H -T1s -Ts
 [ #T2s #f2 #H >(liftsv_inv_nil1 … H) -T2s /2 width=3 by liftsv_nil/
 | #T1s #Ts #T1 #T #HT1 #_ #IHT1s #X #f2 #H elim (liftsv_inv_cons1 … H) -H
index 9afa0c02fd605f06fcb5df89bfe5228055990a71..7d436c7b73833fa15caa99446e4136fdb08c1f19 100644 (file)
@@ -20,13 +20,13 @@ include "basic_2/relocation/lifts.ma".
 (* Forward lemmas with simple terms *****************************************)
 
 (* Basic_2A1: includes: lift_simple_dx *)
-lemma lifts_simple_dx: â\88\80f,T1,T2. â¬\86*[f] T1 â\89¡ T2 → 𝐒⦃T1⦄ → 𝐒⦃T2⦄.
+lemma lifts_simple_dx: â\88\80f,T1,T2. â¬\86*[f] T1 â\89\98 T2 → 𝐒⦃T1⦄ → 𝐒⦃T2⦄.
 #f #T1 #T2 #H elim H -f -T1 -T2 //
 #f #p #I #V1 #V2 #T1 #T2 #_ #_ #_ #_ #H elim (simple_inv_bind … H)
 qed-.
 
 (* Basic_2A1: includes: lift_simple_sn *)
-lemma lifts_simple_sn: â\88\80f,T1,T2. â¬\86*[f] T1 â\89¡ T2 → 𝐒⦃T2⦄ → 𝐒⦃T1⦄.
+lemma lifts_simple_sn: â\88\80f,T1,T2. â¬\86*[f] T1 â\89\98 T2 → 𝐒⦃T2⦄ → 𝐒⦃T1⦄.
 #f #T1 #T2 #H elim H -f -T1 -T2 //
 #f #p #I #V1 #V2 #T1 #T2 #_ #_ #_ #_ #H elim (simple_inv_bind … H)
 qed-.
index 62af6ac90ca762e0090018eb5e3dddb8f2f0678d..68cab8482339ee3b47ead205e7326f9dd7b5f5b9 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/relocation/lifts.ma".
 inductive liftsv (f:rtmap): relation (list term) ≝
 | liftsv_nil : liftsv f (◊) (◊)
 | liftsv_cons: ∀T1s,T2s,T1,T2.
-               â¬\86*[f] T1 â\89¡ T2 → liftsv f T1s T2s →
+               â¬\86*[f] T1 â\89\98 T2 → liftsv f T1s T2s →
                liftsv f (T1 @ T1s) (T2 @ T2s)
 .
 
@@ -33,18 +33,18 @@ interpretation "generic relocation (term vector)"
 
 (* Basic inversion lemmas ***************************************************)
 
-fact liftsv_inv_nil1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → X = ◊ → Y = ◊.
+fact liftsv_inv_nil1_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → X = ◊ → Y = ◊.
 #f #X #Y * -X -Y //
 #T1s #T2s #T1 #T2 #_ #_ #H destruct
 qed-.
 
 (* Basic_2A1: includes: liftv_inv_nil1 *)
-lemma liftsv_inv_nil1: â\88\80f,Y. â¬\86*[f] â\97\8a â\89¡ Y → Y = ◊.
+lemma liftsv_inv_nil1: â\88\80f,Y. â¬\86*[f] â\97\8a â\89\98 Y → Y = ◊.
 /2 width=5 by liftsv_inv_nil1_aux/ qed-.
 
-fact liftsv_inv_cons1_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89¡ Y →
+fact liftsv_inv_cons1_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89\98 Y →
                            ∀T1,T1s. X = T1 @ T1s →
-                           â\88\83â\88\83T2,T2s. â¬\86*[f] T1 â\89¡ T2 & â¬\86*[f] T1s â\89¡ T2s &
+                           â\88\83â\88\83T2,T2s. â¬\86*[f] T1 â\89\98 T2 & â¬\86*[f] T1s â\89\98 T2s &
                                      Y = T2 @ T2s.
 #f #X #Y * -X -Y
 [ #U1 #U1s #H destruct
@@ -53,22 +53,22 @@ fact liftsv_inv_cons1_aux: ∀f:rtmap. ∀X,Y. ⬆*[f] X ≡ Y →
 qed-.
 
 (* Basic_2A1: includes: liftv_inv_cons1 *)
-lemma liftsv_inv_cons1: â\88\80f:rtmap. â\88\80T1,T1s,Y. â¬\86*[f] T1 @ T1s â\89¡ Y →
-                        â\88\83â\88\83T2,T2s. â¬\86*[f] T1 â\89¡ T2 & â¬\86*[f] T1s â\89¡ T2s &
+lemma liftsv_inv_cons1: â\88\80f:rtmap. â\88\80T1,T1s,Y. â¬\86*[f] T1 @ T1s â\89\98 Y →
+                        â\88\83â\88\83T2,T2s. â¬\86*[f] T1 â\89\98 T2 & â¬\86*[f] T1s â\89\98 T2s &
                                   Y = T2 @ T2s.
 /2 width=3 by liftsv_inv_cons1_aux/ qed-.
 
-fact liftsv_inv_nil2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89¡ Y → Y = ◊ → X = ◊.
+fact liftsv_inv_nil2_aux: â\88\80f,X,Y. â¬\86*[f] X â\89\98 Y → Y = ◊ → X = ◊.
 #f #X #Y * -X -Y //
 #T1s #T2s #T1 #T2 #_ #_ #H destruct
 qed-.
 
-lemma liftsv_inv_nil2: â\88\80f,X. â¬\86*[f] X â\89¡ ◊ → X = ◊.
+lemma liftsv_inv_nil2: â\88\80f,X. â¬\86*[f] X â\89\98 ◊ → X = ◊.
 /2 width=5 by liftsv_inv_nil2_aux/ qed-.
 
-fact liftsv_inv_cons2_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89¡ Y →
+fact liftsv_inv_cons2_aux: â\88\80f:rtmap. â\88\80X,Y. â¬\86*[f] X â\89\98 Y →
                            ∀T2,T2s. Y = T2 @ T2s →
-                           â\88\83â\88\83T1,T1s. â¬\86*[f] T1 â\89¡ T2 & â¬\86*[f] T1s â\89¡ T2s &
+                           â\88\83â\88\83T1,T1s. â¬\86*[f] T1 â\89\98 T2 & â¬\86*[f] T1s â\89\98 T2s &
                                      X = T1 @ T1s.
 #f #X #Y * -X -Y
 [ #U2 #U2s #H destruct
@@ -76,14 +76,14 @@ fact liftsv_inv_cons2_aux: ∀f:rtmap. ∀X,Y. ⬆*[f] X ≡ Y →
 ]
 qed-.
 
-lemma liftsv_inv_cons2: â\88\80f:rtmap. â\88\80X,T2,T2s. â¬\86*[f] X â\89¡ T2 @ T2s →
-                        â\88\83â\88\83T1,T1s. â¬\86*[f] T1 â\89¡ T2 & â¬\86*[f] T1s â\89¡ T2s &
+lemma liftsv_inv_cons2: â\88\80f:rtmap. â\88\80X,T2,T2s. â¬\86*[f] X â\89\98 T2 @ T2s →
+                        â\88\83â\88\83T1,T1s. â¬\86*[f] T1 â\89\98 T2 & â¬\86*[f] T1s â\89\98 T2s &
                                   X = T1 @ T1s.
 /2 width=3 by liftsv_inv_cons2_aux/ qed-.
 
 (* Basic_1: was: lifts1_flat (left to right) *)
-lemma lifts_inv_applv1: â\88\80f:rtmap. â\88\80V1s,U1,T2. â¬\86*[f] â\92¶ V1s.U1 â\89¡ T2 →
-                        â\88\83â\88\83V2s,U2. â¬\86*[f] V1s â\89¡ V2s & â¬\86*[f] U1 â\89¡ U2 &
+lemma lifts_inv_applv1: â\88\80f:rtmap. â\88\80V1s,U1,T2. â¬\86*[f] â\92¶ V1s.U1 â\89\98 T2 →
+                        â\88\83â\88\83V2s,U2. â¬\86*[f] V1s â\89\98 V2s & â¬\86*[f] U1 â\89\98 U2 &
                                   T2 = Ⓐ V2s.U2.
 #f #V1s elim V1s -V1s
 [ /3 width=5 by ex3_2_intro, liftsv_nil/
@@ -93,8 +93,8 @@ lemma lifts_inv_applv1: ∀f:rtmap. ∀V1s,U1,T2. ⬆*[f] Ⓐ V1s.U1 ≡ T2 →
 ]
 qed-.
 
-lemma lifts_inv_applv2: â\88\80f:rtmap. â\88\80V2s,U2,T1. â¬\86*[f] T1 â\89¡ Ⓐ V2s.U2 →
-                        â\88\83â\88\83V1s,U1. â¬\86*[f] V1s â\89¡ V2s & â¬\86*[f] U1 â\89¡ U2 &
+lemma lifts_inv_applv2: â\88\80f:rtmap. â\88\80V2s,U2,T1. â¬\86*[f] T1 â\89\98 Ⓐ V2s.U2 →
+                        â\88\83â\88\83V1s,U1. â¬\86*[f] V1s â\89\98 V2s & â¬\86*[f] U1 â\89\98 U2 &
                                   T1 = Ⓐ V1s.U1.
 #f #V2s elim V2s -V2s
 [ /3 width=5 by ex3_2_intro, liftsv_nil/
@@ -107,7 +107,7 @@ qed-.
 (* Basic properties *********************************************************)
 
 (* Basic_2A1: includes: liftv_total *)
-lemma liftsv_total: â\88\80f. â\88\80T1s:list term. â\88\83T2s. â¬\86*[f] T1s â\89¡ T2s.
+lemma liftsv_total: â\88\80f. â\88\80T1s:list term. â\88\83T2s. â¬\86*[f] T1s â\89\98 T2s.
 #f #T1s elim T1s -T1s
 [ /2 width=2 by liftsv_nil, ex_intro/
 | #T1 #T1s * #T2s #HT12s
@@ -116,15 +116,15 @@ lemma liftsv_total: ∀f. ∀T1s:list term. ∃T2s. ⬆*[f] T1s ≡ T2s.
 qed-.
 
 (* Basic_1: was: lifts1_flat (right to left) *)
-lemma lifts_applv: â\88\80f:rtmap. â\88\80V1s,V2s. â¬\86*[f] V1s â\89¡ V2s →
-                   â\88\80T1,T2. â¬\86*[f] T1 â\89¡ T2 →
-                   â¬\86*[f] â\92¶ V1s.T1 â\89¡ Ⓐ V2s.T2.
+lemma lifts_applv: â\88\80f:rtmap. â\88\80V1s,V2s. â¬\86*[f] V1s â\89\98 V2s →
+                   â\88\80T1,T2. â¬\86*[f] T1 â\89\98 T2 →
+                   â¬\86*[f] â\92¶ V1s.T1 â\89\98 Ⓐ V2s.T2.
 #f #V1s #V2s #H elim H -V1s -V2s /3 width=1 by lifts_flat/
 qed.
 
-lemma liftsv_split_trans: â\88\80f,T1s,T2s. â¬\86*[f] T1s â\89¡ T2s →
-                          â\88\80f1,f2. f2 â\8a\9a f1 â\89¡ f →
-                          â\88\83â\88\83Ts. â¬\86*[f1] T1s â\89¡ Ts & â¬\86*[f2] Ts â\89¡ T2s.
+lemma liftsv_split_trans: â\88\80f,T1s,T2s. â¬\86*[f] T1s â\89\98 T2s →
+                          â\88\80f1,f2. f2 â\8a\9a f1 â\89\98 f →
+                          â\88\83â\88\83Ts. â¬\86*[f1] T1s â\89\98 Ts & â¬\86*[f2] Ts â\89\98 T2s.
 #f #T1s #T2s #H elim H -T1s -T2s
 [ /2 width=3 by liftsv_nil, ex2_intro/
 | #T1s #T2s #T1 #T2 #HT12 #_ #IH #f1 #f2 #Hf
index c6ad5b974b2e94113fdb4c1b15128aa858f5bc4a..3504082babdb051ade23e800a094aa05f805c967 100644 (file)
@@ -20,6 +20,6 @@ include "basic_2/relocation/lifts.ma".
 (* Forward lemmas with weight for terms *************************************)
 
 (* Basic_2A1: includes: lift_fwd_tw *)
-lemma lifts_fwd_tw: â\88\80f,T1,T2. â¬\86*[f] T1 â\89¡ T2 → ♯{T1} = ♯{T2}.
+lemma lifts_fwd_tw: â\88\80f,T1,T2. â¬\86*[f] T1 â\89\98 T2 → ♯{T1} = ♯{T2}.
 #f #T1 #T2 #H elim H -f -T1 -T2 normalize //
 qed-.
index 152ecbba1223effb60e5d6f2515cd790bb8d124c..f151431172826d6aa62323d65235179ade7d81cb 100644 (file)
@@ -20,6 +20,6 @@ include "basic_2/relocation/lifts_bind.ma".
 
 (* Forward lemmas with weight for binders ***********************************)
 
-lemma liftsb_fwd_bw: â\88\80f,I1,I2. â¬\86*[f] I1 â\89¡ I2 → ♯{I1} = ♯{I2}.
+lemma liftsb_fwd_bw: â\88\80f,I1,I2. â¬\86*[f] I1 â\89\98 I2 → ♯{I1} = ♯{I2}.
 #f #I1 #I2 * -I1 -I2 /2 width=2 by lifts_fwd_tw/
 qed-.
index 1ec062b82f3d048edea7b52cddde230137ae75fb..14bc0576d6b68a3e802a1def580cabbb0d7f65b2 100644 (file)
@@ -12,7 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "basic_2/notation/relations/doteqsn_3.ma".
+include "basic_2/notation/relations/ideqsn_3.ma".
 include "basic_2/syntax/ceq_ext.ma".
 include "basic_2/relocation/lexs.ma".
 
@@ -23,18 +23,18 @@ definition lreq: relation3 rtmap lenv lenv ≝ lexs ceq_ext cfull.
 
 interpretation
   "ranged equivalence (local environment)"
-  'DotEqSn f L1 L2 = (lreq f L1 L2).
+  'IdEqSn f L1 L2 = (lreq f L1 L2).
 
 (* Basic properties *********************************************************)
 
-lemma lreq_eq_repl_back: â\88\80L1,L2. eq_repl_back â\80¦ (λf. L1 â\89\90[f] L2).
+lemma lreq_eq_repl_back: â\88\80L1,L2. eq_repl_back â\80¦ (λf. L1 â\89¡[f] L2).
 /2 width=3 by lexs_eq_repl_back/ qed-.
 
-lemma lreq_eq_repl_fwd: â\88\80L1,L2. eq_repl_fwd â\80¦ (λf. L1 â\89\90[f] L2).
+lemma lreq_eq_repl_fwd: â\88\80L1,L2. eq_repl_fwd â\80¦ (λf. L1 â\89¡[f] L2).
 /2 width=3 by lexs_eq_repl_fwd/ qed-.
 
-lemma sle_lreq_trans: â\88\80f2,L1,L2. L1 â\89\90[f2] L2 →
-                      â\88\80f1. f1 â\8a\86 f2 â\86\92 L1 â\89\90[f1] L2.
+lemma sle_lreq_trans: â\88\80f2,L1,L2. L1 â\89¡[f2] L2 →
+                      â\88\80f1. f1 â\8a\86 f2 â\86\92 L1 â\89¡[f1] L2.
 /2 width=3 by sle_lexs_trans/ qed-.
 
 (* Basic_2A1: includes: lreq_refl *)
@@ -48,54 +48,54 @@ lemma lreq_sym: ∀f. symmetric … (lreq f).
 (* Basic inversion lemmas ***************************************************)
 
 (* Basic_2A1: includes: lreq_inv_atom1 *)
-lemma lreq_inv_atom1: â\88\80f,Y. â\8b\86 â\89\90[f] Y → Y = ⋆.
+lemma lreq_inv_atom1: â\88\80f,Y. â\8b\86 â\89¡[f] Y → Y = ⋆.
 /2 width=4 by lexs_inv_atom1/ qed-.
 
 (* Basic_2A1: includes: lreq_inv_pair1 *)
-lemma lreq_inv_next1: â\88\80g,J,K1,Y. K1.â\93\98{J} â\89\90[⫯g] Y →
-                      â\88\83â\88\83K2. K1 â\89\90[g] K2 & Y = K2.ⓘ{J}.
+lemma lreq_inv_next1: â\88\80g,J,K1,Y. K1.â\93\98{J} â\89¡[⫯g] Y →
+                      â\88\83â\88\83K2. K1 â\89¡[g] K2 & Y = K2.ⓘ{J}.
 #g #J #K1 #Y #H
 elim (lexs_inv_next1 … H) -H #Z #K2 #HK12 #H1 #H2 destruct
 <(ceq_ext_inv_eq … H1) -Z /2 width=3 by ex2_intro/
 qed-.
 
 (* Basic_2A1: includes: lreq_inv_zero1 lreq_inv_succ1 *)
-lemma lreq_inv_push1: â\88\80g,J1,K1,Y. K1.â\93\98{J1} â\89\90[↑g] Y →
-                      â\88\83â\88\83J2,K2. K1 â\89\90[g] K2 & Y = K2.ⓘ{J2}.
+lemma lreq_inv_push1: â\88\80g,J1,K1,Y. K1.â\93\98{J1} â\89¡[↑g] Y →
+                      â\88\83â\88\83J2,K2. K1 â\89¡[g] K2 & Y = K2.ⓘ{J2}.
 #g #J1 #K1 #Y #H elim (lexs_inv_push1 … H) -H /2 width=4 by ex2_2_intro/
 qed-.
 
 (* Basic_2A1: includes: lreq_inv_atom2 *)
-lemma lreq_inv_atom2: â\88\80f,X. X â\89\90[f] ⋆ → X = ⋆.
+lemma lreq_inv_atom2: â\88\80f,X. X â\89¡[f] ⋆ → X = ⋆.
 /2 width=4 by lexs_inv_atom2/ qed-.
 
 (* Basic_2A1: includes: lreq_inv_pair2 *)
-lemma lreq_inv_next2: â\88\80g,J,X,K2. X â\89\90[⫯g] K2.ⓘ{J} →
-                      â\88\83â\88\83K1. K1 â\89\90[g] K2 & X = K1.ⓘ{J}.
+lemma lreq_inv_next2: â\88\80g,J,X,K2. X â\89¡[⫯g] K2.ⓘ{J} →
+                      â\88\83â\88\83K1. K1 â\89¡[g] K2 & X = K1.ⓘ{J}.
 #g #J #X #K2 #H
 elim (lexs_inv_next2 … H) -H #Z #K1 #HK12 #H1 #H2 destruct
 <(ceq_ext_inv_eq … H1) -J /2 width=3 by ex2_intro/
 qed-.
 
 (* Basic_2A1: includes: lreq_inv_zero2 lreq_inv_succ2 *)
-lemma lreq_inv_push2: â\88\80g,J2,X,K2. X â\89\90[↑g] K2.ⓘ{J2} →
-                      â\88\83â\88\83J1,K1. K1 â\89\90[g] K2 & X = K1.ⓘ{J1}.
+lemma lreq_inv_push2: â\88\80g,J2,X,K2. X â\89¡[↑g] K2.ⓘ{J2} →
+                      â\88\83â\88\83J1,K1. K1 â\89¡[g] K2 & X = K1.ⓘ{J1}.
 #g #J2 #X #K2 #H elim (lexs_inv_push2 … H) -H /2 width=4 by ex2_2_intro/
 qed-.
 
 (* Basic_2A1: includes: lreq_inv_pair *)
-lemma lreq_inv_next: â\88\80f,I1,I2,L1,L2. L1.â\93\98{I1} â\89\90[⫯f] L2.ⓘ{I2} →
-                     L1 â\89\90[f] L2 ∧ I1 = I2.
+lemma lreq_inv_next: â\88\80f,I1,I2,L1,L2. L1.â\93\98{I1} â\89¡[⫯f] L2.ⓘ{I2} →
+                     L1 â\89¡[f] L2 ∧ I1 = I2.
 #f #I1 #I2 #L1 #L2 #H elim (lexs_inv_next … H) -H
 /3 width=3 by ceq_ext_inv_eq, conj/
 qed-.
 
 (* Basic_2A1: includes: lreq_inv_succ *)
-lemma lreq_inv_push: â\88\80f,I1,I2,L1,L2. L1.â\93\98{I1} â\89\90\86\91f] L2.â\93\98{I2} â\86\92 L1 â\89\90[f] L2.
+lemma lreq_inv_push: â\88\80f,I1,I2,L1,L2. L1.â\93\98{I1} â\89¡[â\86\91f] L2.â\93\98{I2} â\86\92 L1 â\89¡[f] L2.
 #f #I1 #I2 #L1 #L2 #H elim (lexs_inv_push … H) -H /2 width=1 by conj/
 qed-.
 
-lemma lreq_inv_tl: â\88\80f,I,L1,L2. L1 â\89\90[⫱f] L2 â\86\92 L1.â\93\98{I} â\89\90[f] L2.ⓘ{I}.
+lemma lreq_inv_tl: â\88\80f,I,L1,L2. L1 â\89¡[⫱f] L2 â\86\92 L1.â\93\98{I} â\89¡[f] L2.ⓘ{I}.
 /2 width=1 by lexs_inv_tl/ qed-.
 
 (* Basic_2A1: removed theorems 5:
index 69c4efa31120341bc33d5c31ea0968f5db4ad64f..fcb54e71ac4f9ddea73abe5e844a632977b9eba3 100644 (file)
@@ -20,5 +20,5 @@ include "basic_2/relocation/lreq.ma".
 (* Forward lemmas with length for local environments ************************)
 
 (* Basic_2A1: includes: lreq_fwd_length *)
-lemma lreq_fwd_length: â\88\80f,L1,L2. L1 â\89\90[f] L2 → |L1| = |L2|.
+lemma lreq_fwd_length: â\88\80f,L1,L2. L1 â\89¡[f] L2 → |L1| = |L2|.
 /2 width=4 by lexs_fwd_length/ qed-.
index b2bf0385a202cd8e6f21c299d29828848bd0c11e..d0c06d0c7dc0ac9cbbc41774895e4d9964330782 100644 (file)
@@ -28,10 +28,10 @@ theorem lreq_canc_sn: ∀f. left_cancellable … (lreq f).
 theorem lreq_canc_dx: ∀f. right_cancellable … (lreq f).
 /3 width=3 by lexs_canc_dx, lreq_trans, lreq_sym/ qed-.
 
-theorem lreq_join: â\88\80f1,L1,L2. L1 â\89\90[f1] L2 â\86\92 â\88\80f2. L1 â\89\90[f2] L2 →
-                   â\88\80f. f1 â\8b\93 f2 â\89¡ f â\86\92 L1 â\89\90[f] L2.
+theorem lreq_join: â\88\80f1,L1,L2. L1 â\89¡[f1] L2 â\86\92 â\88\80f2. L1 â\89¡[f2] L2 →
+                   â\88\80f. f1 â\8b\93 f2 â\89\98 f â\86\92 L1 â\89¡[f] L2.
 /2 width=5 by lexs_join/ qed-.
 
-theorem lreq_meet: â\88\80f1,L1,L2. L1 â\89\90[f1] L2 â\86\92 â\88\80f2. L1 â\89\90[f2] L2 →
-                   â\88\80f. f1 â\8b\92 f2 â\89¡ f â\86\92 L1 â\89\90[f] L2.
+theorem lreq_meet: â\88\80f1,L1,L2. L1 â\89¡[f1] L2 â\86\92 â\88\80f2. L1 â\89¡[f2] L2 →
+                   â\88\80f. f1 â\8b\92 f2 â\89\98 f â\86\92 L1 â\89¡[f] L2.
 /2 width=5 by lexs_meet/ qed-.
index 638bcde72837fbd3f687dba24f256d403d542bb8..e4abc29d54d20328e22c236f2e552aef852c2dab 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/reduction/cnr.ma".
 
 (* Basic_1: includes: pr1_pr0 *)
 definition cprs: relation4 genv lenv term term ≝
-                 λG. LTC … (cpr G).
+                 λG. CTC … (cpr G).
 
 interpretation "context-sensitive parallel computation (term)"
    'PRedStar G L T1 T2 = (cprs G L T1 T2).
@@ -60,7 +60,7 @@ lemma cprs_strap2: ∀G,L,T1,T,T2.
 normalize /2 width=3 by TC_strap/ qed-.
 
 lemma lsubr_cprs_trans: ∀G. lsub_trans … (cprs G) lsubr.
-/3 width=5 by lsubr_cpr_trans, LTC_lsub_trans/
+/3 width=5 by lsubr_cpr_trans, CTC_lsub_trans/
 qed-.
 
 (* Basic_1: was: pr3_pr1 *)
@@ -85,7 +85,7 @@ lemma cprs_flat_sn: ∀I,G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ➡ T2 → ∀V1,V2. ⦃G,
 /3 width=3 by cprs_strap1, cpr_cprs, cpr_pair_sn, cpr_flat/
 qed.
 
-lemma cprs_zeta: â\88\80G,L,V,T1,T,T2. â¬\86[0, 1] T2 â\89¡ T →
+lemma cprs_zeta: â\88\80G,L,V,T1,T,T2. â¬\86[0, 1] T2 â\89\98 T →
                  ⦃G, L.ⓓV⦄ ⊢ T1 ➡* T → ⦃G, L⦄ ⊢ +ⓓV.T1 ➡* T2.
 #G #L #V #T1 #T #T2 #HT2 #H @(cprs_ind_dx … H) -T1
 /3 width=3 by cprs_strap2, cpr_cprs, cpr_bind, cpr_zeta/
@@ -104,7 +104,7 @@ lemma cprs_beta_dx: ∀a,G,L,V1,V2,W1,W2,T1,T2.
 qed.
 
 lemma cprs_theta_dx: ∀a,G,L,V1,V,V2,W1,W2,T1,T2.
-                     â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡ V â\86\92 â¬\86[0, 1] V â\89¡ V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
+                     â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡ V â\86\92 â¬\86[0, 1] V â\89\98 V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
                      ⦃G, L⦄ ⊢ W1 ➡ W2 → ⦃G, L⦄ ⊢ ⓐV1.ⓓ{a}W1.T1 ➡* ⓓ{a}W2.ⓐV2.T2.
 #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV1 #HV2 * -T2
 /4 width=9 by cprs_strap1, cpr_cprs, cprs_bind_dx, cprs_flat_dx, cpr_theta/
index 60df2d785a93aeaaa3687a2c3e52607efd380220..76e2da87ea1685961d9dbdb8a2747ba9b89350ef 100644 (file)
@@ -59,14 +59,14 @@ theorem cprs_beta: ∀a,G,L,V1,V2,W1,W2,T1,T2.
 qed.
 
 theorem cprs_theta_rc: ∀a,G,L,V1,V,V2,W1,W2,T1,T2.
-                       â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡ V â\86\92 â¬\86[0, 1] V â\89¡ V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
+                       â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡ V â\86\92 â¬\86[0, 1] V â\89\98 V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
                        ⦃G, L⦄ ⊢ W1 ➡* W2 → ⦃G, L⦄ ⊢ ⓐV1.ⓓ{a}W1.T1 ➡* ⓓ{a}W2.ⓐV2.T2.
 #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV1 #HV2 #HT12 #H @(cprs_ind … H) -W2
 /3 width=5 by cprs_trans, cprs_theta_dx, cprs_bind_dx/
 qed.
 
 theorem cprs_theta: ∀a,G,L,V1,V,V2,W1,W2,T1,T2.
-                    â¬\86[0, 1] V â\89¡ V2 → ⦃G, L⦄ ⊢ W1 ➡* W2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
+                    â¬\86[0, 1] V â\89\98 V2 → ⦃G, L⦄ ⊢ W1 ➡* W2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ➡* T2 →
                     ⦃G, L⦄ ⊢ V1 ➡* V → ⦃G, L⦄ ⊢ ⓐV1.ⓓ{a}W1.T1 ➡* ⓓ{a}W2.ⓐV2.T2.
 #a #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV2 #HW12 #HT12 #H @(cprs_ind_dx … H) -V1
 /3 width=3 by cprs_trans, cprs_theta_rc, cprs_flat_dx/
@@ -80,7 +80,7 @@ lemma cprs_inv_appl1: ∀G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓐV1.T1 ➡* U2 →
                                         U2 = ⓐV2. T2
                        | ∃∃a,W,T.       ⦃G, L⦄ ⊢ T1 ➡* ⓛ{a}W.T &
                                         ⦃G, L⦄ ⊢ ⓓ{a}ⓝW.V1.T ➡* U2
-                       | â\88\83â\88\83a,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡* V0 & â¬\86[0,1] V0 â\89¡ V2 &
+                       | â\88\83â\88\83a,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡* V0 & â¬\86[0,1] V0 â\89\98 V2 &
                                         ⦃G, L⦄ ⊢ T1 ➡* ⓓ{a}V.T &
                                         ⦃G, L⦄ ⊢ ⓓ{a}V.ⓐV2.T ➡* U2.
 #G #L #V1 #T1 #U2 #H @(cprs_ind … H) -U2 /3 width=5 by or3_intro0, ex3_2_intro/
@@ -125,7 +125,7 @@ lemma cpr_bind2: ∀G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ➡ V2 → ∀I,T1,T2. ⦃G, L.
 
 (* Basic_1: was only: pr3_pr2_pr3_t pr3_wcpr0_t *)
 lemma lpr_cprs_trans: ∀G. b_rs_transitive … (cpr G) (λ_. lpr G).
-#G @b_c_trans_LTC1 /2 width=3 by lpr_cpr_trans/ (**) (* full auto fails *)
+#G @b_c_trans_CTC1 /2 width=3 by lpr_cpr_trans/ (**) (* full auto fails *)
 qed-.
 
 (* Basic_1: was: pr3_strip *)
index 1f12f5557dd445f89e829e3130606be5627a5992..7a49ed3c6f022357770d79acd8d92d3e4075e466 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/computation/cprs.ma".
 
 (* Note: apparently this was missing in basic_1 *)
 lemma cprs_delta: ∀G,L,K,V,V2,i.
-                  â¬\87[i] L â\89¡ K.ⓓV → ⦃G, K⦄ ⊢ V ➡* V2 →
-                  â\88\80W2. â¬\86[0, i + 1] V2 â\89¡ W2 → ⦃G, L⦄ ⊢ #i ➡* W2.
+                  â¬\87[i] L â\89\98 K.ⓓV → ⦃G, K⦄ ⊢ V ➡* V2 →
+                  â\88\80W2. â¬\86[0, i + 1] V2 â\89\98 W2 → ⦃G, L⦄ ⊢ #i ➡* W2.
 #G #L #K #V #V2 #i #HLK #H elim H -V2 [ /3 width=6 by cpr_cprs, cpr_delta/ ]
 #V1 #V2 #_ #HV12 #IHV1 #W2 #HVW2
 lapply (drop_fwd_drop2 … HLK) -HLK #HLK
@@ -34,8 +34,8 @@ qed.
 (* Basic_1: was: pr3_gen_lref *)
 lemma cprs_inv_lref1: ∀G,L,T2,i. ⦃G, L⦄ ⊢ #i ➡* T2 →
                       T2 = #i ∨
-                      â\88\83â\88\83K,V1,T1. â¬\87[i] L â\89¡ K.ⓓV1 & ⦃G, K⦄ ⊢ V1 ➡* T1 &
-                                 â¬\86[0, i + 1] T1 â\89¡ T2.
+                      â\88\83â\88\83K,V1,T1. â¬\87[i] L â\89\98 K.ⓓV1 & ⦃G, K⦄ ⊢ V1 ➡* T1 &
+                                 â¬\86[0, i + 1] T1 â\89\98 T2.
 #G #L #T2 #i #H @(cprs_ind … H) -T2 /2 width=1 by or_introl/
 #T #T2 #_ #HT2 *
 [ #H destruct
@@ -52,9 +52,9 @@ qed-.
 
 (* Basic_1: was: pr3_lift *)
 lemma cprs_lift: ∀G. d_liftable (cprs G).
-/3 width=10 by d_liftable_LTC, cpr_lift/ qed.
+/3 width=10 by d_liftable_CTC, cpr_lift/ qed.
 
 (* Basic_1: was: pr3_gen_lift *)
 lemma cprs_inv_lift1: ∀G. d_deliftable_sn (cprs G).
-/3 width=6 by d_deliftable_sn_LTC, cpr_inv_lift1/
+/3 width=6 by d_deliftable_sn_CTC, cpr_inv_lift1/
 qed-.
index 2a60dd3d40423df23fcbbf58535fc44ec809d226..547c6d0d57112e1b38aa65c952c501fbca9a4770 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/rt_transition/cpx.ma".
 (* UNCOUNTED CONTEXT-SENSITIVE PARALLEL RT-COMPUTATION FOR TERMS ************)
 
 definition cpxs: sh → relation4 genv lenv term term ≝
-                 λh,G. LTC … (cpx h G).
+                 λh,G. CTC … (cpx h G).
 
 interpretation "uncounted context-sensitive parallel rt-computation (term)"
    'PRedTyStar h G L T1 T2 = (cpxs h G L T1 T2).
@@ -89,7 +89,7 @@ lemma cpxs_pair_sn: ∀h,I,G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 →
 /3 width=3 by cpxs_strap1, cpx_pair_sn/
 qed.
 
-lemma cpxs_zeta: â\88\80h,G,L,V,T1,T,T2. â¬\86*[1] T2 â\89¡ T →
+lemma cpxs_zeta: â\88\80h,G,L,V,T1,T,T2. â¬\86*[1] T2 â\89\98 T →
                  ⦃G, L.ⓓV⦄ ⊢ T1 ⬈*[h] T → ⦃G, L⦄ ⊢ +ⓓV.T1 ⬈*[h] T2.
 #h #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/
@@ -116,7 +116,7 @@ lemma cpxs_beta_dx: ∀h,p,G,L,V1,V2,W1,W2,T1,T2.
 qed.
 
 lemma cpxs_theta_dx: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
-                     â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89¡ V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈*[h] T2 →
+                     â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89\98 V2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈*[h] T2 →
                      ⦃G, L⦄ ⊢ W1 ⬈[h] W2 → ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}W1.T1 ⬈*[h] ⓓ{p}W2.ⓐV2.T2.
 #h #p #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/
index 74efaded127aca50ba89656920dce2ca00a66805..880a3d9b89b3d1c2dc1cf9ac1e80603bc71fda37 100644 (file)
@@ -51,7 +51,7 @@ theorem cpxs_beta: ∀h,p,G,L,V1,V2,W1,W2,T1,T2.
 qed.
 
 theorem cpxs_theta_rc: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
-                       â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89¡ V2 →
+                       â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89\98 V2 →
                        ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈*[h] T2 → ⦃G, L⦄ ⊢ W1 ⬈*[h] W2 →
                        ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}W1.T1 ⬈*[h] ⓓ{p}W2.ⓐV2.T2.
 #h #p #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV1 #HV2 #HT12 #H @(cpxs_ind … H) -W2
@@ -59,7 +59,7 @@ theorem cpxs_theta_rc: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
 qed.
 
 theorem cpxs_theta: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
-                    â¬\86*[1] V â\89¡ V2 → ⦃G, L⦄ ⊢ W1 ⬈*[h] W2 →
+                    â¬\86*[1] V â\89\98 V2 → ⦃G, L⦄ ⊢ W1 ⬈*[h] W2 →
                     ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈*[h] T2 → ⦃G, L⦄ ⊢ V1 ⬈*[h] V →
                     ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}W1.T1 ⬈*[h] ⓓ{p}W2.ⓐV2.T2.
 #h #p #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 #HV2 #HW12 #HT12 #H @(TC_ind_dx … V1 H) -V1
@@ -72,7 +72,7 @@ lemma cpxs_inv_appl1: ∀h,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓐV1.T1 ⬈*[h] U2 →
                       ∨∨ ∃∃V2,T2.       ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 & ⦃G, L⦄ ⊢ T1 ⬈*[h] T2 &
                                         U2 = ⓐV2.T2
                        | ∃∃p,W,T.       ⦃G, L⦄ ⊢ T1 ⬈*[h] ⓛ{p}W.T & ⦃G, L⦄ ⊢ ⓓ{p}ⓝW.V1.T ⬈*[h] U2
-                       | â\88\83â\88\83p,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h] V0 & â¬\86*[1] V0 â\89¡ V2 &
+                       | â\88\83â\88\83p,V0,V2,V,T. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88*[h] V0 & â¬\86*[1] V0 â\89\98 V2 &
                                         ⦃G, L⦄ ⊢ T1 ⬈*[h] ⓓ{p}V.T & ⦃G, L⦄ ⊢ ⓓ{p}V.ⓐV2.T ⬈*[h] U2.
 #h #G #L #V1 #T1 #U2 #H @(cpxs_ind … H) -U2 [ /3 width=5 by or3_intro0, ex3_2_intro/ ]
 #U #U2 #_ #HU2 * *
index 172dcc3fbc3cead12a27c6dd099a33ce4c104b73..0fd54e95ac94f0c5ab05ba76c7f6b96bd971fb46 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/rt_computation/cpxs.ma".
 (* Advanced properties ******************************************************)
 
 lemma cpxs_delta: ∀h,I,G,K,V1,V2. ⦃G, K⦄ ⊢ V1 ⬈*[h] V2 →
-                  â\88\80W2. â¬\86*[1] V2 â\89¡ W2 → ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈*[h] W2.
+                  â\88\80W2. â¬\86*[1] V2 â\89\98 W2 → ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈*[h] W2.
 #h #I #G #K #V1 #V2 #H @(cpxs_ind … H) -V2
 [ /3 width=3 by cpx_cpxs, cpx_delta/
 | #V #V2 #_ #HV2 #IH #W2 #HVW2
@@ -31,7 +31,7 @@ lemma cpxs_delta: ∀h,I,G,K,V1,V2. ⦃G, K⦄ ⊢ V1 ⬈*[h] V2 →
 qed.
 
 lemma cpxs_lref: ∀h,I,G,K,T,i. ⦃G, K⦄ ⊢ #i ⬈*[h] T →
-                 â\88\80U. â¬\86*[1] T â\89¡ U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈*[h] U.
+                 â\88\80U. â¬\86*[1] T â\89\98 U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈*[h] U.
 #h #I #G #K #T #i #H @(cpxs_ind … H) -T
 [ /3 width=3 by cpx_cpxs, cpx_lref/
 | #T0 #T #_ #HT2 #IH #U #HTU
@@ -42,8 +42,8 @@ qed.
 
 (* Basic_2A1: was: cpxs_delta *)
 lemma cpxs_delta_drops: ∀h,I,G,L,K,V1,V2,i.
-                        â¬\87*[i] L â\89¡ K.ⓑ{I}V1 → ⦃G, K⦄ ⊢ V1 ⬈*[h] V2 →
-                        â\88\80W2. â¬\86*[⫯i] V2 â\89¡ W2 → ⦃G, L⦄ ⊢ #i ⬈*[h] W2.
+                        â¬\87*[i] L â\89\98 K.ⓑ{I}V1 → ⦃G, K⦄ ⊢ V1 ⬈*[h] V2 →
+                        â\88\80W2. â¬\86*[⫯i] V2 â\89\98 W2 → ⦃G, L⦄ ⊢ #i ⬈*[h] W2.
 #h #I #G #L #K #V1 #V2 #i #HLK #H @(cpxs_ind … H) -V2
 [ /3 width=7 by cpx_cpxs, cpx_delta_drops/
 | #V #V2 #_ #HV2 #IH #W2 #HVW2
@@ -56,7 +56,7 @@ qed.
 
 lemma cpxs_inv_zero1: ∀h,G,L,T2. ⦃G, L⦄ ⊢ #0 ⬈*[h] T2 →
                       T2 = #0 ∨
-                      â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88*[h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88*[h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                    L = K.ⓑ{I}V1.
 #h #G #L #T2 #H @(cpxs_ind … H) -T2 /2 width=1 by or_introl/
 #T #T2 #_ #HT2 *
@@ -71,7 +71,7 @@ qed-.
 
 lemma cpxs_inv_lref1: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #⫯i ⬈*[h] T2 →
                       T2 = #(⫯i) ∨
-                      â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88*[h] T & â¬\86*[1] T â\89¡ T2 & L = K.ⓘ{I}.
+                      â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88*[h] T & â¬\86*[1] T â\89\98 T2 & L = K.ⓘ{I}.
 #h #G #L #T2 #i #H @(cpxs_ind … H) -T2 /2 width=1 by or_introl/
 #T #T2 #_ #HT2 *
 [ #H destruct
@@ -86,8 +86,8 @@ qed-.
 (* Basic_2A1: was: cpxs_inv_lref1 *)
 lemma cpxs_inv_lref1_drops: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #i ⬈*[h] T2 →
                             T2 = #i ∨
-                            â\88\83â\88\83I,K,V1,T1. â¬\87*[i] L â\89¡ K.ⓑ{I}V1 & ⦃G, K⦄ ⊢ V1 ⬈*[h] T1 &
-                                         â¬\86*[⫯i] T1 â\89¡ T2.
+                            â\88\83â\88\83I,K,V1,T1. â¬\87*[i] L â\89\98 K.ⓑ{I}V1 & ⦃G, K⦄ ⊢ V1 ⬈*[h] T1 &
+                                         â¬\86*[⫯i] T1 â\89\98 T2.
 #h #G #L #T2 #i #H @(cpxs_ind … H) -T2 /2 width=1 by or_introl/
 #T #T2 #_ #HT2 *
 [ #H destruct
@@ -104,7 +104,7 @@ qed-.
 
 (* Basic_2A1: includes: cpxs_lift *)
 lemma cpxs_lifts_sn: ∀h,G. d_liftable2_sn … lifts (cpxs h G).
-/3 width=10 by cpx_lifts_sn, cpxs_strap1, d2_liftable_sn_LTC/ qed-.
+/3 width=10 by cpx_lifts_sn, cpxs_strap1, d2_liftable_sn_CTC/ qed-.
 
 lemma cpxs_lifts_bi: ∀h,G. d_liftable2_bi … lifts (cpxs h G).
 /3 width=12 by cpxs_lifts_sn, d_liftable2_sn_bi, lifts_mono/ qed-.
@@ -113,7 +113,7 @@ lemma cpxs_lifts_bi: ∀h,G. d_liftable2_bi … lifts (cpxs h G).
 
 (* Basic_2A1: includes: cpxs_inv_lift1 *)
 lemma cpxs_inv_lifts_sn: ∀h,G. d_deliftable2_sn … lifts (cpxs h G).
-/3 width=6 by d2_deliftable_sn_LTC, cpx_inv_lifts_sn/ qed-.
+/3 width=6 by d2_deliftable_sn_CTC, cpx_inv_lifts_sn/ qed-.
 
 lemma cpxs_inv_lifts_bi: ∀h,G. d_deliftable2_bi … lifts (cpxs h G).
 /3 width=12 by cpxs_inv_lifts_sn, d_deliftable2_sn_bi, lifts_inj/ qed-.
index bd1f44a9219ead310893e4db69c18ed710f5a351..0ae68d2c2c935346bf944eace8ab40feef18c2ef 100644 (file)
@@ -22,7 +22,7 @@ include "basic_2/rt_computation/cpxs_cpxs.ma".
 (* Properties with uncounted parallel rt-transition on referred entries *****)
 
 lemma lfpx_cpxs_conf: ∀h,G. s_r_confluent1 … (cpxs h G) (lfpx h G).
-/3 width=5 by lfpx_cpx_conf, s_r_conf1_LTC1/ qed-.
+/3 width=5 by lfpx_cpx_conf, s_r_conf1_CTC1/ qed-.
 
 lemma lfpx_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpx h G).
 #h #G #L2 #T1 #T2 #H @(cpx_ind … H) -G -L2 -T1 -T2 //
@@ -53,7 +53,7 @@ lemma lfpx_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpx h G).
 qed.
 
 lemma lfpx_cpxs_trans: ∀h,G. s_rs_transitive … (cpx h G) (lfpx h G).
-/3 width=6 by lfpx_cpx_conf, lfpx_cpx_trans, s_r_trans_LTC1/
+/3 width=6 by lfpx_cpx_conf, lfpx_cpx_trans, s_r_trans_CTC1/
 qed-.
 
 (* Advanced properties ******************************************************)
index c4fcab18634f23e39e60c11be422e9e9558eb07a..ff4aa6c0906a9f834f08d5659f4faa5dbb72a668 100644 (file)
@@ -38,5 +38,5 @@ lemma lpx_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (λ_.lpx h G).
 qed-.
 
 lemma lpx_cpxs_trans: ∀h,G. s_rs_transitive … (cpx h G) (λ_.lpx h G).
-#h #G @s_r_trans_LTC1 /2 width=3 by lpx_cpx_trans/ (**) (* full auto fails *)
+#h #G @s_r_trans_CTC1 /2 width=3 by lpx_cpx_trans/ (**) (* full auto fails *)
 qed-.
index 163f7a109dfd95e3930436eaf1f40b88c875b139..c4844c2e1d8c451e972d3ec0d3778ed23f249760 100644 (file)
@@ -20,5 +20,5 @@ include "basic_2/rt_computation/cpxs.ma".
 (* Properties with restricted refinement for local environments *************)
 
 lemma lsubr_cpxs_trans: ∀h,G. lsub_trans … (cpxs h G) lsubr.
-/3 width=5 by lsubr_cpx_trans, LTC_lsub_trans/
+/3 width=5 by lsubr_cpx_trans, CTC_lsub_trans/
 qed-.
index 8a52882a2b5ef4ca58dedb110a99088cdbfe294f..580f90ab2bd05b3454a730799f63efdf9c2a0588 100644 (file)
@@ -32,8 +32,8 @@ qed-.
 
 (* Note: probably this is an inversion lemma *)
 (* Basic_2A1: was: cpxs_fwd_delta *)
-lemma cpxs_fwd_delta_drops: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V1 →
-                            â\88\80V2. â¬\86*[⫯i] V1 â\89¡ V2 →
+lemma cpxs_fwd_delta_drops: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V1 →
+                            â\88\80V2. â¬\86*[⫯i] V1 â\89\98 V2 →
                             ∀U. ⦃G, L⦄ ⊢ #i ⬈*[h] U →
                             #i ⩳[h, o] U ∨ ⦃G, L⦄ ⊢ V2 ⬈*[h] U.
 #h #o #I #G #L #K #V1 #i #HLK #V2 #HV12 #U #H
@@ -58,7 +58,7 @@ lemma cpxs_fwd_beta: ∀h,o,p,G,L,V,W,T,U. ⦃G, L⦄ ⊢ ⓐV.ⓛ{p}W.T ⬈*[h]
 qed-.
 
 lemma cpxs_fwd_theta: ∀h,o,p,G,L,V1,V,T,U. ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}V.T ⬈*[h] U →
-                      â\88\80V2. â¬\86*[1] V1 â\89¡ V2 → ⓐV1.ⓓ{p}V.T ⩳[h, o] U ∨
+                      â\88\80V2. â¬\86*[1] V1 â\89\98 V2 → ⓐV1.ⓓ{p}V.T ⩳[h, o] U ∨
                       ⦃G, L⦄ ⊢ ⓓ{p}V.ⓐV2.T ⬈*[h] U.
 #h #o #p #G #L #V1 #V #T #U #H #V2 #HV12
 elim (cpxs_inv_appl1 … H) -H *
index bab5c447ede214fb299c5481c2bf5eac8aa1291e..a1bf1e5b8bb1b19158a9886eba13f3d3b1ce8612 100644 (file)
@@ -44,8 +44,8 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_2A1: was: cpxs_fwd_delta_vector *)
-lemma cpxs_fwd_delta_drops_vector: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V1 →
-                                   â\88\80V2. â¬\86*[⫯i] V1 â\89¡ V2 →
+lemma cpxs_fwd_delta_drops_vector: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V1 →
+                                   â\88\80V2. â¬\86*[⫯i] V1 â\89\98 V2 →
                                    ∀Vs,U. ⦃G, L⦄ ⊢ ⒶVs.#i ⬈*[h] U →
                                    ⒶVs.#i ⩳[h, o] U ∨ ⦃G, L⦄ ⊢ ⒶVs.V2 ⬈*[h] U.
 #h #o #I #G #L #K #V1 #i #HLK #V2 #HV12 #Vs elim Vs -Vs /2 width=5 by cpxs_fwd_delta_drops/
@@ -94,7 +94,7 @@ elim (cpxs_inv_appl1 … H) -H *
 qed-.
 
 (* Basic_1: was just: pr3_iso_appls_abbr *)
-lemma cpxs_fwd_theta_vector: â\88\80h,o,G,L,V1b,V2b. â¬\86*[1] V1b â\89¡ V2b →
+lemma cpxs_fwd_theta_vector: â\88\80h,o,G,L,V1b,V2b. â¬\86*[1] V1b â\89\98 V2b →
                              ∀p,V,T,U. ⦃G, L⦄ ⊢ ⒶV1b.ⓓ{p}V.T ⬈*[h] U →
                              ⒶV1b.ⓓ{p}V.T ⩳[h, o] U ∨ ⦃G, L⦄ ⊢ ⓓ{p}V.ⒶV2b.T ⬈*[h] U.
 #h #o #G #L #V1b #V2b * -V1b -V2b /3 width=1 by or_intror/
index badaae1ca9d9315d3385d75a0ec35fe1c3fd6d1a..b836706ddd3fd72c6d197fbb58377eb237f43b3d 100644 (file)
@@ -51,7 +51,7 @@ qed.
 
 (* Basic_1: was just: sn3_abbr *)
 (* Basic_2A1: was: csx_lref_bind *)
-lemma csx_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V →
+lemma csx_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V →
                      ⦃G, K⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄ → ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃#i⦄.
 #h #o #I #G #L #K #V #i #HLK #HV
 @csx_intro #X #H #Hi elim (cpx_inv_lref1_drops … H) -H
@@ -66,7 +66,7 @@ qed.
 
 (* Basic_1: was: sn3_gen_def *)
 (* Basic_2A1: was: csx_inv_lref_bind *)
-lemma csx_inv_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V →
+lemma csx_inv_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V →
                          ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃#i⦄ → ⦃G, K⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄.
 #h #o #I #G #L #K #V #i #HLK #Hi
 elim (lifts_total V (𝐔❴⫯i❵))
@@ -74,9 +74,9 @@ elim (lifts_total V (𝐔❴⫯i❵))
 qed-.
 
 lemma csx_inv_lref: ∀h,o,G,L,i. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃#i⦄ →
-                    â\88¨â\88¨ â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ ⋆
-                     | â\88\83â\88\83I,K. â¬\87*[i] L â\89¡ K.ⓤ{I}
-                     | â\88\83â\88\83I,K,V. â¬\87*[i] L â\89¡ K.ⓑ{I}V & ⦃G, K⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄.
+                    â\88¨â\88¨ â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 ⋆
+                     | â\88\83â\88\83I,K. â¬\87*[i] L â\89\98 K.ⓤ{I}
+                     | â\88\83â\88\83I,K,V. â¬\87*[i] L â\89\98 K.ⓑ{I}V & ⦃G, K⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄.
 #h #o #G #L #i #H elim (drops_F_uni L i) /2 width=1 by or3_intro0/
 * * /4 width=9 by csx_inv_lref_pair, ex2_3_intro, ex1_2_intro, or3_intro2, or3_intro1/
 qed-.
index c010a31a9eb17bb81ef61742ddb29c418596519d..6872763e0c756078889f8f75dfe35d43f3e3ad23 100644 (file)
@@ -37,8 +37,8 @@ elim (cpxs_fwd_beta_vector … o … H) -H #H
 ]
 qed.
 
-lemma csx_applv_delta: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V1 →
-                       â\88\80V2. â¬\86*[⫯i] V1 â\89¡ V2 →
+lemma csx_applv_delta: â\88\80h,o,I,G,L,K,V1,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V1 →
+                       â\88\80V2. â¬\86*[⫯i] V1 â\89\98 V2 →
                        ∀Vs. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⒶVs.V2⦄ → ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⒶVs.#i⦄.
 #h #o #I #G #L #K #V1 #i #HLK #V2 #HV12 #Vs elim Vs -Vs
 [ /4 width=11 by csx_inv_lifts, csx_lref_pair, drops_isuni_fwd_drop2/
@@ -55,7 +55,7 @@ lemma csx_applv_delta: ∀h,o,I,G,L,K,V1,i. ⬇*[i] L ≡ K.ⓑ{I}V1 →
 qed.
 
 (* Basic_1: was just: sn3_appls_abbr *)
-lemma csx_applv_theta: â\88\80h,o,p,G,L,V1b,V2b. â¬\86*[1] V1b â\89¡ V2b →
+lemma csx_applv_theta: â\88\80h,o,p,G,L,V1b,V2b. â¬\86*[1] V1b â\89\98 V2b →
                        ∀V,T. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⓓ{p}V.ⒶV2b.T⦄ →
                        ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⒶV1b.ⓓ{p}V.T⦄.
 #h #o #p #G #L #V1b #V2b * -V1b -V2b /2 width=1 by/
index 2067df1b301081c9450f9d794fbd00e4112c36dd..44fc48fae862e8f787ed34ee71c31877b231f00c 100644 (file)
@@ -60,7 +60,7 @@ elim (cpx_inv_abbr1 … H1) -H1 *
 ]
 qed.
 
-fact csx_appl_theta_aux: â\88\80h,o,p,G,L,U. â¦\83G, Lâ¦\84 â\8a¢ â¬\88*[h, o] ð\9d\90\92â¦\83Uâ¦\84 â\86\92 â\88\80V1,V2. â¬\86*[1] V1 â\89¡ V2 →
+fact csx_appl_theta_aux: â\88\80h,o,p,G,L,U. â¦\83G, Lâ¦\84 â\8a¢ â¬\88*[h, o] ð\9d\90\92â¦\83Uâ¦\84 â\86\92 â\88\80V1,V2. â¬\86*[1] V1 â\89\98 V2 →
                          ∀V,T. U = ⓓ{p}V.ⓐV2.T → ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⓐV1.ⓓ{p}V.T⦄.
 #h #o #p #G #L #X #H @(csx_ind_cpxs … H) -X
 #X #HVT #IHVT #V1 #V2 #HV12 #V #T #H destruct
@@ -95,5 +95,5 @@ elim (cpx_inv_appl1 … HL) -HL *
 qed-.
 
 lemma csx_appl_theta: ∀h,o,p,G,L,V,V2,T. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⓓ{p}V.ⓐV2.T⦄ →
-                      â\88\80V1. â¬\86*[1] V1 â\89¡ V2 → ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⓐV1.ⓓ{p}V.T⦄.
+                      â\88\80V1. â¬\86*[1] V1 â\89\98 V2 → ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃ⓐV1.ⓓ{p}V.T⦄.
 /2 width=5 by csx_appl_theta_aux/ qed.
index 472e94af1faf40e936d7b25ef04b61ce2cb43c7e..6c951084e63accd3057af727bfde43a9497d537f 100644 (file)
@@ -25,12 +25,12 @@ lemma lfpxs_pair_refl: ∀h,G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 →
 /2 width=1 by tc_lfxs_pair_refl/ qed.
 
 lemma lfpxs_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpxs h G).
-#h #G @s_r_trans_LTC2 @lfpx_cpxs_trans (**) (* auto fails *)
+#h #G @s_r_trans_CTC2 @lfpx_cpxs_trans (**) (* auto fails *)
 qed-.
 
-(* Note: lfpxs_cpx_conf does not hold, thus we cannot invoke s_r_trans_LTC1 *)
+(* Note: lfpxs_cpx_conf does not hold, thus we cannot invoke s_r_trans_CTC1 *)
 lemma lfpxs_cpxs_trans: ∀h,G. s_rs_transitive … (cpx h G) (lfpxs h G).
-#h #G @s_r_to_s_rs_trans @s_r_trans_LTC2
+#h #G @s_r_to_s_rs_trans @s_r_trans_CTC2
 @s_rs_trans_TC1 /2 width=3 by lfpx_cpxs_trans/ (**) (* full auto too slow *)
 qed-.
 
@@ -57,7 +57,7 @@ lemma cpxs_inv_abbr1: ∀h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{p}V1.T1 ⬈*[h] U2
                       ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈*[h] T2 &
                                U2 = ⓓ{p}V2.T2
                       ) ∨
-                      â\88\83â\88\83T2. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88*[h] T2 & â¬\86*[1] U2 â\89¡ T2 & p = true.
+                      â\88\83â\88\83T2. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88*[h] T2 & â¬\86*[1] U2 â\89\98 T2 & p = true.
 #h #p #G #L #V1 #T1 #U2 #H @(cpxs_ind … H) -U2 /3 width=5 by ex3_2_intro, or_introl/
 #U0 #U2 #_ #HU02 * *
 [ #V0 #T0 #HV10 #HT10 #H destruct
index 7f4060200e08d2b434f44ff12d637097681d5d19..a1c78b6fd2587db8eeec458e88dddf8e525d7e62 100644 (file)
@@ -21,14 +21,14 @@ include "basic_2/rt_transition/lfpx_drops.ma".
 
 (* Basic_2A1: uses: drop_lpxs_trans *)
 lemma drops_lfpxs_trans: ∀h,G. tc_dedropable_sn (cpx h G).
-/3 width=5 by drops_lfpx_trans, dedropable_sn_LTC/ qed-.
+/3 width=5 by drops_lfpx_trans, dedropable_sn_CTC/ qed-.
 
 (* Inversion lemmas with generic slicing for local environments *************)
 
 (* Basic_2A1: uses: lpxs_drop_conf *)
 lemma lfpxs_drops_conf: ∀h,G. tc_dropable_sn (cpx h G).
-/3 width=5 by lfpx_drops_conf, dropable_sn_LTC/ qed-.
+/3 width=5 by lfpx_drops_conf, dropable_sn_CTC/ qed-.
 
 (* Basic_2A1: uses: lpxs_drop_trans_O1 *)
 lemma lfpxs_drops_trans: ∀h,G. tc_dropable_dx (cpx h G).
-/3 width=5 by lfpx_drops_trans, dropable_dx_LTC/ qed-.
+/3 width=5 by lfpx_drops_trans, dropable_dx_CTC/ qed-.
index 21beea53bf176b66b4e92bef5f43cc3f44be5d06..79b41f785807c24e5a94485bc426ce22da2fc5fe 100644 (file)
@@ -26,11 +26,11 @@ lemma lfpxs_lpxs: ∀h,G,L1,L2,T. ⦃G, L1⦄ ⊢ ⬈*[h] L2 → ⦃G, L1⦄ ⊢
 /2 width=1 by tc_lfxs_lex/ qed.
 
 lemma lfpxs_lpxs_lfeq: ∀h,G,L1,L. ⦃G, L1⦄ ⊢ ⬈*[h] L →
-                       â\88\80L2,T. L â\89\90[T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
+                       â\88\80L2,T. L â\89¡[T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
 /2 width=3 by tc_lfxs_lex_lfeq/ qed.
 
 (* Inversion lemmas with uncounted parallel rt-computation for local envs ***)
 
 lemma lfpxs_inv_lpxs_lfeq: ∀h,G,L1,L2,T. ⦃G, L1⦄ ⊢ ⬈*[h, T] L2 →
-                           â\88\83â\88\83L. â¦\83G, L1â¦\84 â\8a¢ â¬\88*[h] L & L â\89\90[T] L2.
+                           â\88\83â\88\83L. â¦\83G, L1â¦\84 â\8a¢ â¬\88*[h] L & L â\89¡[T] L2.
 /3 width=5 by lfpx_fsge_comp, lpx_cpxs_trans, lfeq_cpx_trans, tc_lfxs_inv_lex_lfeq/ qed-.
index 5310d8ab791aac77a0b133907090ed8a605fee55..b34b79890ee395333c857db28138b50fd15ee605 100644 (file)
@@ -44,7 +44,7 @@ qed.
 
 (* Basic_2A1: uses: lsx_lref_be *)
 lemma lfsx_lref_pair_drops: ∀h,o,G,K,V. ⦃G, K⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄ → G ⊢ ⬈*[h, o, V] 𝐒⦃K⦄ →
-                            â\88\80I,i,L. â¬\87*[i] L â\89¡ K.ⓑ{I}V → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
+                            â\88\80I,i,L. â¬\87*[i] L â\89\98 K.ⓑ{I}V → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
 #h #o #G #K #V #HV #HK #I #i elim i -i
 [ #L #H >(drops_fwd_isid … H) -H /2 width=3 by lfsx_pair_lpxs/
 | #i #IH #L #H
index e4679904febe746438a9c4d017bcb877fffea566..488bb09ccce9a4355ecb1f64ba4cd4893295c667 100644 (file)
@@ -44,13 +44,13 @@ qed-.
 (* Advanced properties ******************************************************)
 
 (* Basic_2A1: uses: lsx_lref_free *)
-lemma lfsx_lref_atom: â\88\80h,o,G,L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ ⋆ → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
+lemma lfsx_lref_atom: â\88\80h,o,G,L,i. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 ⋆ → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
 #h #o #G #L1 #i #HL1
 @(lfsx_lifts … (#0) … HL1) -HL1 //
 qed.
 
 (* Basic_2A1: uses: lsx_lref_skip *)
-lemma lfsx_lref_unit: â\88\80h,o,I,G,L,K,i. â¬\87*[i] L â\89¡ K.ⓤ{I} → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
+lemma lfsx_lref_unit: â\88\80h,o,I,G,L,K,i. â¬\87*[i] L â\89\98 K.ⓤ{I} → G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄.
 #h #o #I #G #L1 #K1 #i #HL1
 @(lfsx_lifts … (#0) … HL1) -HL1 //
 qed.
@@ -59,7 +59,7 @@ qed.
 
 (* Basic_2A1: uses: lsx_fwd_lref_be *)
 lemma lfsx_fwd_lref_pair: ∀h,o,G,L,i. G ⊢ ⬈*[h, o, #i] 𝐒⦃L⦄ →
-                          â\88\80I,K,V. â¬\87*[i] L â\89¡ K.ⓑ{I}V → G ⊢ ⬈*[h, o, V] 𝐒⦃K⦄.
+                          â\88\80I,K,V. â¬\87*[i] L â\89\98 K.ⓑ{I}V → G ⊢ ⬈*[h, o, V] 𝐒⦃K⦄.
 #h #o #G #L #i #HL #I #K #V #HLK
 lapply (lfsx_inv_lifts … HL … HLK … (#0) ?) -L
 /2 width=2 by lfsx_fwd_pair/
index 4ade2ddf1b66dbd34aef74b93ccd70bce611a003..b386634eea4ba8f0d763f82e3eeb15b880afd553 100644 (file)
@@ -49,12 +49,12 @@ lemma lprs_ind_alt: ∀G. ∀R:relation lenv.
 (* Properties on context-sensitive parallel computation for terms ***********)
 
 lemma lprs_cpr_trans: ∀G. b_c_transitive … (cpr G) (λ_. lprs G).
-/3 width=5 by b_c_trans_LTC2, lpr_cprs_trans/ qed-.
+/3 width=5 by b_c_trans_CTC2, lpr_cprs_trans/ qed-.
 
 (* Basic_1: was just: pr3_pr3_pr3_t *)
-(* Note: alternative proof /3 width=5 by s_r_trans_LTC1, lprs_cpr_trans/ *)
+(* Note: alternative proof /3 width=5 by s_r_trans_CTC1, lprs_cpr_trans/ *)
 lemma lprs_cprs_trans: ∀G. b_rs_transitive … (cpr G) (λ_. lprs G).
-#G @b_c_to_b_rs_trans @b_c_trans_LTC2
+#G @b_c_to_b_rs_trans @b_c_trans_CTC2
 @b_rs_trans_TC1 /2 width=3 by lpr_cprs_trans/ (**) (* full auto too slow *)
 qed-.
 
@@ -117,7 +117,7 @@ lemma cprs_inv_abbr1: ∀a,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{a}V1.T1 ➡* U2 →
                       ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ➡* V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ➡* T2 &
                                U2 = ⓓ{a}V2.T2
                       ) ∨
-                      â\88\83â\88\83T2. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡* T2 & â¬\86[0, 1] U2 â\89¡ T2 & a = true.
+                      â\88\83â\88\83T2. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡* T2 & â¬\86[0, 1] U2 â\89\98 T2 & a = true.
 #a #G #L #V1 #T1 #U2 #H @(cprs_ind … H) -U2 /3 width=5 by ex3_2_intro, or_introl/
 #U0 #U2 #_ #HU02 * *
 [ #V0 #T0 #HV10 #HT10 #H destruct
index d4a602932d4ee3d39ce851f38f2bb2b587c0347e..d43fd613f80a260aa78e36addbca7e3e4fd91b52 100644 (file)
@@ -23,9 +23,9 @@ include "basic_2/rt_computation/cpxs_lpx.ma".
 (* Basic_2A1: was: lpxs_strap1 *)
 lemma lpxs_step_dx: ∀h,G,L1,L. ⦃G, L1⦄ ⊢ ⬈*[h] L →
                     ∀L2. ⦃G, L⦄ ⊢ ⬈[h] L2 → ⦃G, L1⦄ ⊢ ⬈*[h] L2.
-/3 width=3 by lpx_cpxs_trans, lex_ltc_step_dx/ qed-.
+/3 width=3 by lpx_cpxs_trans, lex_CTC_step_dx/ qed-.
 
 (* Basic_2A1: was: lpxs_strap2 *)
 lemma lpxs_step_sn: ∀h,G,L1,L. ⦃G, L1⦄ ⊢ ⬈[h] L →
                     ∀L2. ⦃G, L⦄ ⊢ ⬈*[h] L2 → ⦃G, L1⦄ ⊢ ⬈*[h] L2.
-/3 width=3 by lpx_cpxs_trans, lex_ltc_step_sn/ qed-.
+/3 width=3 by lpx_cpxs_trans, lex_CTC_step_sn/ qed-.
index 79923e2caea46df1ed75996537b70586d4aeded4..ae37338ac7edfa26b46dcf039f23e6bafe88ae9d 100644 (file)
@@ -60,7 +60,7 @@ elim (cprs_inv_abst1 … H2) -H2 #V2 #T2 #HV12 #HUT2 #H destruct
 qed-.
 
 lemma scpds_inv_abbr_abst: ∀h,o,a1,a2,G,L,V1,W2,T1,T2,d. ⦃G, L⦄ ⊢ ⓓ{a1}V1.T1 •*➡*[h, o, d] ⓛ{a2}W2.T2 →
-                           â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\80¢*â\9e¡*[h, o, d] T & â¬\86[0, 1] â\93\9b{a2}W2.T2 â\89¡ T & a1 = true.
+                           â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\80¢*â\9e¡*[h, o, d] T & â¬\86[0, 1] â\93\9b{a2}W2.T2 â\89\98 T & a1 = true.
 #h #o #a1 #a2 #G #L #V1 #W2 #T1 #T2 #d2 * #X #d1 #Hd21 #Hd1 #H1 #H2
 lapply (da_inv_bind … Hd1) -Hd1 #Hd1
 elim (lstas_inv_bind1 … H1) -H1 #U1 #HTU1 #H destruct
index 4289cde87cf8d4cbc79938ba62ff88292d8b8442..caf9b8dd07b78d8152344a1ea301cdc761ef6d5f 100644 (file)
@@ -20,12 +20,12 @@ include "basic_2/rt_transition/cnx.ma".
 
 (* Properties with generic slicing ******************************************)
 
-lemma cnx_lref_atom: â\88\80h,o,G,L,i. â¬\87*[i] L â\89¡ ⋆ → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄.
+lemma cnx_lref_atom: â\88\80h,o,G,L,i. â¬\87*[i] L â\89\98 ⋆ → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄.
 #h #o #G #L #i #Hi #X #H elim (cpx_inv_lref1_drops … H) -H // *
 #I #K #V1 #V2 #HLK lapply (drops_mono … Hi … HLK) -L #H destruct
 qed.
 
-lemma cnx_lref_unit: â\88\80h,o,I,G,L,K,i. â¬\87*[i] L â\89¡ K.ⓤ{I} → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄.
+lemma cnx_lref_unit: â\88\80h,o,I,G,L,K,i. â¬\87*[i] L â\89\98 K.ⓤ{I} → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄.
 #h #o #I #G #L #K #i #HLK #X #H elim (cpx_inv_lref1_drops … H) -H // *
 #Z #Y #V1 #V2 #HLY lapply (drops_mono … HLK … HLY) -L #H destruct
 qed.
@@ -40,7 +40,7 @@ qed-.
 (* Inversion lemmas with generic slicing ************************************)
 
 (* Basic_2A1: was: cnx_inv_delta *)
-lemma cnx_inv_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄ → ⊥.
+lemma cnx_inv_lref_pair: â\88\80h,o,I,G,L,K,V,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V → ⦃G, L⦄ ⊢ ⬈[h, o] 𝐍⦃#i⦄ → ⊥.
 #h #o #I #G #L #K #V #i #HLK #H
 elim (lifts_total V (𝐔❴⫯i❵)) #W #HVW
 lapply (H W ?) -H /2 width=7 by cpx_delta_drops/ -HLK
index 95af51e0bcbce458b0523af72e9425439c89eb34..e6f5d87adf75e06996e51afc8c935cb652f9b723 100644 (file)
@@ -27,11 +27,11 @@ inductive cpg (Rt:relation rtc) (h): rtc → relation4 genv lenv term term ≝
 | cpg_atom : ∀I,G,L. cpg Rt h (𝟘𝟘) G L (⓪{I}) (⓪{I})
 | cpg_ess  : ∀G,L,s. cpg Rt h (𝟘𝟙) G L (⋆s) (⋆(next h s))
 | cpg_delta: ∀c,G,L,V1,V2,W2. cpg Rt h c G L V1 V2 →
-             â¬\86*[1] V2 â\89¡ W2 → cpg Rt h c G (L.ⓓV1) (#0) W2
+             â¬\86*[1] V2 â\89\98 W2 → cpg Rt h c G (L.ⓓV1) (#0) W2
 | cpg_ell  : ∀c,G,L,V1,V2,W2. cpg Rt h c G L V1 V2 →
-             â¬\86*[1] V2 â\89¡ W2 → cpg Rt h (c+𝟘𝟙) G (L.ⓛV1) (#0) W2
+             â¬\86*[1] V2 â\89\98 W2 → cpg Rt h (c+𝟘𝟙) G (L.ⓛV1) (#0) W2
 | cpg_lref : ∀c,I,G,L,T,U,i. cpg Rt h c G L (#i) T → 
-             â¬\86*[1] T â\89¡ U → cpg Rt h c G (L.ⓘ{I}) (#⫯i) U
+             â¬\86*[1] T â\89\98 U → cpg Rt h c G (L.ⓘ{I}) (#⫯i) U
 | cpg_bind : ∀cV,cT,p,I,G,L,V1,V2,T1,T2.
              cpg Rt h cV G L V1 V2 → cpg Rt h cT G (L.ⓑ{I}V1) T1 T2 →
              cpg Rt h ((↓cV)∨cT) G L (ⓑ{p,I}V1.T1) (ⓑ{p,I}V2.T2)
@@ -42,14 +42,14 @@ inductive cpg (Rt:relation rtc) (h): rtc → relation4 genv lenv term term ≝
              cpg Rt h cU G L U1 U2 → cpg Rt h cT G L T1 T2 →
              cpg Rt h (cU∨cT) G L (ⓝU1.T1) (ⓝU2.T2)
 | cpg_zeta : ∀c,G,L,V,T1,T,T2. cpg Rt h c G (L.ⓓV) T1 T →
-             â¬\86*[1] T2 â\89¡ T → cpg Rt h (c+𝟙𝟘) G L (+ⓓV.T1) T2
+             â¬\86*[1] T2 â\89\98 T → cpg Rt h (c+𝟙𝟘) G L (+ⓓV.T1) T2
 | cpg_eps  : ∀c,G,L,V,T1,T2. cpg Rt h c G L T1 T2 → cpg Rt h (c+𝟙𝟘) G L (ⓝV.T1) T2
 | cpg_ee   : ∀c,G,L,V1,V2,T. cpg Rt h c G L V1 V2 → cpg Rt h (c+𝟘𝟙) G L (ⓝV1.T) V2
 | cpg_beta : ∀cV,cW,cT,p,G,L,V1,V2,W1,W2,T1,T2.
              cpg Rt h cV G L V1 V2 → cpg Rt h cW G L W1 W2 → cpg Rt h cT G (L.ⓛW1) T1 T2 →
              cpg Rt h (((↓cV)∨(↓cW)∨cT)+𝟙𝟘) G L (ⓐV1.ⓛ{p}W1.T1) (ⓓ{p}ⓝW2.V2.T2)
 | cpg_theta: ∀cV,cW,cT,p,G,L,V1,V,V2,W1,W2,T1,T2.
-             cpg Rt h cV G L V1 V â\86\92 â¬\86*[1] V â\89¡ V2 → cpg Rt h cW G L W1 W2 →
+             cpg Rt h cV G L V1 V â\86\92 â¬\86*[1] V â\89\98 V2 → cpg Rt h cW G L W1 W2 →
              cpg Rt h cT G (L.ⓓW1) T1 T2 →
              cpg Rt h (((↓cV)∨(↓cW)∨cT)+𝟙𝟘) G L (ⓐV1.ⓓ{p}W1.T1) (ⓓ{p}W2.ⓐV2.T2)
 .
@@ -71,11 +71,11 @@ qed.
 fact cpg_inv_atom1_aux: ∀Rt,c,h,G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ⬈[Rt, 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 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                          L = K.ⓓV1 & J = LRef 0 & c = cV
-                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                         | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                          L = K.ⓛV1 & J = LRef 0 & c = cV+𝟘𝟙
-                         | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89¡ T2 &
+                         | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89\98 T2 &
                                       L = K.ⓘ{I} & J = LRef (⫯i).
 #Rt #c #h #G #L #T1 #T2 * -c -G -L -T1 -T2
 [ #I #G #L #J #H destruct /3 width=1 by or5_intro0, conj/
@@ -97,11 +97,11 @@ qed-.
 lemma cpg_inv_atom1: ∀Rt,c,h,J,G,L,T2. ⦃G, L⦄ ⊢ ⓪{J} ⬈[Rt, 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 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       L = K.ⓓV1 & J = LRef 0 & c = cV
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       L = K.ⓛV1 & J = LRef 0 & c = cV+𝟘𝟙
-                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89¡ T2 &
+                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89\98 T2 &
                                    L = K.ⓘ{I} & J = LRef (⫯i).
 /2 width=3 by cpg_inv_atom1_aux/ qed-.
 
@@ -117,9 +117,9 @@ qed-.
 
 lemma cpg_inv_zero1: ∀Rt,c,h,G,L,T2. ⦃G, L⦄ ⊢ #0 ⬈[Rt, c, h] T2 →
                      ∨∨ T2 = #0 ∧ c = 𝟘𝟘
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       L = K.ⓓV1 & c = cV
-                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83cV,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       L = K.ⓛV1 & c = cV+𝟘𝟙.
 #Rt #c #h #G #L #T2 #H
 elim (cpg_inv_atom1 … H) -H * /3 width=1 by or3_intro0, conj/
@@ -131,7 +131,7 @@ qed-.
 
 lemma cpg_inv_lref1: ∀Rt,c,h,G,L,T2,i. ⦃G, L⦄ ⊢ #⫯i ⬈[Rt, c, h] T2 →
                      ∨∨ T2 = #(⫯i) ∧ c = 𝟘𝟘
-                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89¡ T2 & L = K.ⓘ{I}.
+                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89\98 T2 & L = K.ⓘ{I}.
 #Rt #c #h #G #L #T2 #i #H
 elim (cpg_inv_atom1 … H) -H * /3 width=1 by or_introl, conj/
 [ #s #H destruct
@@ -153,7 +153,7 @@ fact cpg_inv_bind1_aux: ∀Rt,c,h,G,L,U,U2. ⦃G, L⦄ ⊢ U ⬈[Rt, c, h] U2 
                         ∀p,J,V1,U1. U = ⓑ{p,J}V1.U1 →
                         ∨∨ ∃∃cV,cT,V2,T2. ⦃G, L⦄ ⊢ V1 ⬈[Rt, cV, h] V2 & ⦃G, L.ⓑ{J}V1⦄ ⊢ U1 ⬈[Rt, cT, h] T2 &
                                           U2 = ⓑ{p,J}V2.T2 & c = ((↓cV)∨cT)
-                         | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ U1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89¡ T &
+                         | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ U1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89\98 T &
                                    p = true & J = Abbr & c = cT+𝟙𝟘.
 #Rt #c #h #G #L #U #U2 * -c -G -L -U -U2
 [ #I #G #L #q #J #W #U1 #H destruct
@@ -175,14 +175,14 @@ qed-.
 lemma cpg_inv_bind1: ∀Rt,c,h,p,I,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓑ{p,I}V1.T1 ⬈[Rt, c, h] U2 →
                      ∨∨ ∃∃cV,cT,V2,T2. ⦃G, L⦄ ⊢ V1 ⬈[Rt, cV, h] V2 & ⦃G, L.ⓑ{I}V1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
                                        U2 = ⓑ{p,I}V2.T2 & c = ((↓cV)∨cT)
-                      | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89¡ T &
+                      | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89\98 T &
                                 p = true & I = Abbr & c = cT+𝟙𝟘.
 /2 width=3 by cpg_inv_bind1_aux/ qed-.
 
 lemma cpg_inv_abbr1: ∀Rt,c,h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{p}V1.T1 ⬈[Rt, c, h] U2 →
                      ∨∨ ∃∃cV,cT,V2,T2. ⦃G, L⦄ ⊢ V1 ⬈[Rt, cV, h] V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
                                        U2 = ⓓ{p}V2.T2 & c = ((↓cV)∨cT)
-                      | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89¡ T &
+                      | â\88\83â\88\83cT,T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[Rt, cT, h] T & â¬\86*[1] U2 â\89\98 T &
                                 p = true & c = cT+𝟙𝟘.
 #Rt #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/
@@ -203,7 +203,7 @@ fact cpg_inv_appl1_aux: ∀Rt,c,h,G,L,U,U2. ⦃G, L⦄ ⊢ U ⬈[Rt, c, h] U2 
                                           U2 = ⓐV2.T2 & c = ((↓cV)∨cT)
                          | ∃∃cV,cW,cT,p,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[Rt, cV, h] V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓛW1⦄ ⊢ T1 ⬈[Rt, 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 â¬\88[Rt, cV, h] V & â¬\86*[1] V â\89¡ V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
+                         | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V & â¬\86*[1] V â\89\98 V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
                                                           U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2 & c = ((↓cV)∨(↓cW)∨cT)+𝟙𝟘.
 #Rt #c #h #G #L #U #U2 * -c -G -L -U -U2
 [ #I #G #L #W #U1 #H destruct
@@ -227,7 +227,7 @@ lemma cpg_inv_appl1: ∀Rt,c,h,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓐV1.U1 ⬈[Rt, c,
                                        U2 = ⓐV2.T2 & c = ((↓cV)∨cT)
                       | ∃∃cV,cW,cT,p,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[Rt, cV, h] V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓛW1⦄ ⊢ T1 ⬈[Rt, 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 â¬\88[Rt, cV, h] V & â¬\86*[1] V â\89¡ V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
+                      | â\88\83â\88\83cV,cW,cT,p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V & â¬\86*[1] V â\89\98 V2 & ⦃G, L⦄ ⊢ W1 ⬈[Rt, cW, h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[Rt, cT, h] T2 &
                                                        U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2 & c = ((↓cV)∨(↓cW)∨cT)+𝟙𝟘.
 /2 width=3 by cpg_inv_appl1_aux/ qed-.
 
@@ -265,9 +265,9 @@ lemma cpg_inv_cast1: ∀Rt,c,h,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓝV1.U1 ⬈[Rt, c,
 
 lemma cpg_inv_zero1_pair: ∀Rt,c,h,I,G,K,V1,T2. ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈[Rt, c, h] T2 →
                           ∨∨ T2 = #0 ∧ c = 𝟘𝟘
-                           | â\88\83â\88\83cV,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                           | â\88\83â\88\83cV,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       I = Abbr & c = cV
-                           | â\88\83â\88\83cV,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                           | â\88\83â\88\83cV,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[Rt, cV, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                       I = Abst & c = cV+𝟘𝟙.
 #Rt #c #h #I #G #K #V1 #T2 #H elim (cpg_inv_zero1 … H) -H /2 width=1 by or3_intro0/
 * #z #Y #X1 #X2 #HX12 #HXT2 #H1 #H2 destruct /3 width=5 by or3_intro1, or3_intro2, ex4_2_intro/
@@ -275,7 +275,7 @@ qed-.
 
 lemma cpg_inv_lref1_bind: ∀Rt,c,h,I,G,K,T2,i. ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈[Rt, c, h] T2 →
                           ∨∨ T2 = #(⫯i) ∧ c = 𝟘𝟘
-                           | â\88\83â\88\83T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89¡ T2.
+                           | â\88\83â\88\83T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[Rt, c, h] T & â¬\86*[1] T â\89\98 T2.
 #Rt #c #h #I #G #L #T2 #i #H elim (cpg_inv_lref1 … H) -H /2 width=1 by or_introl/
 * #Z #Y #T #HT #HT2 #H destruct /3 width=3 by ex2_intro, or_intror/
 qed-.
index 295cc229125f35c25126ff498229fc7e1458abb4..89a8d4132ad65e5011912cea221a416c4f396eb4 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/rt_transition/cpg.ma".
 
 (* Advanced properties ******************************************************)
 
-lemma cpg_delta_drops: â\88\80Rt,c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.ⓓV → ⦃G, K⦄ ⊢ V ⬈[Rt, c, h] V2 →
-                       â¬\86*[⫯i] V2 â\89¡ T2 →  ⦃G, L⦄ ⊢ #i ⬈[Rt, c, h] T2.
+lemma cpg_delta_drops: â\88\80Rt,c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89\98 K.ⓓV → ⦃G, K⦄ ⊢ V ⬈[Rt, c, h] V2 →
+                       â¬\86*[⫯i] V2 â\89\98 T2 →  ⦃G, L⦄ ⊢ #i ⬈[Rt, c, h] T2.
 #Rt #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: ∀Rt,c,h,G,K,V,V2,i,L,T2. ⬇*[i] L ≡ K.ⓓV → ⦃G,
 ]
 qed.
 
-lemma cpg_ell_drops: â\88\80Rt,c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89¡ K.ⓛV → ⦃G, K⦄ ⊢ V ⬈[Rt,c, h] V2 →
-                     â¬\86*[⫯i] V2 â\89¡ T2 →  ⦃G, L⦄ ⊢ #i ⬈[Rt, c+𝟘𝟙, h] T2.
+lemma cpg_ell_drops: â\88\80Rt,c,h,G,K,V,V2,i,L,T2. â¬\87*[i] L â\89\98 K.ⓛV → ⦃G, K⦄ ⊢ V ⬈[Rt,c, h] V2 →
+                     â¬\86*[⫯i] V2 â\89\98 T2 →  ⦃G, L⦄ ⊢ #i ⬈[Rt, c+𝟘𝟙, h] T2.
 #Rt #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
@@ -45,10 +45,10 @@ qed.
 
 lemma cpg_inv_lref1_drops: ∀Rt,c,h,G,i,L,T2. ⦃G, L⦄ ⊢ #i ⬈[Rt,c, h] T2 →
                            ∨∨ T2 = #i ∧ c = 𝟘𝟘
-                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.ⓓV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
-                                           â¬\86*[⫯i] V2 â\89¡ T2 & c = cV
-                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89¡ K.ⓛV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
-                                           â¬\86*[⫯i] V2 â\89¡ T2 & c = cV + 𝟘𝟙.
+                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89\98 K.ⓓV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
+                                           â¬\86*[⫯i] V2 â\89\98 T2 & c = cV
+                            | â\88\83â\88\83cV,K,V,V2. â¬\87*[i] L â\89\98 K.ⓛV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
+                                           â¬\86*[⫯i] V2 â\89\98 T2 & c = cV + 𝟘𝟙.
 #Rt #c #h #G #i elim i -i
 [ #L #T2 #H elim (cpg_inv_zero1 … H) -H * /3 width=1 by or3_intro0, conj/
   /4 width=8 by drops_refl, ex4_4_intro, or3_intro2, or3_intro1/
@@ -64,10 +64,10 @@ qed-.
 lemma cpg_inv_atom1_drops: ∀Rt,c,h,I,G,L,T2. ⦃G, L⦄ ⊢ ⓪{I} ⬈[Rt, 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.ⓓV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
-                                             â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i & c = cV
-                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89¡ K.ⓛV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
-                                             â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i & c = cV + 𝟘𝟙.
+                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89\98 K.ⓓV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
+                                             â¬\86*[⫯i] V2 â\89\98 T2 & I = LRef i & c = cV
+                            | â\88\83â\88\83cV,i,K,V,V2. â¬\87*[i] L â\89\98 K.ⓛV & ⦃G, K⦄ ⊢ V ⬈[Rt, cV, h] V2 &
+                                             â¬\86*[⫯i] V2 â\89\98 T2 & I = LRef i & c = cV + 𝟘𝟙.
 #Rt #c #h * #n #G #L #T2 #H
 [ elim (cpg_inv_sort1 … H) -H *
   /3 width=3 by or4_intro0, or4_intro1, ex3_intro, conj/
index 7af9a5730843248e9d722c97b796c2f3acb698e8..61badb90a0e9ca3cc8e71c46446f8e3cb5aaf202 100644 (file)
@@ -36,19 +36,19 @@ lemma cpm_ess: ∀h,G,L,s. ⦃G, L⦄ ⊢ ⋆s ➡[1, h] ⋆(next h s).
 /2 width=3 by cpg_ess, ex2_intro/ qed.
 
 lemma cpm_delta: ∀n,h,G,K,V1,V2,W2. ⦃G, K⦄ ⊢ V1 ➡[n, h] V2 →
-                 â¬\86*[1] V2 â\89¡ W2 → ⦃G, K.ⓓV1⦄ ⊢ #0 ➡[n, h] W2.
+                 â¬\86*[1] V2 â\89\98 W2 → ⦃G, K.ⓓV1⦄ ⊢ #0 ➡[n, h] W2.
 #n #h #G #K #V1 #V2 #W2 *
 /3 width=5 by cpg_delta, ex2_intro/
 qed.
 
 lemma cpm_ell: ∀n,h,G,K,V1,V2,W2. ⦃G, K⦄ ⊢ V1 ➡[n, h] V2 →
-               â¬\86*[1] V2 â\89¡ W2 → ⦃G, K.ⓛV1⦄ ⊢ #0 ➡[⫯n, h] W2.
+               â¬\86*[1] V2 â\89\98 W2 → ⦃G, K.ⓛV1⦄ ⊢ #0 ➡[⫯n, h] W2.
 #n #h #G #K #V1 #V2 #W2 *
 /3 width=5 by cpg_ell, ex2_intro, isrt_succ/
 qed.
 
 lemma cpm_lref: ∀n,h,I,G,K,T,U,i. ⦃G, K⦄ ⊢ #i ➡[n, h] T →
-                â¬\86*[1] T â\89¡ U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ➡[n, h] U.
+                â¬\86*[1] T â\89\98 U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ➡[n, h] U.
 #n #h #I #G #K #T #U #i *
 /3 width=5 by cpg_lref, ex2_intro/
 qed.
@@ -77,7 +77,7 @@ qed.
 
 (* Basic_2A1: includes: cpr_zeta *)
 lemma cpm_zeta: ∀n,h,G,L,V,T1,T,T2. ⦃G, L.ⓓV⦄ ⊢ T1 ➡[n, h] T →
-                â¬\86*[1] T2 â\89¡ T → ⦃G, L⦄ ⊢ +ⓓV.T1 ➡[n, h] T2.
+                â¬\86*[1] T2 â\89\98 T → ⦃G, L⦄ ⊢ +ⓓV.T1 ➡[n, h] T2.
 #n #h #G #L #V #T1 #T #T2 *
 /3 width=5 by cpg_zeta, isrt_plus_O2, ex2_intro/
 qed.
@@ -103,7 +103,7 @@ qed.
 
 (* Basic_2A1: includes: cpr_theta *)
 lemma cpm_theta: ∀n,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 → ⦃G, L⦄ ⊢ W1 ➡[h] W2 →
+                 â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V â\86\92 â¬\86*[1] V â\89\98 V2 → ⦃G, L⦄ ⊢ W1 ➡[h] W2 →
                  ⦃G, L.ⓓW1⦄ ⊢ T1 ➡[n, h] T2 →
                  ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}W1.T1 ➡[n, h] ⓓ{p}W2.ⓐV2.T2.
 #n #h #p #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 * #riV #rhV #HV1 #HV2 * #riW #rhW #HW12 *
@@ -122,11 +122,11 @@ lemma cpr_refl: ∀h,G,L. reflexive … (cpm 0 h G L).
 lemma cpm_inv_atom1: ∀n,h,J,G,L,T2. ⦃G, L⦄ ⊢ ⓪{J} ➡[n, h] T2 →
                      ∨∨ T2 = ⓪{J} ∧ n = 0
                       | ∃∃s. T2 = ⋆(next h s) & J = Sort s & n = 1
-                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[n, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[n, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                    L = K.ⓓV1 & J = LRef 0
-                      | â\88\83â\88\83k,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[k, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83k,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[k, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                      L = K.ⓛV1 & J = LRef 0 & n = ⫯k
-                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[n, h] T & â¬\86*[1] T â\89¡ T2 &
+                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[n, h] T & â¬\86*[1] T â\89\98 T2 &
                                    L = K.ⓘ{I} & J = LRef (⫯i).
 #n #h #J #G #L #T2 * #c #Hc #H elim (cpg_inv_atom1 … H) -H *
 [ #H1 #H2 destruct /4 width=1 by isrt_inv_00, or5_intro0, conj/
@@ -151,9 +151,9 @@ qed-.
 
 lemma cpm_inv_zero1: ∀n,h,G,L,T2. ⦃G, L⦄ ⊢ #0 ➡[n, h] T2 →
                      ∨∨ T2 = #0 ∧ n = 0
-                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[n, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[n, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                    L = K.ⓓV1
-                      | â\88\83â\88\83k,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[k, h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83k,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[k, h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                      L = K.ⓛV1 & n = ⫯k.
 #n #h #G #L #T2 * #c #Hc #H elim (cpg_inv_zero1 … H) -H *
 [ #H1 #H2 destruct /4 width=1 by isrt_inv_00, or3_intro0, conj/
@@ -167,7 +167,7 @@ qed-.
 
 lemma cpm_inv_lref1: ∀n,h,G,L,T2,i. ⦃G, L⦄ ⊢ #⫯i ➡[n, h] T2 →
                      ∨∨ T2 = #(⫯i) ∧ n = 0
-                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[n, h] T & â¬\86*[1] T â\89¡ T2 & L = K.ⓘ{I}.
+                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[n, h] T & â¬\86*[1] T â\89\98 T2 & L = K.ⓘ{I}.
 #n #h #G #L #T2 #i * #c #Hc #H elim (cpg_inv_lref1 … H) -H *
 [ #H1 #H2 destruct /4 width=1 by isrt_inv_00, or_introl, conj/
 | #I #K #V2 #HV2 #HVT2 #H destruct
@@ -184,7 +184,7 @@ qed-.
 lemma cpm_inv_bind1: ∀n,h,p,I,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓑ{p,I}V1.T1 ➡[n, h] U2 →
                      ∨∨ ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ➡[h] V2 & ⦃G, L.ⓑ{I}V1⦄ ⊢ T1 ➡[n, h] T2 &
                                  U2 = ⓑ{p,I}V2.T2
-                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[n, h] T & â¬\86*[1] U2 â\89¡ T &
+                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[n, h] T & â¬\86*[1] U2 â\89\98 T &
                              p = true & I = Abbr.
 #n #h #p #I #G #L #V1 #T1 #U2 * #c #Hc #H elim (cpg_inv_bind1 … H) -H *
 [ #cV #cT #V2 #T2 #HV12 #HT12 #H1 #H2 destruct
@@ -201,7 +201,7 @@ qed-.
 lemma cpm_inv_abbr1: ∀n,h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{p}V1.T1 ➡[n, h] U2 →
                      ∨∨ ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ➡[h] V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ➡[n, h] T2 &
                                  U2 = ⓓ{p}V2.T2
-                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[n, h] T & â¬\86*[1] U2 â\89¡ T & p = true.
+                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â\9e¡[n, h] T & â¬\86*[1] U2 â\89\98 T & p = true.
 #n #h #p #G #L #V1 #T1 #U2 * #c #Hc #H elim (cpg_inv_abbr1 … H) -H *
 [ #cV #cT #V2 #T2 #HV12 #HT12 #H1 #H2 destruct
   elim (isrt_inv_max … Hc) -Hc #nV #nT #HcV #HcT #H destruct
@@ -232,7 +232,7 @@ lemma cpm_inv_appl1: ∀n,h,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓐ V1.U1 ➡[n, h] U2
                       | ∃∃p,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ➡[h] V2 & ⦃G, L⦄ ⊢ W1 ➡[h] W2 &
                                             ⦃G, L.ⓛW1⦄ ⊢ T1 ➡[n, 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 & â¬\86*[1] V â\89¡ V2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V & â¬\86*[1] V â\89\98 V2 &
                                               ⦃G, L⦄ ⊢ W1 ➡[h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ➡[n, h] T2 &
                                               U1 = ⓓ{p}W1.T1 & U2 = ⓓ{p}W2.ⓐV2.T2.
 #n #h #G #L #V1 #U1 #U2 * #c #Hc #H elim (cpg_inv_appl1 … H) -H *
index 03e5a9440432ab0a2166bb4e99ade9dfd85c5f26..cafb6a0e35c9d362ce52d00bd0cef22076c7d04e 100644 (file)
@@ -22,15 +22,15 @@ include "basic_2/rt_transition/cpm.ma".
 (* Basic_1: includes: pr2_delta1 *)
 (* Basic_2A1: includes: cpr_delta *)
 lemma cpm_delta_drops: ∀n,h,G,L,K,V,V2,W2,i.
-                       â¬\87*[i] L â\89¡ K.ⓓV → ⦃G, K⦄ ⊢ V ➡[n, h] V2 →
-                       â¬\86*[⫯i] V2 â\89¡ W2 → ⦃G, L⦄ ⊢ #i ➡[n, h] W2.
+                       â¬\87*[i] L â\89\98 K.ⓓV → ⦃G, K⦄ ⊢ V ➡[n, h] V2 →
+                       â¬\86*[⫯i] V2 â\89\98 W2 → ⦃G, L⦄ ⊢ #i ➡[n, h] W2.
 #n #h #G #L #K #V #V2 #W2 #i #HLK *
 /3 width=8 by cpg_delta_drops, ex2_intro/
 qed.
 
 lemma cpm_ell_drops: ∀n,h,G,L,K,V,V2,W2,i.
-                     â¬\87*[i] L â\89¡ K.ⓛV → ⦃G, K⦄ ⊢ V ➡[n, h] V2 →
-                     â¬\86*[⫯i] V2 â\89¡ W2 → ⦃G, L⦄ ⊢ #i ➡[⫯n, h] W2.
+                     â¬\87*[i] L â\89\98 K.ⓛV → ⦃G, K⦄ ⊢ V ➡[n, h] V2 →
+                     â¬\86*[⫯i] V2 â\89\98 W2 → ⦃G, L⦄ ⊢ #i ➡[⫯n, h] W2.
 #n #h #G #L #K #V #V2 #W2 #i #HLK *
 /3 width=8 by cpg_ell_drops, isrt_succ, ex2_intro/
 qed.
@@ -40,10 +40,10 @@ qed.
 lemma cpm_inv_atom1_drops: ∀n,h,I,G,L,T2. ⦃G, L⦄ ⊢ ⓪{I} ➡[n, h] T2 →
                            ∨∨ T2 = ⓪{I} ∧ n = 0
                             | ∃∃s. T2 = ⋆(next h s) & I = Sort s & n = 1
-                            | â\88\83â\88\83K,V,V2,i. â¬\87*[i] L â\89¡ K.ⓓV & ⦃G, K⦄ ⊢ V ➡[n, h] V2 &
-                                          â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i
-                            | â\88\83â\88\83m,K,V,V2,i. â¬\87*[i] L â\89¡ K.ⓛV & ⦃G, K⦄ ⊢ V ➡[m, h] V2 &
-                                            â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i & n = ⫯m.
+                            | â\88\83â\88\83K,V,V2,i. â¬\87*[i] L â\89\98 K.ⓓV & ⦃G, K⦄ ⊢ V ➡[n, h] V2 &
+                                          â¬\86*[⫯i] V2 â\89\98 T2 & I = LRef i
+                            | â\88\83â\88\83m,K,V,V2,i. â¬\87*[i] L â\89\98 K.ⓛV & ⦃G, K⦄ ⊢ V ➡[m, h] V2 &
+                                            â¬\86*[⫯i] V2 â\89\98 T2 & I = LRef i & n = ⫯m.
 #n #h #I #G #L #T2 * #c #Hc #H elim (cpg_inv_atom1_drops … H) -H *
 [ #H1 #H2 destruct lapply (isrt_inv_00 … Hc) -Hc
   /3 width=1 by or4_intro0, conj/
@@ -59,10 +59,10 @@ qed-.
 
 lemma cpm_inv_lref1_drops: ∀n,h,G,L,T2,i. ⦃G, L⦄ ⊢ #i ➡[n, h] T2 →
                            ∨∨ T2 = #i ∧ n = 0
-                            | â\88\83â\88\83K,V,V2. â¬\87*[i] L â\89¡ K.ⓓV & ⦃G, K⦄ ⊢ V ➡[n, h] V2 &
-                                        â¬\86*[⫯i] V2 â\89¡ T2
-                            | â\88\83â\88\83m,K,V,V2. â¬\87*[i] L â\89¡ K. ⓛV & ⦃G, K⦄ ⊢ V ➡[m, h] V2 &
-                                          â¬\86*[⫯i] V2 â\89¡ T2 & n = ⫯m.
+                            | â\88\83â\88\83K,V,V2. â¬\87*[i] L â\89\98 K.ⓓV & ⦃G, K⦄ ⊢ V ➡[n, h] V2 &
+                                        â¬\86*[⫯i] V2 â\89\98 T2
+                            | â\88\83â\88\83m,K,V,V2. â¬\87*[i] L â\89\98 K. ⓛV & ⦃G, K⦄ ⊢ V ➡[m, h] V2 &
+                                          â¬\86*[⫯i] V2 â\89\98 T2 & n = ⫯m.
 #n #h #G #L #T2 #i * #c #Hc #H elim (cpg_inv_lref1_drops … H) -H *
 [ #H1 #H2 destruct lapply (isrt_inv_00 … Hc) -Hc
   /3 width=1 by or3_intro0, conj/
index fd5163073baa4891db4e5c0d4a6adca55f699335..30fc36b5959b55dd3b8f16d9893df3b171ababb2 100644 (file)
@@ -36,9 +36,9 @@ qed.
 
 lemma cpr_inv_atom1: ∀h,J,G,L,T2. ⦃G, L⦄ ⊢ ⓪{J} ➡[h] T2 →
                      ∨∨ T2 = ⓪{J}
-                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                    L = K.ⓓV1 & J = LRef 0
-                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & â¬\86*[1] T â\89¡ T2 &
+                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & â¬\86*[1] T â\89\98 T2 &
                                    L = K.ⓘ{I} & J = LRef (⫯i).
 #h #J #G #L #T2 #H elim (cpm_inv_atom1 … H) -H *
 /3 width=8 by tri_lt, or3_intro0, or3_intro1, or3_intro2, ex4_4_intro, ex4_3_intro/
@@ -52,7 +52,7 @@ qed-.
 
 lemma cpr_inv_zero1: ∀h,G,L,T2. ⦃G, L⦄ ⊢ #0 ➡[h] T2 →
                      ∨∨ T2 = #0
-                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â\9e¡[h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                    L = K.ⓓV1.
 #h #G #L #T2 #H elim (cpm_inv_zero1 … H) -H *
 /3 width=6 by ex3_3_intro, or_introl, or_intror/
@@ -61,7 +61,7 @@ qed-.
 
 lemma cpr_inv_lref1: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #⫯i ➡[h] T2 →
                      ∨∨ T2 = #(⫯i)
-                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & â¬\86*[1] T â\89¡ T2 & L = K.ⓘ{I}.
+                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â\9e¡[h] T & â¬\86*[1] T â\89\98 T2 & L = K.ⓘ{I}.
 #h #G #L #T2 #i #H elim (cpm_inv_lref1 … H) -H *
 /3 width=6 by ex3_3_intro, or_introl, or_intror/
 qed-.
@@ -86,7 +86,7 @@ lemma cpr_inv_flat1: ∀h,I,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓕ{I}V1.U1 ➡[h] U2 
                       | ∃∃p,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ➡[h] V2 & ⦃G, L⦄ ⊢ W1 ➡[h] W2 &
                                             ⦃G, L.ⓛW1⦄ ⊢ T1 ➡[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 & â¬\86*[1] V â\89¡ V2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â\9e¡[h] V & â¬\86*[1] V â\89\98 V2 &
                                               ⦃G, L⦄ ⊢ W1 ➡[h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ➡[h] T2 &
                                               U1 = ⓓ{p}W1.T1 &
                                               U2 = ⓓ{p}W2.ⓐV2.T2 & I = Appl.
index 714ce2f458f4b5325faf3952d21e3dbbb8f28fde..30d274be3ae4504008353bc1a62a0f29b84fe8f9 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/rt_transition/cpm_drops.ma".
 (* Basic_2A1: includes: cpr_inv_atom1 *)
 lemma cpr_inv_atom1_drops: ∀h,I,G,L,T2. ⦃G, L⦄ ⊢ ⓪{I} ➡[h] T2 →
                            ∨∨ T2 = ⓪{I}
-                            | â\88\83â\88\83K,V,V2,i. â¬\87*[i] L â\89¡ K.ⓓV & ⦃G, K⦄ ⊢ V ➡[h] V2 &
-                                          â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i.
+                            | â\88\83â\88\83K,V,V2,i. â¬\87*[i] L â\89\98 K.ⓓV & ⦃G, K⦄ ⊢ V ➡[h] V2 &
+                                          â¬\86*[⫯i] V2 â\89\98 T2 & I = LRef i.
 #h #I #G #L #T2 #H elim (cpm_inv_atom1_drops … H) -H *
 [ /2 width=1 by or_introl/
 | #s #_ #_ #H destruct
@@ -35,8 +35,8 @@ qed-.
 (* Basic_2A1: includes: cpr_inv_lref1 *)
 lemma cpr_inv_lref1_drops: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #i ➡[h] T2 →
                            ∨∨ T2 = #i
-                            | â\88\83â\88\83K,V,V2. â¬\87*[i] L â\89¡ K. ⓓV & ⦃G, K⦄ ⊢ V ➡[h] V2 &
-                                        â¬\86*[⫯i] V2 â\89¡ T2.
+                            | â\88\83â\88\83K,V,V2. â¬\87*[i] L â\89\98 K. ⓓV & ⦃G, K⦄ ⊢ V ➡[h] V2 &
+                                        â¬\86*[⫯i] V2 â\89\98 T2.
 #h #G #L #T2 #i #H elim (cpm_inv_lref1_drops … H) -H *
 [ /2 width=1 by or_introl/
 | /3 width=6 by ex3_3_intro, or_intror/
index c0bb4856e58298cd5181aaa72c86041f8c2121e7..3df213a4f450b8a6cf39161d8f5a78ad6f977aff 100644 (file)
@@ -31,13 +31,13 @@ lemma cpx_ess: ∀h,G,L,s. ⦃G, L⦄ ⊢ ⋆s ⬈[h] ⋆(next h s).
 /2 width=2 by cpg_ess, ex_intro/ qed.
 
 lemma cpx_delta: ∀h,I,G,K,V1,V2,W2. ⦃G, K⦄ ⊢ V1 ⬈[h] V2 →
-                 â¬\86*[1] V2 â\89¡ W2 → ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈[h] W2.
+                 â¬\86*[1] V2 â\89\98 W2 → ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈[h] W2.
 #h * #G #K #V1 #V2 #W2 *
 /3 width=4 by cpg_delta, cpg_ell, ex_intro/
 qed.
 
 lemma cpx_lref: ∀h,I,G,K,T,U,i. ⦃G, K⦄ ⊢ #i ⬈[h] T →
-                â¬\86*[1] T â\89¡ U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈[h] U.
+                â¬\86*[1] T â\89\98 U → ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈[h] U.
 #h #I #G #K #T #U #i *
 /3 width=4 by cpg_lref, ex_intro/
 qed.
@@ -57,7 +57,7 @@ lemma cpx_flat: ∀h,I,G,L,V1,V2,T1,T2.
 qed.
 
 lemma cpx_zeta: ∀h,G,L,V,T1,T,T2. ⦃G, L.ⓓV⦄ ⊢ T1 ⬈[h] T →
-                â¬\86*[1] T2 â\89¡ T → ⦃G, L⦄ ⊢ +ⓓV.T1 ⬈[h] T2.
+                â¬\86*[1] T2 â\89\98 T → ⦃G, L⦄ ⊢ +ⓓV.T1 ⬈[h] T2.
 #h #G #L #V #T1 #T #T2 *
 /3 width=4 by cpg_zeta, ex_intro/
 qed.
@@ -81,7 +81,7 @@ lemma cpx_beta: ∀h,p,G,L,V1,V2,W1,W2,T1,T2.
 qed.
 
 lemma cpx_theta: ∀h,p,G,L,V1,V,V2,W1,W2,T1,T2.
-                 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89¡ V2 → ⦃G, L⦄ ⊢ W1 ⬈[h] W2 →
+                 â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V â\86\92 â¬\86*[1] V â\89\98 V2 → ⦃G, L⦄ ⊢ W1 ⬈[h] W2 →
                  ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[h] T2 →
                  ⦃G, L⦄ ⊢ ⓐV1.ⓓ{p}W1.T1 ⬈[h] ⓓ{p}W2.ⓐV2.T2.
 #h #p #G #L #V1 #V #V2 #W1 #W2 #T1 #T2 * #cV #HV1 #HV2 * #cW #HW12 * 
@@ -104,9 +104,9 @@ qed.
 lemma cpx_inv_atom1: ∀h,J,G,L,T2. ⦃G, L⦄ ⊢ ⓪{J} ⬈[h] T2 →
                      ∨∨ T2 = ⓪{J}
                       | ∃∃s. T2 = ⋆(next h s) & J = Sort s
-                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89\98 T2 &
                                      L = K.ⓑ{I}V1 & J = LRef 0
-                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89¡ T2 &
+                      | â\88\83â\88\83I,K,T,i. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89\98 T2 &
                                    L = K.ⓘ{I} & J = LRef (⫯i).
 #h #J #G #L #T2 * #c #H elim (cpg_inv_atom1 … H) -H *
 /4 width=8 by or4_intro0, or4_intro1, or4_intro2, or4_intro3, ex4_4_intro, ex2_intro, ex_intro/
@@ -120,7 +120,7 @@ qed-.
 
 lemma cpx_inv_zero1: ∀h,G,L,T2. ⦃G, L⦄ ⊢ #0 ⬈[h] T2 →
                      ∨∨ T2 = #0
-                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89¡ T2 &
+                      | â\88\83â\88\83I,K,V1,V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89\98 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/
@@ -128,7 +128,7 @@ qed-.
 
 lemma cpx_inv_lref1: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #⫯i ⬈[h] T2 →
                      ∨∨ T2 = #(⫯i)
-                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89¡ T2 & L = K.ⓘ{I}.
+                      | â\88\83â\88\83I,K,T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89\98 T2 & L = K.ⓘ{I}.
 #h #G #L #T2 #i * #c #H elim (cpg_inv_lref1 … H) -H *
 /4 width=6 by ex3_3_intro, ex_intro, or_introl, or_intror/
 qed-.
@@ -140,7 +140,7 @@ qed-.
 lemma cpx_inv_bind1: ∀h,p,I,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓑ{p,I}V1.T1 ⬈[h] U2 →
                      ∨∨ ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 & ⦃G, L.ⓑ{I}V1⦄ ⊢ T1 ⬈[h] T2 &
                                  U2 = ⓑ{p,I}V2.T2
-                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & â¬\86*[1] U2 â\89¡ T &
+                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & â¬\86*[1] U2 â\89\98 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/
@@ -149,7 +149,7 @@ qed-.
 lemma cpx_inv_abbr1: ∀h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{p}V1.T1 ⬈[h] U2 →
                      ∨∨ ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈[h] T2 &
                                  U2 = ⓓ{p}V2.T2
-                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & â¬\86*[1] U2 â\89¡ T & p = true.
+                      | â\88\83â\88\83T. â¦\83G, L.â\93\93V1â¦\84 â\8a¢ T1 â¬\88[h] T & â¬\86*[1] U2 â\89\98 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-.
@@ -167,7 +167,7 @@ lemma cpx_inv_appl1: ∀h,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓐ V1.U1 ⬈[h] U2 →
                       | ∃∃p,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 & ⦃G, L⦄ ⊢ W1 ⬈[h] W2 &
                                             ⦃G, L.ⓛW1⦄ ⊢ T1 ⬈[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 â¬\88[h] V & â¬\86*[1] V â\89¡ V2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V & â¬\86*[1] V â\89\98 V2 &
                                               ⦃G, L⦄ ⊢ W1 ⬈[h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[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 *
@@ -187,14 +187,14 @@ qed-.
 
 lemma cpx_inv_zero1_pair: ∀h,I,G,K,V1,T2. ⦃G, K.ⓑ{I}V1⦄ ⊢ #0 ⬈[h] T2 →
                           ∨∨ T2 = #0
-                           | â\88\83â\88\83V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89¡ T2.
+                           | â\88\83â\88\83V2. â¦\83G, Kâ¦\84 â\8a¢ V1 â¬\88[h] V2 & â¬\86*[1] V2 â\89\98 T2.
 #h #I #G #L #V1 #T2 * #c #H elim (cpg_inv_zero1_pair … H) -H *
 /4 width=3 by ex2_intro, ex_intro, or_intror, or_introl/
 qed-.
 
 lemma cpx_inv_lref1_bind: ∀h,I,G,K,T2,i. ⦃G, K.ⓘ{I}⦄ ⊢ #⫯i ⬈[h] T2 →
                           ∨∨ T2 = #(⫯i)
-                           | â\88\83â\88\83T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89¡ T2.
+                           | â\88\83â\88\83T. â¦\83G, Kâ¦\84 â\8a¢ #i â¬\88[h] T & â¬\86*[1] T â\89\98 T2.
 #h #I #G #L #T2 #i * #c #H elim (cpg_inv_lref1_bind … H) -H *
 /4 width=3 by ex2_intro, ex_intro, or_introl, or_intror/
 qed-.
@@ -208,7 +208,7 @@ lemma cpx_inv_flat1: ∀h,I,G,L,V1,U1,U2. ⦃G, L⦄ ⊢ ⓕ{I}V1.U1 ⬈[h] U2 
                                             ⦃G, L.ⓛW1⦄ ⊢ T1 ⬈[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 â¬\88[h] V & â¬\86*[1] V â\89¡ V2 &
+                      | â\88\83â\88\83p,V,V2,W1,W2,T1,T2. â¦\83G, Lâ¦\84 â\8a¢ V1 â¬\88[h] V & â¬\86*[1] V â\89\98 V2 &
                                               ⦃G, L⦄ ⊢ W1 ⬈[h] W2 & ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[h] T2 &
                                               U1 = ⓓ{p}W1.T1 &
                                               U2 = ⓓ{p}W2.ⓐV2.T2 & I = Appl.
@@ -235,15 +235,15 @@ lemma cpx_ind: ∀h. ∀R:relation4 genv lenv term term.
                (∀I,G,L. R G L (⓪{I}) (⓪{I})) →
                (∀G,L,s. R G L (⋆s) (⋆(next h s))) →
                (∀I,G,K,V1,V2,W2. ⦃G, K⦄ ⊢ V1 ⬈[h] V2 → R G K V1 V2 →
-                 â¬\86*[1] V2 â\89¡ W2 → R G (K.ⓑ{I}V1) (#0) W2
+                 â¬\86*[1] V2 â\89\98 W2 → R G (K.ⓑ{I}V1) (#0) W2
                ) → (∀I,G,K,T,U,i. ⦃G, K⦄ ⊢ #i ⬈[h] T → R G K (#i) T →
-                 â¬\86*[1] T â\89¡ U → R G (K.ⓘ{I}) (#⫯i) (U)
+                 â¬\86*[1] T â\89\98 U → R G (K.ⓘ{I}) (#⫯i) (U)
                ) → (∀p,I,G,L,V1,V2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 → ⦃G, L.ⓑ{I}V1⦄ ⊢ T1 ⬈[h] T2 →
                   R G L V1 V2 → R G (L.ⓑ{I}V1) T1 T2 → R G L (ⓑ{p,I}V1.T1) (ⓑ{p,I}V2.T2)
                ) → (∀I,G,L,V1,V2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 → ⦃G, L⦄ ⊢ T1 ⬈[h] T2 →
                   R G L V1 V2 → R G L T1 T2 → R G L (ⓕ{I}V1.T1) (ⓕ{I}V2.T2)
                ) → (∀G,L,V,T1,T,T2. ⦃G, L.ⓓV⦄ ⊢ T1 ⬈[h] T → R G (L.ⓓV) T1 T →
-                  â¬\86*[1] T2 â\89¡ T → R G L (+ⓓV.T1) T2
+                  â¬\86*[1] T2 â\89\98 T → R G L (+ⓓV.T1) T2
                ) → (∀G,L,V,T1,T2. ⦃G, L⦄ ⊢ T1 ⬈[h] T2 → R G L T1 T2 →
                   R G L (ⓝV.T1) T2
                ) → (∀G,L,V1,V2,T. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 → R G L V1 V2 →
@@ -253,7 +253,7 @@ lemma cpx_ind: ∀h. ∀R:relation4 genv lenv term term.
                   R G L (ⓐV1.ⓛ{p}W1.T1) (ⓓ{p}ⓝW2.V2.T2)
                ) → (∀p,G,L,V1,V,V2,W1,W2,T1,T2. ⦃G, L⦄ ⊢ V1 ⬈[h] V → ⦃G, L⦄ ⊢ W1 ⬈[h] W2 → ⦃G, L.ⓓW1⦄ ⊢ T1 ⬈[h] T2 →
                   R G L V1 V → R G L W1 W2 → R G (L.ⓓW1) T1 T2 →
-                  â¬\86*[1] V â\89¡ V2 → R G L (ⓐV1.ⓓ{p}W1.T1) (ⓓ{p}W2.ⓐV2.T2)
+                  â¬\86*[1] V â\89\98 V2 → R G L (ⓐV1.ⓓ{p}W1.T1) (ⓓ{p}W2.ⓐV2.T2)
                ) →
                ∀G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ⬈[h] T2 → R G L T1 T2.
 #h #R #IH1 #IH2 #IH3 #IH4 #IH5 #IH6 #IH7 #IH8 #IH9 #IH10 #IH11 #G #L #T1 #T2
index 0c319c2ea5ed00768cdd47784d673bdb29996c0c..78f28e9b1aab6f103c2c21759275782af2fbb143 100644 (file)
@@ -21,8 +21,8 @@ include "basic_2/rt_transition/cpx.ma".
 
 (* Basic_2A1: was: cpx_delta *)
 lemma cpx_delta_drops: ∀h,I,G,L,K,V,V2,W2,i.
-                       â¬\87*[i] L â\89¡ K.ⓑ{I}V → ⦃G, K⦄ ⊢ V ⬈[h] V2 →
-                       â¬\86*[⫯i] V2 â\89¡ W2 → ⦃G, L⦄ ⊢ #i ⬈[h] W2.
+                       â¬\87*[i] L â\89\98 K.ⓑ{I}V → ⦃G, K⦄ ⊢ V ⬈[h] V2 →
+                       â¬\86*[⫯i] V2 â\89\98 W2 → ⦃G, L⦄ ⊢ #i ⬈[h] W2.
 #h * #G #L #K #V #V2 #W2 #i #HLK *
 /3 width=7 by cpg_ell_drops, cpg_delta_drops, ex_intro/
 qed.
@@ -33,8 +33,8 @@ qed.
 lemma cpx_inv_atom1_drops: ∀h,I,G,L,T2. ⦃G, L⦄ ⊢ ⓪{I} ⬈[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.ⓑ{J}V & ⦃G, K⦄ ⊢ V ⬈[h] V2 &
-                                            â¬\86*[⫯i] V2 â\89¡ T2 & I = LRef i.
+                            | â\88\83â\88\83J,K,V,V2,i. â¬\87*[i] L â\89\98 K.ⓑ{J}V & ⦃G, K⦄ ⊢ V ⬈[h] V2 &
+                                            â¬\86*[⫯i] V2 â\89\98 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-.
@@ -42,8 +42,8 @@ qed-.
 (* Basic_2A1: was: cpx_inv_lref1 *)
 lemma cpx_inv_lref1_drops: ∀h,G,L,T2,i. ⦃G, L⦄ ⊢ #i ⬈[h] T2 →
                            T2 = #i ∨
-                           â\88\83â\88\83J,K,V,V2. â¬\87*[i] L â\89¡ K. ⓑ{J}V & ⦃G, K⦄ ⊢ V ⬈[h] V2 &
-                                       â¬\86*[⫯i] V2 â\89¡ T2.
+                           â\88\83â\88\83J,K,V,V2. â¬\87*[i] L â\89\98 K. ⓑ{J}V & ⦃G, K⦄ ⊢ V ⬈[h] V2 &
+                                       â¬\86*[⫯i] V2 â\89\98 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/
 qed-.
index 479953550b5c2fb2e8b3b248fdd0081e35b14eb4..441377d0d65d89f135816b11880aa704d1a7a6a7 100644 (file)
@@ -49,7 +49,7 @@ qed-.
 (*
 (* Basic_2A1: was: cpx_lleq_conf *)
 lemma cpx_lfeq_conf: ∀h,G,L2,T1,T2. ⦃G, L2⦄ ⊢ T1 ⬈[h] T2 →
-                     â\88\80L1. L2 â\89¡[T1] L1 → ⦃G, L1⦄ ⊢ T1 ⬈[h] T2.
+                     â\88\80L1. L2 â\89\98[T1] L1 → ⦃G, L1⦄ ⊢ T1 ⬈[h] T2.
 /3 width=3 by lfeq_cpx_trans, lfeq_sym/ qed-.
 *)
 (* Basic_2A1: was: cpx_lleq_conf_sn *)
@@ -58,6 +58,6 @@ lemma cpx_lfeq_conf_sn: ∀h,G. s_r_confluent1 … (cpx h G) lfeq.
 (*
 (* Basic_2A1: was: cpx_lleq_conf_dx *)
 lemma cpx_lfeq_conf_dx: ∀h,G,L2,T1,T2. ⦃G, L2⦄ ⊢ T1 ⬈[h] T2 →
-                        â\88\80L1. L1 â\89¡[T1] L2 â\86\92 L1 â\89¡[T2] L2.
+                        â\88\80L1. L1 â\89\98[T1] L2 â\86\92 L1 â\89\98[T2] L2.
 /4 width=6 by cpx_lfeq_conf_sn, lfeq_sym/ qed-.
 *)
\ No newline at end of file
index 4b531bf74c86e1841f7756a29753be6f2d1fb1e2..23920056816c7a04425ff73d0bdc8cb1db7f2eb3 100644 (file)
@@ -34,10 +34,10 @@ lemma lfpr_drops_conf: ∀h,G. dropable_sn (cpm 0 h G).
 lemma lfpr_drops_trans: ∀h,G. dropable_dx (cpm 0 h G).
 /2 width=5 by lfxs_dropable_dx/ qed-.
 
-lemma lfpr_inv_lref_pair_sn: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â\9e¡[h, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 →
-                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2.
+lemma lfpr_inv_lref_pair_sn: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â\9e¡[h, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 →
+                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2.
 /2 width=3 by lfxs_inv_lref_pair_sn/ qed-.
 
-lemma lfpr_inv_lref_pair_dx: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â\9e¡[h, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 →
-                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2.
+lemma lfpr_inv_lref_pair_dx: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â\9e¡[h, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 →
+                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 & ⦃G, K1⦄ ⊢ ➡[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ➡[h] V2.
 /2 width=3 by lfxs_inv_lref_pair_dx/ qed-.
index 976060440851356132f238931953eedc40e5460f..2e0e4aa7aef74f6b9ffee10ee5781e9c3bd63802 100644 (file)
@@ -34,8 +34,8 @@ fact cpr_conf_lfpr_atom_delta:
       ∀L1. ⦃G, L⦄ ⊢ ➡[h, T] L1 → ∀L2. ⦃G, L⦄ ⊢ ➡[h, T] L2 →
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
-   â\88\80K0,V0. â¬\87*[i] L0 â\89¡ K0.ⓓV0 →
-   â\88\80V2. â¦\83G, K0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80T2. â¬\86*[⫯i] V2 â\89¡ T2 →
+   â\88\80K0,V0. â¬\87*[i] L0 â\89\98 K0.ⓓV0 →
+   â\88\80V2. â¦\83G, K0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80T2. â¬\86*[⫯i] V2 â\89\98 T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, #i] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, #i] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ #i ➡[h] T & ⦃G, L2⦄ ⊢ T2 ➡[h] T.
 #h #G #L0 #i #IH #K0 #V0 #HLK0 #V2 #HV02 #T2 #HVT2 #L1 #HL01 #L2 #HL02
@@ -56,10 +56,10 @@ fact cpr_conf_lfpr_delta_delta:
       ∀L1. ⦃G, L⦄ ⊢ ➡[h, T] L1 → ∀L2. ⦃G, L⦄ ⊢ ➡[h, T] L2 →
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
-   â\88\80K0,V0. â¬\87*[i] L0 â\89¡ K0.ⓓV0 →
-   â\88\80V1. â¦\83G, K0â¦\84 â\8a¢ V0 â\9e¡[h] V1 â\86\92 â\88\80T1. â¬\86*[⫯i] V1 â\89¡ T1 →
-   â\88\80KX,VX. â¬\87*[i] L0 â\89¡ KX.ⓓVX →
-   â\88\80V2. â¦\83G, KXâ¦\84 â\8a¢ VX â\9e¡[h] V2 â\86\92 â\88\80T2. â¬\86*[⫯i] V2 â\89¡ T2 →
+   â\88\80K0,V0. â¬\87*[i] L0 â\89\98 K0.ⓓV0 →
+   â\88\80V1. â¦\83G, K0â¦\84 â\8a¢ V0 â\9e¡[h] V1 â\86\92 â\88\80T1. â¬\86*[⫯i] V1 â\89\98 T1 →
+   â\88\80KX,VX. â¬\87*[i] L0 â\89\98 KX.ⓓVX →
+   â\88\80V2. â¦\83G, KXâ¦\84 â\8a¢ VX â\9e¡[h] V2 â\86\92 â\88\80T2. â¬\86*[⫯i] V2 â\89\98 T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, #i] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, #i] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ T1 ➡[h] T & ⦃G, L2⦄ ⊢ T2 ➡[h] T.
 #h #G #L0 #i #IH #K0 #V0 #HLK0 #V1 #HV01 #T1 #HVT1
@@ -105,7 +105,7 @@ fact cpr_conf_lfpr_bind_zeta:
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
    ∀V1. ⦃G, L0⦄ ⊢ V0 ➡[h] V1 → ∀T1. ⦃G, L0.ⓓV0⦄ ⊢ T0 ➡[h] T1 →
-   â\88\80T2. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T2 â\86\92 â\88\80X2. â¬\86*[1] X2 â\89¡ T2 →
+   â\88\80T2. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T2 â\86\92 â\88\80X2. â¬\86*[1] X2 â\89\98 T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, +ⓓV0.T0] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, +ⓓV0.T0] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ +ⓓV1.T1 ➡[h] T & ⦃G, L2⦄ ⊢ X2 ➡[h] T.
 #h #G #L0 #V0 #T0 #IH #V1 #HV01 #T1 #HT01
@@ -124,8 +124,8 @@ fact cpr_conf_lfpr_zeta_zeta:
       ∀L1. ⦃G, L⦄ ⊢ ➡[h, T] L1 → ∀L2. ⦃G, L⦄ ⊢ ➡[h, T] L2 →
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
-   â\88\80T1. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T1 â\86\92 â\88\80X1. â¬\86*[1] X1 â\89¡ T1 →
-   â\88\80T2. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T2 â\86\92 â\88\80X2. â¬\86*[1] X2 â\89¡ T2 →
+   â\88\80T1. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T1 â\86\92 â\88\80X1. â¬\86*[1] X1 â\89\98 T1 →
+   â\88\80T2. â¦\83G, L0.â\93\93V0â¦\84 â\8a¢ T0 â\9e¡[h] T2 â\86\92 â\88\80X2. â¬\86*[1] X2 â\89\98 T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, +ⓓV0.T0] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, +ⓓV0.T0] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ X1 ➡[h] T & ⦃G, L2⦄ ⊢ X2 ➡[h] T.
 #h #G #L0 #V0 #T0 #IH #T1 #HT01 #X1 #HXT1
@@ -224,7 +224,7 @@ fact cpr_conf_lfpr_flat_theta:
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
    ∀V1. ⦃G, L0⦄ ⊢ V0 ➡[h] V1 → ∀T1. ⦃G, L0⦄ ⊢ ⓓ{p}W0.T0 ➡[h] T1 →
-   â\88\80V2. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80U2. â¬\86*[1] V2 â\89¡ U2 →
+   â\88\80V2. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80U2. â¬\86*[1] V2 â\89\98 U2 →
    ∀W2. ⦃G, L0⦄ ⊢ W0 ➡[h] W2 → ∀T2. ⦃G, L0.ⓓW0⦄ ⊢ T0 ➡[h] T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, ⓐV0.ⓓ{p}W0.T0] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, ⓐV0.ⓓ{p}W0.T0] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ ⓐV1.T1 ➡[h] T & ⦃G, L2⦄ ⊢ ⓓ{p}W2.ⓐU2.T2 ➡[h] T.
@@ -281,9 +281,9 @@ fact cpr_conf_lfpr_theta_theta:
       ∀L1. ⦃G, L⦄ ⊢ ➡[h, T] L1 → ∀L2. ⦃G, L⦄ ⊢ ➡[h, T] L2 →
       ∃∃T0. ⦃G, L1⦄ ⊢ T1 ➡[h] T0 & ⦃G, L2⦄ ⊢ T2 ➡[h] T0
    ) →
-   â\88\80V1. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V1 â\86\92 â\88\80U1. â¬\86*[1] V1 â\89¡ U1 →
+   â\88\80V1. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V1 â\86\92 â\88\80U1. â¬\86*[1] V1 â\89\98 U1 →
    ∀W1. ⦃G, L0⦄ ⊢ W0 ➡[h] W1 → ∀T1. ⦃G, L0.ⓓW0⦄ ⊢ T0 ➡[h] T1 →
-   â\88\80V2. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80U2. â¬\86*[1] V2 â\89¡ U2 →
+   â\88\80V2. â¦\83G, L0â¦\84 â\8a¢ V0 â\9e¡[h] V2 â\86\92 â\88\80U2. â¬\86*[1] V2 â\89\98 U2 →
    ∀W2. ⦃G, L0⦄ ⊢ W0 ➡[h] W2 → ∀T2. ⦃G, L0.ⓓW0⦄ ⊢ T0 ➡[h] T2 →
    ∀L1. ⦃G, L0⦄ ⊢ ➡[h, ⓐV0.ⓓ{p}W0.T0] L1 → ∀L2. ⦃G, L0⦄ ⊢ ➡[h, ⓐV0.ⓓ{p}W0.T0] L2 →
    ∃∃T. ⦃G, L1⦄ ⊢ ⓓ{p}W1.ⓐU1.T1 ➡[h] T & ⦃G, L2⦄ ⊢ ⓓ{p}W2.ⓐU2.T2 ➡[h] T.
index 8ae0af6af4526c695809a499109e8a6322ba84a1..94ed9d8bf7212b6dcfeda9a830ba838eb9c41e38 100644 (file)
@@ -34,10 +34,10 @@ lemma lfpx_drops_conf: ∀h,G. dropable_sn (cpx h G).
 lemma lfpx_drops_trans: ∀h,G. dropable_dx (cpx h G).
 /2 width=5 by lfxs_dropable_dx/ qed-.
 
-lemma lfpx_inv_lref_pair_sn: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 →
-                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 & ⦃G, K1⦄ ⊢ ⬈[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ⬈[h] V2.
+lemma lfpx_inv_lref_pair_sn: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 →
+                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 & ⦃G, K1⦄ ⊢ ⬈[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ⬈[h] V2.
 /2 width=3 by lfxs_inv_lref_pair_sn/ qed-.
 
-lemma lfpx_inv_lref_pair_dx: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 →
-                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 & ⦃G, K1⦄ ⊢ ⬈[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ⬈[h] V2.
+lemma lfpx_inv_lref_pair_dx: â\88\80h,G,L1,L2,i. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 →
+                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 & ⦃G, K1⦄ ⊢ ⬈[h, V1] K2 & ⦃G, K1⦄ ⊢ V1 ⬈[h] V2.
 /2 width=3 by lfxs_inv_lref_pair_dx/ qed-.
index a616027336b4306029108d72855f7b7effa4de02..034ce9c7e938a8ab52a423c20cff19fa459bfe12 100644 (file)
@@ -26,5 +26,5 @@ lemma lfpx_lpx: ∀h,G,L1,L2,T. ⦃G, L1⦄ ⊢ ⬈[h] L2 → ⦃G, L1⦄ ⊢ 
 (* Inversion lemmas with uncounted parallel rt-transition for local envs ****)
 
 lemma lfpx_inv_lpx_lfeq: ∀h,G,L1,L2,T. ⦃G, L1⦄ ⊢ ⬈[h, T] L2 →
-                         â\88\83â\88\83L. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h] L & L â\89\90[T] L2.
+                         â\88\83â\88\83L. â¦\83G, L1â¦\84 â\8a¢ â¬\88[h] L & L â\89¡[T] L2.
 /3 width=3 by lfpx_fsge_comp, lfxs_inv_lex_lfeq/ qed-.
index f669ff80e2ad3c30d2740678edfd12905a709ff1..fbcca9516abb818b14cc447f703524476bb8c6e1 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/s_computation/fqup.ma".
 
 (* Properties with generic slicing for local environments *******************)
 
-lemma fqup_drops_succ: â\88\80b,G,K,T,i,L,U. â¬\87*[⫯i] L â\89¡ K â\86\92 â¬\86*[⫯i] T â\89¡ U →
+lemma fqup_drops_succ: â\88\80b,G,K,T,i,L,U. â¬\87*[⫯i] L â\89\98 K â\86\92 â¬\86*[⫯i] T â\89\98 U →
                        ⦃G, L, U⦄ ⊐+[b] ⦃G, K, T⦄.
 #b #G #K #T #i elim i -i
 [ #L #U #HLK #HTU elim (drops_inv_succ … HLK) -HLK
@@ -32,7 +32,7 @@ lemma fqup_drops_succ: ∀b,G,K,T,i,L,U. ⬇*[⫯i] L ≡ K → ⬆*[⫯i] T ≡
 ]
 qed.
 
-lemma fqup_drops_strap1: â\88\80b,G1,G2,L1,K1,K2,T1,T2,U1,i. â¬\87*[i] L1 â\89¡ K1 â\86\92 â¬\86*[i] T1 â\89¡ U1 →
+lemma fqup_drops_strap1: â\88\80b,G1,G2,L1,K1,K2,T1,T2,U1,i. â¬\87*[i] L1 â\89\98 K1 â\86\92 â¬\86*[i] T1 â\89\98 U1 →
                          ⦃G1, K1, T1⦄ ⊐[b] ⦃G2, K2, T2⦄ → ⦃G1, L1, U1⦄ ⊐+[b] ⦃G2, K2, T2⦄.
 #b #G1 #G2 #L1 #K1 #K2 #T1 #T2 #U1 *
 [ #HLK1 #HTU1 #HT12
@@ -42,5 +42,5 @@ lemma fqup_drops_strap1: ∀b,G1,G2,L1,K1,K2,T1,T2,U1,i. ⬇*[i] L1 ≡ K1 → 
 ]
 qed-.
 
-lemma fqup_lref: â\88\80b,I,G,L,K,V,i. â¬\87*[i] L â\89¡ K.ⓑ{I}V → ⦃G, L, #i⦄ ⊐+[b] ⦃G, K, V⦄.
+lemma fqup_lref: â\88\80b,I,G,L,K,V,i. â¬\87*[i] L â\89\98 K.ⓑ{I}V → ⦃G, L, #i⦄ ⊐+[b] ⦃G, K, V⦄.
 /2 width=6 by fqup_drops_strap1/ qed.
index 15ad47cfbf78cdde60bbcf55c0b017a58b9122a4..40d4124a5acacd521a3be96c8aea2740b8df950a 100644 (file)
@@ -98,7 +98,7 @@ lemma fqus_inv_bind1: ∀b,p,I,G1,G2,L1,L2,V1,T1,T2. ⦃G1, L1, ⓑ{p,I}V1.T1⦄
                        | ⦃G1, L1, V1⦄ ⊐*[b] ⦃G2, L2, T2⦄
                        | ⦃G1, L1.ⓑ{I}V1, T1⦄ ⊐*[b] ⦃G2, L2, T2⦄
                        | ⦃G1, L1.ⓧ, T1⦄ ⊐*[b] ⦃G2, L2, T2⦄ ∧ b = Ⓕ
-                       | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90*[b] â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89¡ ⓑ{p,I}V1.T1 & L1 = L.ⓘ{J}.
+                       | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90*[b] â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89\98 ⓑ{p,I}V1.T1 & L1 = L.ⓘ{J}.
 #b #p #I #G1 #G2 #L1 #L2 #V1 #T1 #T2 #H elim (fqus_inv_fqu_sn … H) -H * /3 width=1 by and3_intro, or5_intro0/
 #G #L #T #H elim (fqu_inv_bind1 … H) -H *
 [4: #J ] #H1 #H2 #H3 [4: #Hb ] #H destruct
@@ -110,7 +110,7 @@ lemma fqus_inv_bind1_true: ∀p,I,G1,G2,L1,L2,V1,T1,T2. ⦃G1, L1, ⓑ{p,I}V1.T1
                            ∨∨ ∧∧ G1 = G2 & L1 = L2 & ⓑ{p,I}V1.T1 = T2
                                | ⦃G1, L1, V1⦄ ⊐* ⦃G2, L2, T2⦄
                                | ⦃G1, L1.ⓑ{I}V1, T1⦄ ⊐* ⦃G2, L2, T2⦄
-                               | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90* â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89¡ ⓑ{p,I}V1.T1 & L1 = L.ⓘ{J}.
+                               | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90* â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89\98 ⓑ{p,I}V1.T1 & L1 = L.ⓘ{J}.
 #p #I #G1 #G2 #L1 #L2 #V1 #T1 #T2 #H elim (fqus_inv_bind1 … H) -H [1,4: * ]
 /3 width=1 by and3_intro, or4_intro0, or4_intro1, or4_intro2, or4_intro3, ex3_3_intro/
 #_ #H destruct
@@ -120,7 +120,7 @@ lemma fqus_inv_flat1: ∀b,I,G1,G2,L1,L2,V1,T1,T2. ⦃G1, L1, ⓕ{I}V1.T1⦄ ⊐
                       ∨∨ ∧∧ G1 = G2 & L1 = L2 & ⓕ{I}V1.T1 = T2
                        | ⦃G1, L1, V1⦄ ⊐*[b] ⦃G2, L2, T2⦄
                        | ⦃G1, L1, T1⦄ ⊐*[b] ⦃G2, L2, T2⦄
-                       | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90*[b] â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89¡ ⓕ{I}V1.T1 & L1 = L.ⓘ{J}.
+                       | â\88\83â\88\83J,L,T. â¦\83G1, L, Tâ¦\84 â\8a\90*[b] â¦\83G2, L2, T2â¦\84 & â¬\86*[1] T â\89\98 ⓕ{I}V1.T1 & L1 = L.ⓘ{J}.
 #b #I #G1 #G2 #L1 #L2 #V1 #T1 #T2 #H elim (fqus_inv_fqu_sn … H) -H * /3 width=1 by and3_intro, or4_intro0/
 #G #L #T #H elim (fqu_inv_flat1 … H) -H *
 [3: #J ] #H1 #H2 #H3 #H destruct
index a1adcfcf53e93cc62b86d44d24e43c46db6fe20c..cfcecbb009222216e9340c99e601b19d5e16a0ea 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/s_computation/fqus_fqup.ma".
 
 (* Properties with generic slicing for local environments *******************)
 
-lemma fqus_drops: â\88\80b,G,L,K,T,U,i. â¬\87*[i] L â\89¡ K â\86\92 â¬\86*[i] T â\89¡ U →
+lemma fqus_drops: â\88\80b,G,L,K,T,U,i. â¬\87*[i] L â\89\98 K â\86\92 â¬\86*[i] T â\89\98 U →
                   ⦃G, L, U⦄ ⊐*[b] ⦃G, K, T⦄.
 #b #G #L #K #T #U * /3 width=3 by fqup_drops_succ, fqup_fqus/
 #HLK #HTU <(lifts_fwd_isid … HTU) -U // <(drops_fwd_isid … HLK) -K //
index 0f5feb7fc88c4739f3f83d303138aa8500a120d7..85ddd67c76ce265aaf40ea9e0f971a1fbae6dd84 100644 (file)
@@ -31,7 +31,7 @@ inductive fqu (b:bool): tri_relation genv lenv term ≝
 | fqu_bind_dx: ∀p,I,G,L,V,T. fqu b G L (ⓑ{p,I}V.T) G (L.ⓑ{I}V) T
 | fqu_clear  : ∀p,I,G,L,V,T. b = Ⓕ → fqu b G L (ⓑ{p,I}V.T) G (L.ⓧ) T
 | fqu_flat_dx: ∀I,G,L,V,T. fqu b G L (ⓕ{I}V.T) G L T
-| fqu_drop   : â\88\80I,G,L,T,U. â¬\86*[1] T â\89¡ U → fqu b G (L.ⓘ{I}) U G L T
+| fqu_drop   : â\88\80I,G,L,T,U. â¬\86*[1] T â\89\98 U → fqu b G (L.ⓘ{I}) U G L T
 .
 
 interpretation
@@ -116,7 +116,7 @@ fact fqu_inv_bind1_aux: ∀b,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐[b] ⦃G2, L
                         ∨∨ ∧∧ G1 = G2 & L1 = L2 & V1 = T2
                          | ∧∧ G1 = G2 & L1.ⓑ{I}V1 = L2 & U1 = T2
                          | ∧∧ G1 = G2 & L1.ⓧ = L2 & U1 = T2 & b = Ⓕ
-                         | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89¡ ⓑ{p,I}V1.U1.
+                         | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89\98 ⓑ{p,I}V1.U1.
 #b #G1 #G2 #L1 #L2 #T1 #T2 * -G1 -G2 -L1 -L2 -T1 -T2
 [ #I #G #L #T #q #J #V0 #U0 #H destruct
 | #I #G #L #V #T #q #J #V0 #U0 #H destruct /3 width=1 by and3_intro, or4_intro0/
@@ -131,13 +131,13 @@ lemma fqu_inv_bind1: ∀b,p,I,G1,G2,L1,L2,V1,U1,T2. ⦃G1, L1, ⓑ{p,I}V1.U1⦄
                      ∨∨ ∧∧ G1 = G2 & L1 = L2 & V1 = T2
                       | ∧∧ G1 = G2 & L1.ⓑ{I}V1 = L2 & U1 = T2
                       | ∧∧ G1 = G2 & L1.ⓧ = L2 & U1 = T2 & b = Ⓕ
-                      | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89¡ ⓑ{p,I}V1.U1.
+                      | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89\98 ⓑ{p,I}V1.U1.
 /2 width=4 by fqu_inv_bind1_aux/ qed-.
 
 lemma fqu_inv_bind1_true: ∀p,I,G1,G2,L1,L2,V1,U1,T2. ⦃G1, L1, ⓑ{p,I}V1.U1⦄ ⊐ ⦃G2, L2, T2⦄ →
                           ∨∨ ∧∧ G1 = G2 & L1 = L2 & V1 = T2
                            | ∧∧ G1 = G2 & L1.ⓑ{I}V1 = L2 & U1 = T2
-                           | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89¡ ⓑ{p,I}V1.U1.
+                           | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89\98 ⓑ{p,I}V1.U1.
 #p #I #G1 #G2 #L1 #L2 #V1 #U1 #T2 #H elim (fqu_inv_bind1 … H) -H
 /3 width=1 by or3_intro0, or3_intro1, or3_intro2/
 * #_ #_ #_ #H destruct
@@ -147,7 +147,7 @@ fact fqu_inv_flat1_aux: ∀b,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐[b] ⦃G2, L
                         ∀I,V1,U1. T1 = ⓕ{I}V1.U1 →
                         ∨∨ ∧∧ G1 = G2 & L1 = L2 & V1 = T2
                          | ∧∧ G1 = G2 & L1 = L2 & U1 = T2
-                         | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89¡ ⓕ{I}V1.U1.
+                         | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89\98 ⓕ{I}V1.U1.
 #b #G1 #G2 #L1 #L2 #T1 #T2 * -G1 -G2 -L1 -L2 -T1 -T2
 [ #I #G #L #T #J #V0 #U0 #H destruct
 | #I #G #L #V #T #J #V0 #U0 #H destruct /3 width=1 by and3_intro, or3_intro0/
@@ -161,7 +161,7 @@ qed-.
 lemma fqu_inv_flat1: ∀b,I,G1,G2,L1,L2,V1,U1,T2. ⦃G1, L1, ⓕ{I}V1.U1⦄ ⊐[b] ⦃G2, L2, T2⦄ →
                      ∨∨ ∧∧ G1 = G2 & L1 = L2 & V1 = T2
                       | ∧∧ G1 = G2 & L1 = L2 & U1 = T2
-                      | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89¡ ⓕ{I}V1.U1.
+                      | â\88\83â\88\83J. G1 = G2 & L1 = L2.â\93\98{J} & â¬\86*[1] T2 â\89\98 ⓕ{I}V1.U1.
 /2 width=4 by fqu_inv_flat1_aux/ qed-.
 
 (* Advanced inversion lemmas ************************************************)
index a364e9496e41a097925ced01ea55604daa912d0e..930ca157c9338e84451229761fc26ba0a3785ee9 100644 (file)
@@ -22,7 +22,7 @@ include "basic_2/static/aaa.ma".
 (* Advanced properties ******************************************************)
 
 (* Basic_2A1: was: aaa_lref *)
-lemma aaa_lref_drops: â\88\80I,G,K,V,B,i,L. â¬\87*[i] L â\89¡ K.ⓑ{I}V → ⦃G, K⦄ ⊢ V ⁝ B → ⦃G, L⦄ ⊢ #i ⁝ B.
+lemma aaa_lref_drops: â\88\80I,G,K,V,B,i,L. â¬\87*[i] L â\89\98 K.ⓑ{I}V → ⦃G, K⦄ ⊢ V ⁝ B → ⦃G, L⦄ ⊢ #i ⁝ B.
 #I #G #K #V #B #i elim i -i
 [ #L #H lapply (drops_fwd_isid … H ?) -H //
   #H destruct /2 width=1 by aaa_zero/
@@ -35,7 +35,7 @@ qed.
 
 (* Basic_2A1: was: aaa_inv_lref *)
 lemma aaa_inv_lref_drops: ∀G,A,i,L. ⦃G, L⦄ ⊢ #i ⁝ A →
-                          â\88\83â\88\83I,K,V. â¬\87*[i] L â\89¡ K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ⁝ A.
+                          â\88\83â\88\83I,K,V. â¬\87*[i] L â\89\98 K.ⓑ{I}V & ⦃G, K⦄ ⊢ V ⁝ A.
 #G #A #i elim i -i
 [ #L #H elim (aaa_inv_zero … H) -H /3 width=5 by drops_refl, ex2_3_intro/
 | #i #IH #L #H elim (aaa_inv_lref … H) -H
@@ -47,8 +47,8 @@ qed-.
 
 (* Basic_2A1: includes: aaa_lift *)
 (* Note: it should use drops_split_trans_pair2 *)
-lemma aaa_lifts: â\88\80G,L1,T1,A. â¦\83G, L1â¦\84 â\8a¢ T1 â\81\9d A â\86\92 â\88\80b,f,L2. â¬\87*[b, f] L2 â\89¡ L1 →
-                 â\88\80T2. â¬\86*[f] T1 â\89¡ T2 → ⦃G, L2⦄ ⊢ T2 ⁝ A.
+lemma aaa_lifts: â\88\80G,L1,T1,A. â¦\83G, L1â¦\84 â\8a¢ T1 â\81\9d A â\86\92 â\88\80b,f,L2. â¬\87*[b, f] L2 â\89\98 L1 →
+                 â\88\80T2. â¬\86*[f] T1 â\89\98 T2 → ⦃G, L2⦄ ⊢ T2 ⁝ A.
 @(fqup_wf_ind_eq (Ⓣ)) #G0 #L0 #T0 #IH #G #L1 * *
 [ #s #HG #HL #HT #A #H #b #f #L2 #HL21 #X #HX -b -IH
   lapply (aaa_inv_sort … H) -H #H destruct
@@ -86,8 +86,8 @@ qed-.
 (* Inversion lemmas with generic slicing for local environments *************)
 
 (* Basic_2A1: includes: aaa_inv_lift *)
-lemma aaa_inv_lifts: â\88\80G,L2,T2,A. â¦\83G, L2â¦\84 â\8a¢ T2 â\81\9d A â\86\92 â\88\80b,f,L1. â¬\87*[b, f] L2 â\89¡ L1 →
-                     â\88\80T1. â¬\86*[f] T1 â\89¡ T2 → ⦃G, L1⦄ ⊢ T1 ⁝ A.
+lemma aaa_inv_lifts: â\88\80G,L2,T2,A. â¦\83G, L2â¦\84 â\8a¢ T2 â\81\9d A â\86\92 â\88\80b,f,L1. â¬\87*[b, f] L2 â\89\98 L1 →
+                     â\88\80T1. â¬\86*[f] T1 â\89\98 T2 → ⦃G, L1⦄ ⊢ T1 ⁝ A.
 @(fqup_wf_ind_eq (Ⓣ)) #G0 #L0 #T0 #IH #G #L2 * *
 [ #s #HG #HL #HT #A #H #b #f #L1 #HL21 #X #HX -b -IH
   lapply (aaa_inv_sort … H) -H #H destruct
index e0453bf323d0d119645ed4cd7fe3d7349e8299e4..a0bf7c46da05989bb2f712d57a7af1874eebd543 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/static/ffdeq.ma".
 
 (* Properties with syntactic equivalence on referred entries ****************)
 
-lemma lfeq_lfdeq_trans: â\88\80h,o,L1,L,T1. L1 â\89\90[T1] L →
+lemma lfeq_lfdeq_trans: â\88\80h,o,L1,L,T1. L1 â\89¡[T1] L →
                         ∀G1,G2,L2,T2. ⦃G1, L, T1⦄ ≛[h, o] ⦃G2, L2, T2⦄ → ⦃G1, L1, T1⦄ ≛[h, o] ⦃G2, L2, T2⦄.
 #h #o #L1 #L #T1 #HL1 #G1 #G2 #L2 #T2 #H
 elim (ffdeq_inv_gen_sn … H) -H #H #HL2 #T12 destruct
index 206ec63e4b8a99a4c9d27e9417b680003970730c..12cf981878148a7cef3e2433b4065645cd648ea1 100644 (file)
@@ -28,9 +28,9 @@ inductive frees: relation3 lenv term rtmap ≝
               frees (L.ⓘ{I}) (#⫯i) (↑f)
 | frees_gref: ∀f,L,l. 𝐈⦃f⦄ → frees L (§l) f
 | frees_bind: ∀f1,f2,f,p,I,L,V,T. frees L V f1 → frees (L.ⓑ{I}V) T f2 →
-              f1 â\8b\93 â«±f2 â\89¡ f → frees L (ⓑ{p,I}V.T) f
+              f1 â\8b\93 â«±f2 â\89\98 f → frees L (ⓑ{p,I}V.T) f
 | frees_flat: ∀f1,f2,f,I,L,V,T. frees L V f1 → frees L T f2 →
-              f1 â\8b\93 f2 â\89¡ f → frees L (ⓕ{I}V.T) f
+              f1 â\8b\93 f2 â\89\98 f → frees L (ⓕ{I}V.T) f
 .
 
 interpretation
@@ -39,7 +39,7 @@ interpretation
 
 (* Basic inversion lemmas ***************************************************)
 
-fact frees_inv_sort_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀x. X = ⋆x → 𝐈⦃f⦄.
+fact frees_inv_sort_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀x. X = ⋆x → 𝐈⦃f⦄.
 #L #X #f #H elim H -f -L -X //
 [ #f #i #_ #x #H destruct
 | #f #_ #L #V #_ #_ #x #H destruct
@@ -50,10 +50,10 @@ fact frees_inv_sort_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀x. X = ⋆x 
 ]
 qed-.
 
-lemma frees_inv_sort: â\88\80f,L,s. L â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89¡ f → 𝐈⦃f⦄.
+lemma frees_inv_sort: â\88\80f,L,s. L â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89\98 f → 𝐈⦃f⦄.
 /2 width=5 by frees_inv_sort_aux/ qed-.
 
-fact frees_inv_atom_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀i. L = ⋆ → X = #i →
+fact frees_inv_atom_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀i. L = ⋆ → X = #i →
                          ∃∃g. 𝐈⦃g⦄ & f = ↑*[i]⫯g.
 #f #L #X #H elim H -f -L -X
 [ #f #L #s #_ #j #_ #H destruct
@@ -67,11 +67,11 @@ fact frees_inv_atom_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀i. L = ⋆ 
 ]
 qed-.
 
-lemma frees_inv_atom: â\88\80f,i. â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ f → ∃∃g. 𝐈⦃g⦄ & f = ↑*[i]⫯g.
+lemma frees_inv_atom: â\88\80f,i. â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 f → ∃∃g. 𝐈⦃g⦄ & f = ↑*[i]⫯g.
 /2 width=5 by frees_inv_atom_aux/ qed-.
 
-fact frees_inv_pair_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀I,K,V. L = K.ⓑ{I}V → X = #0 →
-                         â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & f = ⫯g.
+fact frees_inv_pair_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀I,K,V. L = K.ⓑ{I}V → X = #0 →
+                         â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & f = ⫯g.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #Z #Y #X #_ #H destruct
 | #f #i #_ #Z #Y #X #H destruct
@@ -84,10 +84,10 @@ fact frees_inv_pair_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀I,K,V. L = K.
 ]
 qed-.
 
-lemma frees_inv_pair: â\88\80f,I,K,V. K.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83#0â¦\84 â\89¡ f â\86\92 â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & f = ⫯g.
+lemma frees_inv_pair: â\88\80f,I,K,V. K.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83#0â¦\84 â\89\98 f â\86\92 â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & f = ⫯g.
 /2 width=6 by frees_inv_pair_aux/ qed-.
 
-fact frees_inv_unit_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀I,K. L = K.ⓤ{I} → X = #0 →
+fact frees_inv_unit_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀I,K. L = K.ⓤ{I} → X = #0 →
                          ∃∃g. 𝐈⦃g⦄ & f = ⫯g.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #Z #Y #_ #H destruct
@@ -101,11 +101,11 @@ fact frees_inv_unit_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀I,K. L = K.
 ]
 qed-.
 
-lemma frees_inv_unit: â\88\80f,I,K. K.â\93¤{I} â\8a¢ ð\9d\90\85*â¦\83#0â¦\84 â\89¡ f → ∃∃g. 𝐈⦃g⦄ & f = ⫯g.
+lemma frees_inv_unit: â\88\80f,I,K. K.â\93¤{I} â\8a¢ ð\9d\90\85*â¦\83#0â¦\84 â\89\98 f → ∃∃g. 𝐈⦃g⦄ & f = ⫯g.
 /2 width=7 by frees_inv_unit_aux/ qed-.
 
-fact frees_inv_lref_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀I,K,j. L = K.ⓘ{I} → X = #(⫯j) →
-                         â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83#jâ¦\84 â\89¡ g & f = ↑g.
+fact frees_inv_lref_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀I,K,j. L = K.ⓘ{I} → X = #(⫯j) →
+                         â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83#jâ¦\84 â\89\98 g & f = ↑g.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #Z #Y #j #_ #H destruct
 | #f #i #_ #Z #Y #j #H destruct
@@ -118,11 +118,11 @@ fact frees_inv_lref_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀I,K,j. L = K.
 ]
 qed-.
 
-lemma frees_inv_lref: â\88\80f,I,K,i. K.â\93\98{I} â\8a¢ ð\9d\90\85*â¦\83#(⫯i)â¦\84 â\89¡ f →
-                      â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ g & f = ↑g.
+lemma frees_inv_lref: â\88\80f,I,K,i. K.â\93\98{I} â\8a¢ ð\9d\90\85*â¦\83#(⫯i)â¦\84 â\89\98 f →
+                      â\88\83â\88\83g. K â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 g & f = ↑g.
 /2 width=6 by frees_inv_lref_aux/ qed-.
 
-fact frees_inv_gref_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀x. X = §x → 𝐈⦃f⦄.
+fact frees_inv_gref_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀x. X = §x → 𝐈⦃f⦄.
 #f #L #X #H elim H -f -L -X //
 [ #f #i #_ #x #H destruct
 | #f #_ #L #V #_ #_ #x #H destruct
@@ -133,11 +133,11 @@ fact frees_inv_gref_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀x. X = §x 
 ]
 qed-.
 
-lemma frees_inv_gref: â\88\80f,L,l. L â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89¡ f → 𝐈⦃f⦄.
+lemma frees_inv_gref: â\88\80f,L,l. L â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89\98 f → 𝐈⦃f⦄.
 /2 width=5 by frees_inv_gref_aux/ qed-.
 
-fact frees_inv_bind_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀p,I,V,T. X = ⓑ{p,I}V.T →
-                         â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 & L.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f1 â\8b\93 â«±f2 â\89¡ f.
+fact frees_inv_bind_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀p,I,V,T. X = ⓑ{p,I}V.T →
+                         â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 & L.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f1 â\8b\93 â«±f2 â\89\98 f.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #q #J #W #U #H destruct
 | #f #i #_ #q #J #W #U #H destruct
@@ -150,12 +150,12 @@ fact frees_inv_bind_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀p,I,V,T. X =
 ]
 qed-.
 
-lemma frees_inv_bind: â\88\80f,p,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89¡ f →
-                      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 & L.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f1 â\8b\93 â«±f2 â\89¡ f.
+lemma frees_inv_bind: â\88\80f,p,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89\98 f →
+                      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 & L.â\93\91{I}V â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f1 â\8b\93 â«±f2 â\89\98 f.
 /2 width=4 by frees_inv_bind_aux/ qed-.
 
-fact frees_inv_flat_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ f → ∀I,V,T. X = ⓕ{I}V.T →
-                         â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 & L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f1 â\8b\93 f2 â\89¡ f.
+fact frees_inv_flat_aux: â\88\80f,L,X. L â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 f → ∀I,V,T. X = ⓕ{I}V.T →
+                         â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 & L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f1 â\8b\93 f2 â\89\98 f.
 #f #L #X * -f -L -X
 [ #f #L #s #_ #J #W #U #H destruct
 | #f #i #_ #J #W #U #H destruct
@@ -168,13 +168,13 @@ fact frees_inv_flat_aux: ∀f,L,X. L ⊢ 𝐅*⦃X⦄ ≡ f → ∀I,V,T. X = 
 ]
 qed-.
 
-lemma frees_inv_flat: â\88\80f,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\95{I}V.Tâ¦\84 â\89¡ f →
-                      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 & L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f1 â\8b\93 f2 â\89¡ f.
+lemma frees_inv_flat: â\88\80f,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\95{I}V.Tâ¦\84 â\89\98 f →
+                      â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 & L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f1 â\8b\93 f2 â\89\98 f.
 /2 width=4 by frees_inv_flat_aux/ qed-.
 
 (* Basic properties ********************************************************)
 
-lemma frees_eq_repl_back: â\88\80L,T. eq_repl_back â\80¦ (λf. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f).
+lemma frees_eq_repl_back: â\88\80L,T. eq_repl_back â\80¦ (λf. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f).
 #L #T #f1 #H elim H -f1 -L -T
 [ /3 width=3 by frees_sort, isid_eq_repl_back/
 | #f1 #i #Hf1 #g2 #H
@@ -195,11 +195,11 @@ lemma frees_eq_repl_back: ∀L,T. eq_repl_back … (λf. L ⊢ 𝐅*⦃T⦄ ≡
 ]
 qed-.
 
-lemma frees_eq_repl_fwd: â\88\80L,T. eq_repl_fwd â\80¦ (λf. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f).
+lemma frees_eq_repl_fwd: â\88\80L,T. eq_repl_fwd â\80¦ (λf. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f).
 #L #T @eq_repl_sym /2 width=3 by frees_eq_repl_back/
 qed-.
 
-lemma frees_lref_push: â\88\80f,i. â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ f â\86\92 â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#⫯iâ¦\84 â\89¡ ↑f.
+lemma frees_lref_push: â\88\80f,i. â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 f â\86\92 â\8b\86 â\8a¢ ð\9d\90\85*â¦\83#⫯iâ¦\84 â\89\98 ↑f.
 #f #i #H
 elim (frees_inv_atom … H) -H #g #Hg #H destruct
 /2 width=1 by frees_atom/
@@ -207,7 +207,7 @@ qed.
 
 (* Forward lemmas with test for finite colength *****************************)
 
-lemma frees_fwd_isfin: â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f → 𝐅⦃f⦄.
+lemma frees_fwd_isfin: â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f → 𝐅⦃f⦄.
 #f #L #T #H elim H -f -L -T
 /4 width=5 by sor_isfin, isfin_isid, isfin_tl, isfin_pushs, isfin_push, isfin_next/
 qed-.
index 56205c3db360c832b67c7f9da216ce9d0f4fa791..9cf6bfe1959abddebfa34ce867c0b7bcb637ac43 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/static/frees.ma".
 
 (* Properties with append for local environments ****************************)
 
-lemma frees_append_void: â\88\80f,K,T. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f â\86\92 â\93§.K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+lemma frees_append_void: â\88\80f,K,T. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f â\86\92 â\93§.K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 #f #K #T #H elim H -f -K -T
 [ /2 width=1 by frees_sort/
 | #f * /3 width=1 by frees_atom, frees_unit, frees_lref/
@@ -34,8 +34,8 @@ qed.
 
 (* Inversion lemmas with append for local environments **********************)
 
-fact frees_inv_append_void_aux: â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f →
-                                â\88\80K. L = â\93§.K â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+fact frees_inv_append_void_aux: â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f →
+                                â\88\80K. L = â\93§.K â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 #f #L #T #H elim H -f -L -T
 [ /2 width=1 by frees_sort/
 | #f #i #_ #K #H 
@@ -55,5 +55,5 @@ fact frees_inv_append_void_aux: ∀f,L,T. L ⊢ 𝐅*⦃T⦄ ≡ f →
 ]
 qed-.
 
-lemma frees_inv_append_void: â\88\80f,K,T. â\93§.K  â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+lemma frees_inv_append_void: â\88\80f,K,T. â\93§.K  â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 /2 width=3 by frees_inv_append_void_aux/ qed-.
index 096683f573a8076cbf70e5b635516d4ab5424979..59c6b3ff47f9d7d56e91bf69fc64c70331c6b25c 100644 (file)
@@ -20,8 +20,8 @@ include "basic_2/static/frees_fqup.ma".
 
 (* Advanced properties ******************************************************)
 
-lemma frees_atom_drops: â\88\80b,L,i. â¬\87*[b, ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ ⋆ →
-                        â\88\80f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ ↑*[i]⫯f.
+lemma frees_atom_drops: â\88\80b,L,i. â¬\87*[b, ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 ⋆ →
+                        â\88\80f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 ↑*[i]⫯f.
 #b #L elim L -L /2 width=1 by frees_atom/
 #L #I #IH *
 [ #H lapply (drops_fwd_isid … H ?) -H // #H destruct
@@ -29,16 +29,16 @@ lemma frees_atom_drops: ∀b,L,i. ⬇*[b, 𝐔❴i❵] L ≡ ⋆ →
 ]
 qed.
 
-lemma frees_pair_drops: â\88\80f,K,V. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f → 
-                        â\88\80i,I,L. â¬\87*[i] L â\89¡ K.â\93\91{I}V â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ ↑*[i] ⫯f.
+lemma frees_pair_drops: â\88\80f,K,V. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f → 
+                        â\88\80i,I,L. â¬\87*[i] L â\89\98 K.â\93\91{I}V â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 ↑*[i] ⫯f.
 #f #K #V #Hf #i elim i -i
 [ #I #L #H lapply (drops_fwd_isid … H ?) -H /2 width=1 by frees_pair/
 | #i #IH #I #L #H elim (drops_inv_succ … H) -H /3 width=2 by frees_lref/
 ]
 qed.
 
-lemma frees_unit_drops: â\88\80f.  ð\9d\90\88â¦\83fâ¦\84 â\86\92 â\88\80I,K,i,L. â¬\87*[i] L â\89¡ K.ⓤ{I} →
-                       L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ ↑*[i] ⫯f.
+lemma frees_unit_drops: â\88\80f.  ð\9d\90\88â¦\83fâ¦\84 â\86\92 â\88\80I,K,i,L. â¬\87*[i] L â\89\98 K.ⓤ{I} →
+                       L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 ↑*[i] ⫯f.
 #f #Hf #I #K #i elim i -i
 [ #L #H lapply (drops_fwd_isid … H ?) -H /2 width=1 by frees_unit/
 | #i #IH #Y #H elim (drops_inv_succ … H) -H
@@ -46,16 +46,16 @@ lemma frees_unit_drops: ∀f.  𝐈⦃f⦄ → ∀I,K,i,L. ⬇*[i] L ≡ K.ⓤ{I
 ]
 qed.
 (*
-lemma frees_sort_pushs: â\88\80f,K,s. K â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89¡ f →
-                        â\88\80i,L. â¬\87*[i] L â\89¡ K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89¡ ↑*[i] f.
+lemma frees_sort_pushs: â\88\80f,K,s. K â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89\98 f →
+                        â\88\80i,L. â¬\87*[i] L â\89\98 K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83â\8b\86sâ¦\84 â\89\98 ↑*[i] f.
 #f #K #s #Hf #i elim i -i
 [ #L #H lapply (drops_fwd_isid … H ?) -H //
 | #i #IH #L #H elim (drops_inv_succ … H) -H /3 width=1 by frees_sort/
 ]
 qed.
 *)
-lemma frees_lref_pushs: â\88\80f,K,j. K â\8a¢ ð\9d\90\85*â¦\83#jâ¦\84 â\89¡ f →
-                        â\88\80i,L. â¬\87*[i] L â\89¡ K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#(i+j)â¦\84 â\89¡ ↑*[i] f.
+lemma frees_lref_pushs: â\88\80f,K,j. K â\8a¢ ð\9d\90\85*â¦\83#jâ¦\84 â\89\98 f →
+                        â\88\80i,L. â¬\87*[i] L â\89\98 K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83#(i+j)â¦\84 â\89\98 ↑*[i] f.
 #f #K #j #Hf #i elim i -i
 [ #L #H lapply (drops_fwd_isid … H ?) -H //
 | #i #IH #L #H elim (drops_inv_succ … H) -H
@@ -63,8 +63,8 @@ lemma frees_lref_pushs: ∀f,K,j. K ⊢ 𝐅*⦃#j⦄ ≡ f →
 ]
 qed.
 (*
-lemma frees_gref_pushs: â\88\80f,K,l. K â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89¡ f →
-                        â\88\80i,L. â¬\87*[i] L â\89¡ K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89¡ ↑*[i] f.
+lemma frees_gref_pushs: â\88\80f,K,l. K â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89\98 f →
+                        â\88\80i,L. â¬\87*[i] L â\89\98 K â\86\92 L â\8a¢ ð\9d\90\85*â¦\83§lâ¦\84 â\89\98 ↑*[i] f.
 #f #K #l #Hf #i elim i -i
 [ #L #H lapply (drops_fwd_isid … H ?) -H //
 | #i #IH #L #H elim (drops_inv_succ … H) -H /3 width=1 by frees_gref/
@@ -73,11 +73,11 @@ qed.
 *)
 (* Advanced inversion lemmas ************************************************)
 
-lemma frees_inv_lref_drops: â\88\80L,i,f. L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ f →
-                            â\88¨â\88¨ â\88\83â\88\83g. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89¡ ⋆ & 𝐈⦃g⦄ & f = ↑*[i] ⫯g
-                             | â\88\83â\88\83g,I,K,V. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g &
-                                          â¬\87*[i] L â\89¡ K.ⓑ{I}V & f = ↑*[i] ⫯g
-                             | â\88\83â\88\83g,I,K. â¬\87*[i] L â\89¡ K.ⓤ{I} & 𝐈⦃g⦄ & f = ↑*[i] ⫯g.
+lemma frees_inv_lref_drops: â\88\80L,i,f. L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 f →
+                            â\88¨â\88¨ â\88\83â\88\83g. â¬\87*[â\92», ð\9d\90\94â\9d´iâ\9dµ] L â\89\98 ⋆ & 𝐈⦃g⦄ & f = ↑*[i] ⫯g
+                             | â\88\83â\88\83g,I,K,V. K â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g &
+                                          â¬\87*[i] L â\89\98 K.ⓑ{I}V & f = ↑*[i] ⫯g
+                             | â\88\83â\88\83g,I,K. â¬\87*[i] L â\89\98 K.ⓤ{I} & 𝐈⦃g⦄ & f = ↑*[i] ⫯g.
 #L elim L -L
 [ #i #g | #L #I #IH * [ #g cases I -I [ #I | #I #V ] -IH | #i #g ] ] #H
 [ elim (frees_inv_atom … H) -H #f #Hf #H destruct
@@ -97,9 +97,9 @@ qed-.
 
 (* Properties with generic slicing for local environments *******************)
 
-lemma frees_lifts: â\88\80b,f1,K,T. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1 →
-                   â\88\80f,L. â¬\87*[b, f] L â\89¡ K â\86\92 â\88\80U. â¬\86*[f] T â\89¡ U →
-                   â\88\80f2. f ~â\8a\9a f1 â\89¡ f2 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ f2.
+lemma frees_lifts: â\88\80b,f1,K,T. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1 →
+                   â\88\80f,L. â¬\87*[b, f] L â\89\98 K â\86\92 â\88\80U. â¬\86*[f] T â\89\98 U →
+                   â\88\80f2. f ~â\8a\9a f1 â\89\98 f2 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 f2.
 #b #f1 #K #T #H lapply (frees_fwd_isfin … H) elim H -f1 -K -T
 [ #f1 #K #s #Hf1 #_ #f #L #HLK #U #H2 #f2 #H3
   lapply (coafter_isid_inv_dx … H3 … Hf1) -f1 #Hf2
@@ -154,48 +154,48 @@ lemma frees_lifts: ∀b,f1,K,T. K ⊢ 𝐅*⦃T⦄ ≡ f1 →
 ]
 qed-.
 
-lemma frees_lifts_SO: â\88\80b,L,K. â¬\87*[b, ð\9d\90\94â\9d´1â\9dµ] L â\89¡ K â\86\92 â\88\80T,U. â¬\86*[1] T â\89¡ U →
-                      â\88\80f. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f â\86\92 L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ ↑f.
+lemma frees_lifts_SO: â\88\80b,L,K. â¬\87*[b, ð\9d\90\94â\9d´1â\9dµ] L â\89\98 K â\86\92 â\88\80T,U. â¬\86*[1] T â\89\98 U →
+                      â\88\80f. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f â\86\92 L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 ↑f.
 #b #L #K #HLK #T #U #HTU #f #Hf
 @(frees_lifts b … Hf … HTU) //  (**) (* auto fails *)
 qed.
 
 (* Forward lemmas with generic slicing for local environments ***************)
 
-lemma frees_fwd_coafter: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ f2 →
-                         â\88\80f,K. â¬\87*[b, f] L â\89¡ K â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                         â\88\80f1. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1 â\86\92 f ~â\8a\9a f1 â\89¡ f2.
+lemma frees_fwd_coafter: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 f2 →
+                         â\88\80f,K. â¬\87*[b, f] L â\89\98 K â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                         â\88\80f1. K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1 â\86\92 f ~â\8a\9a f1 â\89\98 f2.
 /4 width=11 by frees_lifts, frees_mono, coafter_eq_repl_back0/ qed-.
 
 (* Inversion lemmas with generic slicing for local environments *************)
 
-lemma frees_inv_lifts_ex: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ f2 →
-                          â\88\80f,K. â¬\87*[b, f] L â\89¡ K â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                          â\88\83â\88\83f1. f ~â\8a\9a f1 â\89¡ f2 & K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1.
+lemma frees_inv_lifts_ex: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 f2 →
+                          â\88\80f,K. â¬\87*[b, f] L â\89\98 K â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                          â\88\83â\88\83f1. f ~â\8a\9a f1 â\89\98 f2 & K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1.
 #b #f2 #L #U #Hf2 #f #K #HLK #T elim (frees_total K T)
 /3 width=9 by frees_fwd_coafter, ex2_intro/
 qed-.
 
-lemma frees_inv_lifts_SO: â\88\80b,f,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ f →
-                          â\88\80K. â¬\87*[b, ð\9d\90\94â\9d´1â\9dµ] L â\89¡ K â\86\92 â\88\80T. â¬\86*[1] T â\89¡ U →
-                          K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ ⫱f.
+lemma frees_inv_lifts_SO: â\88\80b,f,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 f →
+                          â\88\80K. â¬\87*[b, ð\9d\90\94â\9d´1â\9dµ] L â\89\98 K â\86\92 â\88\80T. â¬\86*[1] T â\89\98 U →
+                          K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 ⫱f.
 #b #f #L #U #H #K #HLK #T #HTU elim(frees_inv_lifts_ex … H … HLK … HTU) -b -L -U
 #f1 #Hf #Hf1 elim (coafter_inv_nxx … Hf) -Hf
 /3 width=5 by frees_eq_repl_back, coafter_isid_inv_sn/
 qed-.
 
-lemma frees_inv_lifts: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89¡ f2 →
-                       â\88\80f,K. â¬\87*[b, f] L â\89¡ K â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                       â\88\80f1. f ~â\8a\9a f1 â\89¡ f2 â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1.
+lemma frees_inv_lifts: â\88\80b,f2,L,U. L â\8a¢ ð\9d\90\85*â¦\83Uâ¦\84 â\89\98 f2 →
+                       â\88\80f,K. â¬\87*[b, f] L â\89\98 K â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                       â\88\80f1. f ~â\8a\9a f1 â\89\98 f2 â\86\92 K â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1.
 #b #f2 #L #U #H #f #K #HLK #T #HTU #f1 #Hf2 elim (frees_inv_lifts_ex … H … HLK … HTU) -b -L -U
 /3 width=7 by frees_eq_repl_back, coafter_inj/
 qed-.
 
 (* Note: this is used by lfxs_conf and might be modified *)
-lemma frees_inv_drops_next: â\88\80f1,L1,T1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f1 →
-                            â\88\80I2,L2,V2,n. â¬\87*[n] L1 â\89¡ L2.ⓑ{I2}V2 →
+lemma frees_inv_drops_next: â\88\80f1,L1,T1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f1 →
+                            â\88\80I2,L2,V2,n. â¬\87*[n] L1 â\89\98 L2.ⓑ{I2}V2 →
                             ∀g1. ⫯g1 = ⫱*[n] f1 →
-                            â\88\83â\88\83g2. L2 â\8a¢ ð\9d\90\85*â¦\83V2â¦\84 â\89¡ g2 & g2 ⊆ g1.
+                            â\88\83â\88\83g2. L2 â\8a¢ ð\9d\90\85*â¦\83V2â¦\84 â\89\98 g2 & g2 ⊆ g1.
 #f1 #L1 #T1 #H elim H -f1 -L1 -T1
 [ #f1 #L1 #s #Hf1 #I2 #L2 #V2 #n #_ #g1 #H1 -I2 -L1 -s
   lapply (isid_tls n … Hf1) -Hf1 <H1 -f1 #Hf1
index e7fcf4eb854d1485e2bf903445e675d7127743e7..8946c6e4a2f59636a34f1c9f2aa9068cb706af1c 100644 (file)
@@ -20,7 +20,7 @@ include "basic_2/static/lsubf_lsubr.ma".
 (* Advanced properties ******************************************************)
 
 (* Note: this replaces lemma 1400 concluding the "big tree" theorem *)
-lemma frees_total: â\88\80L,T. â\88\83f. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+lemma frees_total: â\88\80L,T. â\88\83f. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 #L #T @(fqup_wf_ind_eq (Ⓣ) … (⋆) L T) -L -T
 #G0 #L0 #T0 #IH #G #L * *
 [ /3 width=2 by frees_sort, ex_intro/
@@ -51,8 +51,8 @@ qed-.
 
 (* Advanced main properties *************************************************)
 
-theorem frees_bind_void: â\88\80f1,L,V. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 â\86\92 â\88\80f2,T. L.â\93§ â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 →
-                         â\88\80f. f1 â\8b\93 â«±f2 â\89¡ f â\86\92 â\88\80p,I. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89¡ f.
+theorem frees_bind_void: â\88\80f1,L,V. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 â\86\92 â\88\80f2,T. L.â\93§ â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 →
+                         â\88\80f. f1 â\8b\93 â«±f2 â\89\98 f â\86\92 â\88\80p,I. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89\98 f.
 #f1 #L #V #Hf1 #f2 #T #Hf2 #f #Hf #p #I
 elim (frees_total (L.ⓑ{I}V) T) #f0 #Hf0
 lapply (lsubr_lsubf … Hf2 … Hf0) -Hf2 /2 width=5 by lsubr_unit/ #H02
@@ -78,8 +78,8 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma frees_inv_bind_void: â\88\80f,p,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89¡ f →
-                           â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 & L.â\93§ â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f1 â\8b\93 â«±f2 â\89¡ f.
+lemma frees_inv_bind_void: â\88\80f,p,I,L,V,T. L â\8a¢ ð\9d\90\85*â¦\83â\93\91{p,I}V.Tâ¦\84 â\89\98 f →
+                           â\88\83â\88\83f1,f2. L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 & L.â\93§ â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f1 â\8b\93 â«±f2 â\89\98 f.
 #f #p #I #L #V #T #H
 elim (frees_inv_bind … H) -H #f1 #f2 #Hf1 #Hf2 #Hf
 elim (frees_total (L.ⓧ) T) #f0 #Hf0
@@ -107,24 +107,24 @@ lemma frees_ind_void: ∀R:relation3 ….
                          ∀f,i. 𝐈⦃f⦄ → R (⋆) (#i) (↑*[i]⫯f)
                       ) → (
                          ∀f,I,L,V.
-                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f → R L V f→ R (L.ⓑ{I}V) (#O) (⫯f) 
+                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f → R L V f→ R (L.ⓑ{I}V) (#O) (⫯f) 
                       ) → (
                          ∀f,I,L. 𝐈⦃f⦄ → R (L.ⓤ{I}) (#O) (⫯f)
                       ) → (
                          ∀f,I,L,i.
-                         L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89¡ f → R L (#i) f → R (L.ⓘ{I}) (#(⫯i)) (↑f)
+                         L â\8a¢ ð\9d\90\85*â¦\83#iâ¦\84 â\89\98 f → R L (#i) f → R (L.ⓘ{I}) (#(⫯i)) (↑f)
                       ) → (
                          ∀f,L,l. 𝐈⦃f⦄ → R L (§l) f
                       ) → (
                          ∀f1,f2,f,p,I,L,V,T.
-                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 â\86\92 L.â\93§ â\8a¢ð\9d\90\85*â¦\83Tâ¦\84â\89¡ f2 â\86\92 f1 â\8b\93 â«±f2 â\89¡ f →
+                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 â\86\92 L.â\93§ â\8a¢ð\9d\90\85*â¦\83Tâ¦\84â\89\98 f2 â\86\92 f1 â\8b\93 â«±f2 â\89\98 f →
                          R L V f1 →R (L.ⓧ) T f2 → R L (ⓑ{p,I}V.T) f
                       ) → (
                          ∀f1,f2,f,I,L,V,T.
-                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f1 â\86\92 L â\8a¢ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 â\86\92 f1 â\8b\93 f2 â\89¡ f →
+                         L â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f1 â\86\92 L â\8a¢ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 â\86\92 f1 â\8b\93 f2 â\89\98 f →
                          R L V f1 → R L T f2 → R L (ⓕ{I}V.T) f
                       ) →
-                      â\88\80L,T,f. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f → R L T f.
+                      â\88\80L,T,f. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f → R L T f.
 #R #IH1 #IH2 #IH3 #IH4 #IH5 #IH6 #IH7 #IH8 #L #T
 @(fqup_wf_ind_eq (Ⓕ) … (⋆) L T) -L -T #G0 #L0 #T0 #IH #G #L * *
 [ #s #HG #HL #HT #f #H destruct -IH
index 5485e2359d889f72bb5c03408172286bb3d71a26..a826bbd08b8d6f561b048043e623fcc0bde38885 100644 (file)
@@ -18,7 +18,7 @@ include "basic_2/static/frees.ma".
 
 (* Main inversion lemmas ****************************************************)
 
-theorem frees_mono: â\88\80f1,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1 â\86\92 â\88\80f2. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 → f1 ≗ f2.
+theorem frees_mono: â\88\80f1,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1 â\86\92 â\88\80f2. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 → f1 ≗ f2.
 #f1 #L #T #H elim H -f1 -L -T
 [ /3 width=3 by frees_inv_sort, isid_inv_eq_repl/
 | #f1 #i #Hf1 #g2 #H
index e0ef144b5a82dead9489223ad815ed82757b81dc..9f4f9cf3b07c8e73d35ac0d57c83dd023fd34e4a 100644 (file)
@@ -20,7 +20,7 @@ include "basic_2/static/frees.ma".
 (* FREE VARIABLES INCLUSION FOR RESTRICTED CLOSURES *************************)
 
 definition fsle: bi_relation lenv term ≝ λL1,T1,L2,T2.
-                 â\88\83â\88\83n1,n2,f1,f2. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f1 & L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f2 &
+                 â\88\83â\88\83n1,n2,f1,f2. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f1 & L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f2 &
                                 L1 ≋ⓧ*[n1, n2] L2 & ⫱*[n1]f1 ⊆ ⫱*[n2]f2.
 
 interpretation "free variables inclusion (restricted closure)"
index 7ca1aa2147144b326cf614c8b9b3e7a3c57021a2..441c6b468df6ca86817de617fcbf9ad63ad468c7 100644 (file)
@@ -19,7 +19,7 @@ include "basic_2/static/fsle_length.ma".
 
 (* Advanced properties ******************************************************)
 
-lemma fsle_lifts_sn: â\88\80T1,U1. â¬\86*[1] T1 â\89¡ U1 → ∀L1,L2. |L2| ≤ |L1| →
+lemma fsle_lifts_sn: â\88\80T1,U1. â¬\86*[1] T1 â\89\98 U1 → ∀L1,L2. |L2| ≤ |L1| →
                      ∀T2. ⦃L1, T1⦄ ⊆ ⦃L2, T2⦄ → ⦃L1.ⓧ, U1⦄ ⊆ ⦃L2, T2⦄.
 #T1 #U1 #HTU1 #L1 #L2 #H1L #T2
 * #n #m #f #g #Hf #Hg #H2L #Hfg
@@ -30,7 +30,7 @@ lapply (frees_lifts_SO (Ⓣ) (L1.ⓧ) … HTU1 … Hf)
 qed-.
 
 lemma fsle_lifts_SO_sn: ∀K1,K2. |K1| = |K2| → ∀V1,V2. ⦃K1, V1⦄ ⊆ ⦃K2, V2⦄ →
-                        â\88\80W1. â¬\86*[1] V1 â\89¡ W1 → ∀I1,I2. ⦃K1.ⓘ{I1}, W1⦄ ⊆ ⦃K2.ⓑ{I2}V2, #O⦄.
+                        â\88\80W1. â¬\86*[1] V1 â\89\98 W1 → ∀I1,I2. ⦃K1.ⓘ{I1}, W1⦄ ⊆ ⦃K2.ⓑ{I2}V2, #O⦄.
 #K1 #K2 #HK #V1 #V2
 * #n1 #n2 #f1 #f2 #Hf1 #Hf2 #HK12 #Hf12
 #W1 #HVW1 #I1 #I2
@@ -39,7 +39,7 @@ elim (lveq_inj_length … HK12) // -HK #H1 #H2 destruct
 qed.
 
 lemma fsle_lifts_SO: ∀K1,K2. |K1| = |K2| → ∀T1,T2. ⦃K1, T1⦄ ⊆ ⦃K2, T2⦄ →
-                     â\88\80U1,U2. â¬\86*[1] T1 â\89¡ U1 â\86\92 â¬\86*[1] T2 â\89¡ U2 →
+                     â\88\80U1,U2. â¬\86*[1] T1 â\89\98 U1 â\86\92 â¬\86*[1] T2 â\89\98 U2 →
                      ∀I1,I2.  ⦃K1.ⓘ{I1}, U1⦄ ⊆ ⦃K2.ⓘ{I2}, U2⦄.
 #K1 #K2 #HK #T1 #T2
 * #n1 #n2 #f1 #f2 #Hf1 #Hf2 #HK12 #Hf12
@@ -50,7 +50,7 @@ qed.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma fsle_inv_lifts_sn: â\88\80T1,U1. â¬\86*[1] T1 â\89¡ U1 →
+lemma fsle_inv_lifts_sn: â\88\80T1,U1. â¬\86*[1] T1 â\89\98 U1 →
                          ∀I1,I2,L1,L2,V1,V2,U2. ⦃L1.ⓑ{I1}V1,U1⦄ ⊆ ⦃L2.ⓑ{I2}V2, U2⦄ →
                          ∀p. ⦃L1, T1⦄ ⊆ ⦃L2, ⓑ{p,I2}V2.U2⦄.
 #T1 #U1 #HTU1 #I1 #I2 #L1 #L2 #V1 #V2 #U2
index ea09b60a7d702d2d2f1048ad0503d8139c8897a8..1b220af99d6126b91a6550b55bf627faae6118c1 100644 (file)
@@ -20,8 +20,8 @@ include "basic_2/static/fsle_fqup.ma".
 (* Advanced inversion lemmas ************************************************)
 
 lemma fsle_frees_trans: ∀L1,L2,T1,T2. ⦃L1, T1⦄ ⊆ ⦃L2, T2⦄ →
-                        â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f2 →
-                        â\88\83â\88\83n1,n2,f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f1 &
+                        â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f2 →
+                        â\88\83â\88\83n1,n2,f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f1 &
                                     L1 ≋ⓧ*[n1, n2] L2 & ⫱*[n1]f1 ⊆ ⫱*[n2]f2.
 #L1 #L2 #T1 #T2 * #n1 #n2 #f1 #g2 #Hf1 #Hg2 #HL #Hn #f2 #Hf2
 lapply (frees_mono … Hg2 … Hf2) -Hg2 -Hf2 #Hgf2
@@ -31,8 +31,8 @@ lapply (sle_eq_repl_back2 … Hn … Hgf2) -g2
 qed-.
 
 lemma fsle_frees_trans_eq: ∀L1,L2. |L1| = |L2| →
-                           â\88\80T1,T2. â¦\83L1, T1â¦\84 â\8a\86 â¦\83L2, T2â¦\84 â\86\92 â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f2 →
-                           â\88\83â\88\83f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f1 & f1 ⊆ f2.
+                           â\88\80T1,T2. â¦\83L1, T1â¦\84 â\8a\86 â¦\83L2, T2â¦\84 â\86\92 â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f2 →
+                           â\88\83â\88\83f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f1 & f1 ⊆ f2.
 #L1 #L2 #H1L #T1 #T2 #H2L #f2 #Hf2
 elim (fsle_frees_trans … H2L … Hf2) -T2 #n1 #n2 #f1 #Hf1 #H2L #Hf12
 elim (lveq_inj_length … H2L) // -L2 #H1 #H2 destruct
@@ -41,7 +41,7 @@ qed-.
 
 lemma fsle_inv_frees_eq: ∀L1,L2. |L1| = |L2| →
                          ∀T1,T2. ⦃L1, T1⦄ ⊆ ⦃L2, T2⦄ →
-                         â\88\80f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f1 â\86\92 â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f2 →
+                         â\88\80f1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f1 â\86\92 â\88\80f2. L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f2 →
                          f1 ⊆ f2.
 #L1 #L2 #H1L #T1 #T2 #H2L #f1 #Hf1 #f2 #Hf2
 elim (fsle_frees_trans_eq … H2L … Hf2) // -L2 -T2
index 21382ed90863122184cded762ef4adbbeb923a0f..0f001a76732aa5dda8e5647c2796fde33cd639a6 100644 (file)
@@ -22,8 +22,8 @@ include "basic_2/static/lsubc_drops.ma".
 (* Basic_1: was: sc3_arity_csubc *)
 theorem acr_aaa_csubc_lifts: ∀RR,RS,RP.
                              gcp RR RS RP → gcr RR RS RP RP →
-                             â\88\80G,L1,T,A. â¦\83G, L1â¦\84 â\8a¢ T â\81\9d A â\86\92 â\88\80b,f,L0. â¬\87*[b, f] L0 â\89¡ L1 →
-                             â\88\80T0. â¬\86*[f] T â\89¡ T0 → ∀L2. G ⊢ L2 ⫃[RP] L0 →
+                             â\88\80G,L1,T,A. â¦\83G, L1â¦\84 â\8a¢ T â\81\9d A â\86\92 â\88\80b,f,L0. â¬\87*[b, f] L0 â\89\98 L1 →
+                             â\88\80T0. â¬\86*[f] T â\89\98 T0 → ∀L2. G ⊢ L2 ⫃[RP] L0 →
                              ⦃G, L2, T0⦄ ϵ[RP] 〚A〛.
 #RR #RS #RP #H1RP #H2RP #G #L1 #T @(fqup_wf_ind_eq (Ⓣ) … G L1 T) -G -L1 -T
 #Z #Y #X #IH #G #L1 * [ * | * [ #p ] * ]
index 336de671684e53816aa0faf100ece6e2b172bd89..b9fa92b4d2e24ac3dc9733e6eddb8a071e9c7c44 100644 (file)
@@ -39,11 +39,11 @@ definition S4 ≝ λRP,C:candidate.
                 ∀G,L,Vs. all … (RP G L) Vs → ∀s. C G L (ⒶVs.⋆s).
 
 definition S5 ≝ λC:candidate. ∀I,G,L,K,Vs,V1,V2,i.
-                C G L (â\92¶Vs.V2) â\86\92 â¬\86*[⫯i] V1 â\89¡ V2 →
-                â¬\87*[i] L â\89¡ K.ⓑ{I}V1 → C G L (ⒶVs.#i).
+                C G L (â\92¶Vs.V2) â\86\92 â¬\86*[⫯i] V1 â\89\98 V2 →
+                â¬\87*[i] L â\89\98 K.ⓑ{I}V1 → C G L (ⒶVs.#i).
 
 definition S6 ≝ λRP,C:candidate.
-                â\88\80G,L,V1b,V2b. â¬\86*[1] V1b â\89¡ V2b →
+                â\88\80G,L,V1b,V2b. â¬\86*[1] V1b â\89\98 V2b →
                 ∀a,V,T. C G (L.ⓓV) (ⒶV2b.T) → RP G L V → C G L (ⒶV1b.ⓓ{a}V.T).
 
 definition S7 ≝ λC:candidate.
@@ -63,7 +63,7 @@ record gcr (RR:relation4 genv lenv term term) (RS:relation term) (RP,C:candidate
 (* the functional construction for candidates *)
 definition cfun: candidate → candidate → candidate ≝
                  λC1,C2,G,K,T. ∀f,L,W,U.
-                 â¬\87*[â\92», f] L â\89¡ K â\86\92 â¬\86*[f] T â\89¡ U → C1 G L W → C2 G L (ⓐW.U).
+                 â¬\87*[â\92», f] L â\89\98 K â\86\92 â¬\86*[f] T â\89\98 U → C1 G L W → C2 G L (ⓐW.U).
 
 (* the reducibility candidate associated to an atomic arity *)
 rec definition acr (RP:candidate) (A:aarity) on A: candidate ≝
@@ -156,7 +156,7 @@ qed.
 
 lemma acr_abst: ∀RR,RS,RP. gcp RR RS RP → gcr RR RS RP RP →
                 ∀p,G,L,W,T,A,B. ⦃G, L, W⦄ ϵ[RP] 〚B〛 → (
-                   â\88\80b,f,L0,V0,W0,T0. â¬\87*[b, f] L0 â\89¡ L â\86\92 â¬\86*[f] W â\89¡ W0 â\86\92 â¬\86*[â\86\91f] T â\89¡ T0 →
+                   â\88\80b,f,L0,V0,W0,T0. â¬\87*[b, f] L0 â\89\98 L â\86\92 â¬\86*[f] W â\89\98 W0 â\86\92 â¬\86*[â\86\91f] T â\89\98 T0 →
                                    ⦃G, L0, V0⦄ ϵ[RP] 〚B〛 → ⦃G, L0, W0⦄ ϵ[RP] 〚B〛 → ⦃G, L0.ⓓⓝW0.V0, T0⦄ ϵ[RP] 〚A〛
                 ) →
                 ⦃G, L, ⓛ{p}W.T⦄ ϵ[RP] 〚②B.A〛.
index 9784f34904ddc209745c628de2a3d92dee9894be..98b9314459dc725b63eb3a3a8b0784e806783d86 100644 (file)
@@ -31,8 +31,8 @@ interpretation
 
 (* Basic properties ***********************************************************)
 
-lemma frees_tdeq_conf_lfdeq: â\88\80h,o,f,L1,T1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f → ∀T2. T1 ≛[h, o] T2 →
-                             â\88\80L2. L1 â\89\9b[h, o, f] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f.
+lemma frees_tdeq_conf_lfdeq: â\88\80h,o,f,L1,T1. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f → ∀T2. T1 ≛[h, o] T2 →
+                             â\88\80L2. L1 â\89\9b[h, o, f] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f.
 #h #o #f #L1 #T1 #H elim H -f -L1 -T1
 [ #f #L1 #s1 #Hf #X #H1 #L2 #_
   elim (tdeq_inv_sort1 … H1) -H1 #s2 #d #_ #_ #H destruct
@@ -65,12 +65,12 @@ lemma frees_tdeq_conf_lfdeq: ∀h,o,f,L1,T1. L1 ⊢ 𝐅*⦃T1⦄ ≡ f → ∀T
 ]
 qed-.
 
-lemma frees_tdeq_conf: â\88\80h,o,f,L,T1. L â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f →
-                       â\88\80T2. T1 â\89\9b[h, o] T2 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f.
+lemma frees_tdeq_conf: â\88\80h,o,f,L,T1. L â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f →
+                       â\88\80T2. T1 â\89\9b[h, o] T2 â\86\92 L â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f.
 /4 width=7 by frees_tdeq_conf_lfdeq, lexs_refl, ext2_refl/ qed-.
 
-lemma frees_lfdeq_conf: â\88\80h,o,f,L1,T. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f →
-                        â\88\80L2. L1 â\89\9b[h, o, f] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+lemma frees_lfdeq_conf: â\88\80h,o,f,L1,T. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f →
+                        â\88\80L2. L1 â\89\9b[h, o, f] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 /2 width=7 by frees_tdeq_conf_lfdeq, tdeq_refl/ qed-.
 
 lemma tdeq_lfxs_conf: ∀R,h,o. s_r_confluent1 … (cdeq h o) (lfxs R).
index f77f0a0ffbaf956659f915a831c406a8a3cfff12..d9dc626d712dad3c5cb261095c6f0b2568089af8 100644 (file)
@@ -34,14 +34,14 @@ lemma lfdeq_inv_lifts_dx: ∀h,o. dropable_dx (cdeq h o).
 
 (* Basic_2A1: uses: lleq_inv_lift_le lleq_inv_lift_be lleq_inv_lift_ge *)
 lemma lfdeq_inv_lifts_bi: ∀h,o,L1,L2,U. L1 ≛[h, o, U] L2 → ∀b,f. 𝐔⦃f⦄ →
-                          â\88\80K1,K2. â¬\87*[b, f] L1 â\89¡ K1 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                          â\88\80T. â¬\86*[f] T â\89¡ U → K1 ≛[h, o, T] K2.
+                          â\88\80K1,K2. â¬\87*[b, f] L1 â\89\98 K1 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                          â\88\80T. â¬\86*[f] T â\89\98 U → K1 ≛[h, o, T] K2.
 /2 width=10 by lfxs_inv_lifts_bi/ qed-.
 
-lemma lfdeq_inv_lref_pair_sn: â\88\80h,o,L1,L2,i. L1 â\89\9b[h, o, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 →
-                              â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 & K1 ≛[h, o, V1] K2 & V1 ≛[h, o] V2.
+lemma lfdeq_inv_lref_pair_sn: â\88\80h,o,L1,L2,i. L1 â\89\9b[h, o, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 →
+                              â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 & K1 ≛[h, o, V1] K2 & V1 ≛[h, o] V2.
 /2 width=3 by lfxs_inv_lref_pair_sn/ qed-.
 
-lemma lfdeq_inv_lref_pair_dx: â\88\80h,o,L1,L2,i. L1 â\89\9b[h, o, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 →
-                              â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 & K1 ≛[h, o, V1] K2 & V1 ≛[h, o] V2.
+lemma lfdeq_inv_lref_pair_dx: â\88\80h,o,L1,L2,i. L1 â\89\9b[h, o, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 →
+                              â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 & K1 ≛[h, o, V1] K2 & V1 ≛[h, o] V2.
 /2 width=3 by lfxs_inv_lref_pair_dx/ qed-.
index 02bdda0eeb7d673ed82ee67c82a85eb3e74e2542..33d6c459b35def8e727762d193c0941a987c4b2e 100644 (file)
@@ -32,8 +32,8 @@ qed-.
 
 (* Basic_2A1: uses: lleq_lift_le lleq_lift_ge *)
 lemma lfdeq_lifts_bi: ∀L1,L2. |L1| = |L2| → ∀h,o,K1,K2,T. K1 ≛[h, o, T] K2 →
-                      â\88\80b,f. â¬\87*[b, f] L1 â\89¡ K1 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                      â\88\80U. â¬\86*[f] T â\89¡ U → L1 ≛[h, o, U] L2.
+                      â\88\80b,f. â¬\87*[b, f] L1 â\89\98 K1 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                      â\88\80U. â¬\86*[f] T â\89\98 U → L1 ≛[h, o, U] L2.
 /3 width=9 by lfxs_lifts_bi, tdeq_lifts_sn/ qed-.
 
 (* Forward lemmas with length for local environments ************************)
index 8d13d1984587b498e43aeae02326aadb509fb986..39d933b76b07213d357e154f2617b8a23be03c22 100644 (file)
@@ -19,9 +19,9 @@ include "basic_2/static/lfdeq.ma".
 
 (* Properties with syntactic equivalence on referred entries ****************)
 
-lemma lfeq_lfdeq: â\88\80h,o,L1,L2. â\88\80T:term. L1 â\89\90[T] L2 → L1 ≛[h, o, T] L2.
+lemma lfeq_lfdeq: â\88\80h,o,L1,L2. â\88\80T:term. L1 â\89¡[T] L2 → L1 ≛[h, o, T] L2.
 /2 width=3 by lfxs_co/ qed.
 
-lemma lfeq_lfdeq_trans: â\88\80h,o,L1,L. â\88\80T:term. L1 â\89\90[T] L →
+lemma lfeq_lfdeq_trans: â\88\80h,o,L1,L. â\88\80T:term. L1 â\89¡[T] L →
                         ∀L2. L ≛[h, o, T] L2 → L1 ≛[h, o, T] L2.
 /2 width=3 by lfeq_lfxs_trans/ qed-.
index c248d2acb2516510535d804e041ab95ede00091d..f108bc5af9f5bc2fe04fe8bad7c102da228036ff 100644 (file)
@@ -12,7 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "basic_2/notation/relations/doteqsn_3.ma".
+include "basic_2/notation/relations/ideqsn_3.ma".
 include "basic_2/static/lfxs.ma".
 
 (* SYNTACTIC EQUIVALENCE FOR LOCAL ENVIRONMENTS ON REFERRED ENTRIES *********)
@@ -23,45 +23,45 @@ definition lfeq: relation3 term lenv lenv ≝
 
 interpretation
    "syntactic equivalence on referred entries (local environment)"
-   'DotEqSn T L1 L2 = (lfeq T L1 L2).
+   'IdEqSn T L1 L2 = (lfeq T L1 L2).
 
 (* Note: "lfeq_transitive R" is equivalent to "lfxs_transitive ceq R R" *)
 (* Basic_2A1: uses: lleq_transitive *)
 definition lfeq_transitive: predicate (relation3 lenv term term) ≝
-           Î»R. â\88\80L2,T1,T2. R L2 T1 T2 â\86\92 â\88\80L1. L1 â\89\90[T1] L2 → R L1 T1 T2.
+           Î»R. â\88\80L2,T1,T2. R L2 T1 T2 â\86\92 â\88\80L1. L1 â\89¡[T1] L2 → R L1 T1 T2.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma lfeq_inv_bind: â\88\80p,I,L1,L2,V,T. L1 â\89\90[ⓑ{p,I}V.T] L2 →
-                     â\88§â\88§ L1 â\89\90[V] L2 & L1.â\93\91{I}V â\89\90[T] L2.ⓑ{I}V.
+lemma lfeq_inv_bind: â\88\80p,I,L1,L2,V,T. L1 â\89¡[ⓑ{p,I}V.T] L2 →
+                     â\88§â\88§ L1 â\89¡[V] L2 & L1.â\93\91{I}V â\89¡[T] L2.ⓑ{I}V.
 /2 width=2 by lfxs_inv_bind/ qed-.
 
-lemma lfeq_inv_flat: â\88\80I,L1,L2,V,T. L1 â\89\90[ⓕ{I}V.T] L2 →
-                     â\88§â\88§ L1 â\89\90[V] L2 & L1 â\89\90[T] L2.
+lemma lfeq_inv_flat: â\88\80I,L1,L2,V,T. L1 â\89¡[ⓕ{I}V.T] L2 →
+                     â\88§â\88§ L1 â\89¡[V] L2 & L1 â\89¡[T] L2.
 /2 width=2 by lfxs_inv_flat/ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma lfeq_inv_zero_pair_sn: â\88\80I,L2,K1,V. K1.â\93\91{I}V â\89\90[#0] L2 →
-                             â\88\83â\88\83K2. K1 â\89\90[V] K2 & L2 = K2.ⓑ{I}V.
+lemma lfeq_inv_zero_pair_sn: â\88\80I,L2,K1,V. K1.â\93\91{I}V â\89¡[#0] L2 →
+                             â\88\83â\88\83K2. K1 â\89¡[V] K2 & L2 = K2.ⓑ{I}V.
 #I #L2 #K1 #V #H
 elim (lfxs_inv_zero_pair_sn … H) -H #K2 #X #HK12 #HX #H destruct
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma lfeq_inv_zero_pair_dx: â\88\80I,L1,K2,V. L1 â\89\90[#0] K2.ⓑ{I}V →
-                             â\88\83â\88\83K1. K1 â\89\90[V] K2 & L1 = K1.ⓑ{I}V.
+lemma lfeq_inv_zero_pair_dx: â\88\80I,L1,K2,V. L1 â\89¡[#0] K2.ⓑ{I}V →
+                             â\88\83â\88\83K1. K1 â\89¡[V] K2 & L1 = K1.ⓑ{I}V.
 #I #L1 #K2 #V #H
 elim (lfxs_inv_zero_pair_dx … H) -H #K1 #X #HK12 #HX #H destruct
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma lfeq_inv_lref_bind_sn: â\88\80I1,K1,L2,i. K1.â\93\98{I1} â\89\90[#⫯i] L2 →
-                             â\88\83â\88\83I2,K2. K1 â\89\90[#i] K2 & L2 = K2.ⓘ{I2}.
+lemma lfeq_inv_lref_bind_sn: â\88\80I1,K1,L2,i. K1.â\93\98{I1} â\89¡[#⫯i] L2 →
+                             â\88\83â\88\83I2,K2. K1 â\89¡[#i] K2 & L2 = K2.ⓘ{I2}.
 /2 width=2 by lfxs_inv_lref_bind_sn/ qed-.
 
-lemma lfeq_inv_lref_bind_dx: â\88\80I2,K2,L1,i. L1 â\89\90[#⫯i] K2.ⓘ{I2} →
-                             â\88\83â\88\83I1,K1. K1 â\89\90[#i] K2 & L1 = K1.ⓘ{I1}.
+lemma lfeq_inv_lref_bind_dx: â\88\80I2,K2,L1,i. L1 â\89¡[#⫯i] K2.ⓘ{I2} →
+                             â\88\83â\88\83I1,K1. K1 â\89¡[#i] K2 & L1 = K1.ⓘ{I1}.
 /2 width=2 by lfxs_inv_lref_bind_dx/ qed-.
 
 (* Basic forward lemmas *****************************************************)
@@ -69,15 +69,15 @@ lemma lfeq_inv_lref_bind_dx: ∀I2,K2,L1,i. L1 ≐[#⫯i] K2.ⓘ{I2} →
 (* Basic_2A1: was: llpx_sn_lrefl *)
 (* Note: this should have been lleq_fwd_llpx_sn *)
 lemma lfeq_fwd_lfxs: ∀R. c_reflexive … R →
-                     â\88\80L1,L2,T. L1 â\89\90[T] L2 → L1 ⪤*[R, T] L2.
+                     â\88\80L1,L2,T. L1 â\89¡[T] L2 → L1 ⪤*[R, T] L2.
 #R #HR #L1 #L2 #T * #f #Hf #HL12
 /4 width=7 by lexs_co, cext2_co, ex2_intro/
 qed-.
 
 (* Basic_properties *********************************************************)
 
-lemma frees_lfeq_conf: â\88\80f,L1,T. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f →
-                       â\88\80L2. L1 â\89\90[T] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f.
+lemma frees_lfeq_conf: â\88\80f,L1,T. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f →
+                       â\88\80L2. L1 â\89¡[T] L2 â\86\92 L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f.
 #f #L1 #T #H elim H -f -L1 -T
 [ /2 width=3 by frees_sort/
 | #f #i #Hf #L2 #H2
index bb67cd3254a57b9a853704a05da6aab88a87bd99..0f80c977289f687fb8d248bb612c443df284c606 100644 (file)
@@ -29,5 +29,5 @@ qed.
 (* Forward lemmas with free variables inclusion for restricted closures *****)
 
 lemma lfeq_lfxs_trans: ∀R. lfeq_transitive R →
-                       â\88\80L1,L,T. L1 â\89\90[T] L → ∀L2. L ⪤*[R, T] L2 → L1 ⪤*[R, T] L2.
+                       â\88\80L1,L,T. L1 â\89¡[T] L → ∀L2. L ⪤*[R, T] L2 → L1 ⪤*[R, T] L2.
 /4 width=16 by lfeq_fsle_comp, lfxs_trans_fsle, lfxs_trans_next/ qed-.
index f2ab35f91a30c403f9948b99c2956341e66b7e08..8d82750f1db9f679e65824f307e5f1e4abfe4a6e 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/static/frees.ma".
 (* GENERIC EXTENSION ON REFERRED ENTRIES OF A CONTEXT-SENSITIVE REALTION ****)
 
 definition lfxs (R) (T): relation lenv ≝
-                Î»L1,L2. â\88\83â\88\83f. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f & L1 ⪤*[cext2 R, cfull, f] L2.
+                Î»L1,L2. â\88\83â\88\83f. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f & L1 ⪤*[cext2 R, cfull, f] L2.
 
 interpretation "generic extension on referred entries (local environment)"
    'RelationStar R T L1 L2 = (lfxs R T L1 L2).
@@ -300,8 +300,8 @@ lemma lfxs_co: ∀R1,R2. (∀L,T1,T2. R1 L T1 T2 → R2 L T1 T2) →
 qed-.
 
 lemma lfxs_isid: ∀R1,R2,L1,L2,T1,T2.
-                 (â\88\80f. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89¡ f → 𝐈⦃f⦄) →
-                 (â\88\80f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 L1 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89¡ f) →
+                 (â\88\80f. L1 â\8a¢ ð\9d\90\85*â¦\83T1â¦\84 â\89\98 f → 𝐈⦃f⦄) →
+                 (â\88\80f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 L1 â\8a¢ ð\9d\90\85*â¦\83T2â¦\84 â\89\98 f) →
                  L1 ⪤*[R1, T1] L2 → L1 ⪤*[R2, T2] L2.
 #R1 #R2 #L1 #L2 #T1 #T2 #H1 #H2 *
 /4 width=7 by lexs_co_isid, ex2_intro/
index 9e334565f386fc740e66a8f1bf9b6b19c905300e..40ce94c71227cb3a5a72492d04311a61a63d2985 100644 (file)
@@ -20,23 +20,23 @@ include "basic_2/static/lfxs.ma".
 (* GENERIC EXTENSION ON REFERRED ENTRIES OF A CONTEXT-SENSITIVE REALTION ****)
 
 definition dedropable_sn: predicate (relation3 lenv term term) ≝
-                          Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 →
-                          â\88\80K2,T. K1 âª¤*[R, T] K2 â\86\92 â\88\80U. â¬\86*[f] T â\89¡ U →
-                          â\88\83â\88\83L2. L1 âª¤*[R, U] L2 & â¬\87*[b, f] L2 â\89¡ K2 & L1 â\89\90[f] L2.
+                          Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 →
+                          â\88\80K2,T. K1 âª¤*[R, T] K2 â\86\92 â\88\80U. â¬\86*[f] T â\89\98 U →
+                          â\88\83â\88\83L2. L1 âª¤*[R, U] L2 & â¬\87*[b, f] L2 â\89\98 K2 & L1 â\89¡[f] L2.
 
 definition dropable_sn: predicate (relation3 lenv term term) ≝
-                        Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 → 𝐔⦃f⦄ →
-                        â\88\80L2,U. L1 âª¤*[R, U] L2 â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                        â\88\83â\88\83K2. K1 âª¤*[R, T] K2 & â¬\87*[b, f] L2 â\89¡ K2.
+                        Î»R. â\88\80b,f,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 → 𝐔⦃f⦄ →
+                        â\88\80L2,U. L1 âª¤*[R, U] L2 â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                        â\88\83â\88\83K2. K1 âª¤*[R, T] K2 & â¬\87*[b, f] L2 â\89\98 K2.
 
 definition dropable_dx: predicate (relation3 lenv term term) ≝
                         λR. ∀L1,L2,U. L1 ⪤*[R, U] L2 →
-                        â\88\80b,f,K2. â¬\87*[b, f] L2 â\89¡ K2 â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80T. â¬\86*[f] T â\89¡ U →
-                        â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1 & K1 ⪤*[R, T] K2.
+                        â\88\80b,f,K2. â¬\87*[b, f] L2 â\89\98 K2 â\86\92 ð\9d\90\94â¦\83fâ¦\84 â\86\92 â\88\80T. â¬\86*[f] T â\89\98 U →
+                        â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1 & K1 ⪤*[R, T] K2.
 
 definition lfxs_transitive_next: relation3 … ≝ λR1,R2,R3.
-                                 â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f →
-                                 â\88\80g,I,K,n. â¬\87*[n] L â\89¡ K.ⓘ{I} → ⫯g = ⫱*[n] f →
+                                 â\88\80f,L,T. L â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f →
+                                 â\88\80g,I,K,n. â¬\87*[n] L â\89\98 K.ⓘ{I} → ⫯g = ⫱*[n] f →
                                  lexs_transitive (cext2 R1) (cext2 R2) (cext2 R3) (cext2 R1) cfull g K I.
 
 (* Properties with generic slicing for local environments *******************)
@@ -88,36 +88,36 @@ qed-.
 
 (* Basic_2A1: uses: llpx_sn_inv_lift_O *)
 lemma lfxs_inv_lifts_bi: ∀R,L1,L2,U. L1 ⪤*[R, U] L2 → ∀b,f. 𝐔⦃f⦄ → 
-                         â\88\80K1,K2. â¬\87*[b, f] L1 â\89¡ K1 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                         â\88\80T. â¬\86*[f] T â\89¡ U → K1 ⪤*[R, T] K2.
+                         â\88\80K1,K2. â¬\87*[b, f] L1 â\89\98 K1 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                         â\88\80T. â¬\86*[f] T â\89\98 U → K1 ⪤*[R, T] K2.
 #R #L1 #L2 #U #HL12 #b #f #Hf #K1 #K2 #HLK1 #HLK2 #T #HTU
 elim (lfxs_dropable_sn … HLK1 … HL12 … HTU) -L1 -U // #Y #HK12 #HY
 lapply (drops_mono … HY … HLK2) -b -f -L2 #H destruct //
 qed-.
 
-lemma lfxs_inv_lref_pair_sn: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 →
-                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 & K1 ⪤*[R, V1] K2 & R K1 V1 V2.
+lemma lfxs_inv_lref_pair_sn: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 →
+                             â\88\83â\88\83K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 & K1 ⪤*[R, V1] K2 & R K1 V1 V2.
 #R #L1 #L2 #i #HL12 #I #K1 #V1 #HLK1 elim (lfxs_dropable_sn … HLK1 … HL12 (#0)) -HLK1 -HL12 //
 #Y #HY #HLK2 elim (lfxs_inv_zero_pair_sn … HY) -HY
 #K2 #V2 #HK12 #HV12 #H destruct /2 width=5 by ex3_2_intro/
 qed-.
 
-lemma lfxs_inv_lref_pair_dx: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89¡ K2.ⓑ{I}V2 →
-                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89¡ K1.ⓑ{I}V1 & K1 ⪤*[R, V1] K2 & R K1 V1 V2.
+lemma lfxs_inv_lref_pair_dx: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K2,V2. â¬\87*[i] L2 â\89\98 K2.ⓑ{I}V2 →
+                             â\88\83â\88\83K1,V1. â¬\87*[i] L1 â\89\98 K1.ⓑ{I}V1 & K1 ⪤*[R, V1] K2 & R K1 V1 V2.
 #R #L1 #L2 #i #HL12 #I #K2 #V2 #HLK2 elim (lfxs_dropable_dx … HL12 … HLK2 … (#0)) -HLK2 -HL12 //
 #Y #HLK1 #HY elim (lfxs_inv_zero_pair_dx … HY) -HY
 #K1 #V1 #HK12 #HV12 #H destruct /2 width=5 by ex3_2_intro/
 qed-.
 
-lemma lfxs_inv_lref_unit_sn: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K1. â¬\87*[i] L1 â\89¡ K1.ⓤ{I} →
-                             â\88\83â\88\83f,K2. â¬\87*[i] L2 â\89¡ K2.ⓤ{I} & K1 ⪤*[cext2 R, cfull, f] K2 & 𝐈⦃f⦄.
+lemma lfxs_inv_lref_unit_sn: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K1. â¬\87*[i] L1 â\89\98 K1.ⓤ{I} →
+                             â\88\83â\88\83f,K2. â¬\87*[i] L2 â\89\98 K2.ⓤ{I} & K1 ⪤*[cext2 R, cfull, f] K2 & 𝐈⦃f⦄.
 #R #L1 #L2 #i #HL12 #I #K1 #HLK1 elim (lfxs_dropable_sn … HLK1 … HL12 (#0)) -HLK1 -HL12 //
 #Y #HY #HLK2 elim (lfxs_inv_zero_unit_sn … HY) -HY
 #f #K2 #Hf #HK12 #H destruct /2 width=5 by ex3_2_intro/
 qed-.
 
-lemma lfxs_inv_lref_unit_dx: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K2. â¬\87*[i] L2 â\89¡ K2.ⓤ{I} →
-                             â\88\83â\88\83f,K1. â¬\87*[i] L1 â\89¡ K1.ⓤ{I} & K1 ⪤*[cext2 R, cfull, f] K2 & 𝐈⦃f⦄.
+lemma lfxs_inv_lref_unit_dx: â\88\80R,L1,L2,i. L1 âª¤*[R, #i] L2 â\86\92 â\88\80I,K2. â¬\87*[i] L2 â\89\98 K2.ⓤ{I} →
+                             â\88\83â\88\83f,K1. â¬\87*[i] L1 â\89\98 K1.ⓤ{I} & K1 ⪤*[cext2 R, cfull, f] K2 & 𝐈⦃f⦄.
 #R #L1 #L2 #i #HL12 #I #K2 #HLK2 elim (lfxs_dropable_dx … HL12 … HLK2 … (#0)) -HLK2 -HL12 //
 #Y #HLK1 #HY elim (lfxs_inv_zero_unit_dx … HY) -HY
 #f #K2 #Hf #HK12 #H destruct /2 width=5 by ex3_2_intro/
index 011748dbfd44b20e4c68115c2a9645b2151ce0ca..000a74e6553c2075c7bc9d128c139427539ff631 100644 (file)
@@ -31,9 +31,9 @@ definition lfxs_fsle_compatible: predicate (relation3 …) ≝ λRN.
 (* Basic inversions with free variables inclusion for restricted closures ***)
 
 lemma frees_lexs_conf: ∀R. lfxs_fsge_compatible R →
-                       â\88\80L1,T,f1. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1 →
+                       â\88\80L1,T,f1. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1 →
                        ∀L2. L1 ⪤*[cext2 R, cfull, f1] L2 →
-                       â\88\83â\88\83f2. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 & f2 ⊆ f1.
+                       â\88\83â\88\83f2. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 & f2 ⊆ f1.
 #R #HR #L1 #T #f1 #Hf1 #L2 #H1L
 lapply (HR L1 L2 T ?) /2 width=3 by ex2_intro/ #H2L
 @(fsle_frees_trans_eq … H2L … Hf1) /3 width=4 by lexs_fwd_length, sym_eq/
index 5f8b62e081f0a4d899a6af62356b725665435ce2..2d2b51d81afd059781fc1879a55a0e4c7f2f866b 100644 (file)
@@ -29,8 +29,8 @@ qed-.
 (* Basic_2A1: uses: llpx_sn_lift_le llpx_sn_lift_ge *)
 lemma lfxs_lifts_bi: ∀R.d_liftable2_sn … lifts R →
                      ∀L1,L2. |L1| = |L2| → ∀K1,K2,T. K1 ⪤*[R, T] K2 →
-                     â\88\80b,f. â¬\87*[b, f] L1 â\89¡ K1 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                     â\88\80U. â¬\86*[f] T â\89¡ U → L1 ⪤*[R, U] L2.
+                     â\88\80b,f. â¬\87*[b, f] L1 â\89\98 K1 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                     â\88\80U. â¬\86*[f] T â\89\98 U → L1 ⪤*[R, U] L2.
 #R #HR #L1 #L2 #HL12 #K1 #K2 #T * #f1 #Hf1 #HK12 #b #f #HLK1 #HLK2 #U #HTU
 elim (frees_total L1 U) #f2 #Hf2
 lapply (frees_fwd_coafter … Hf2 … HLK1 … HTU … Hf1) -HTU #Hf
index 2957ac1c3460d3c10c86a753533866fcba250952..01f578f4eb581a764f2436e6f75bfa99604cb4ff 100644 (file)
@@ -31,7 +31,7 @@ qed.
 lemma lfxs_inv_lex_lfeq: ∀R. c_reflexive … R →
                          lfxs_fsge_compatible R →
                          ∀L1,L2,T. L1 ⪤*[R, T] L2 →
-                         â\88\83â\88\83L. L1 âª¤[R] L & L â\89\90[T] L2.
+                         â\88\83â\88\83L. L1 âª¤[R] L & L â\89¡[T] L2.
 #R #H1R #H2R #L1 #L2 #T * #f1 #Hf1 #HL
 elim (lexs_sdj_split … ceq_ext … HL 𝐈𝐝 ?) -HL
 [ #L0 #HL10 #HL02 |*: /2 width=1 by ext2_refl, sdj_isid_dx/ ] -H1R
index 3b5982899d7ab94bfa1d4e106848f0702d0bccbf..89b84566be4e1e6aadced8a7c63dd302c36dbf69 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/static/lfxs.ma".
 (* Advanced inversion lemmas ************************************************)
 
 lemma lfxs_inv_frees: ∀R,L1,L2,T. L1 ⪤*[R, T] L2 →
-                      â\88\80f. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f → L1 ⪤*[cext2 R, cfull, f] L2.
+                      â\88\80f. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f → L1 ⪤*[cext2 R, cfull, f] L2.
 #R #L1 #L2 #T * /3 width=6 by frees_mono, lexs_eq_repl_back/
 qed-.
 
index 5f684767fd2cf6695fadddc4e097052d5d7dcffa..e55602e4f25b6ac2bdd6dd07499744748c85fe84 100644 (file)
@@ -22,8 +22,8 @@ include "basic_2/static/lsuba.ma".
 (* Note: the premise 𝐔⦃f⦄ cannot be removed *)
 (* Basic_2A1: includes: lsuba_drop_O1_conf *)
 lemma lsuba_drops_conf_isuni: ∀G,L1,L2. G ⊢ L1 ⫃⁝ L2 → 
-                              â\88\80b,f,K1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L1 â\89¡ K1 →
-                              â\88\83â\88\83K2. G â\8a¢ K1 â«\83â\81\9d K2 & â¬\87*[b, f] L2 â\89¡ K2.
+                              â\88\80b,f,K1. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L1 â\89\98 K1 →
+                              â\88\83â\88\83K2. G â\8a¢ K1 â«\83â\81\9d K2 & â¬\87*[b, f] L2 â\89\98 K2.
 #G #L1 #L2 #H elim H -L1 -L2
 [ /2 width=3 by ex2_intro/
 | #I #L1 #L2 #HL12 #IH #b #f #K1 #Hf #H
@@ -46,8 +46,8 @@ qed-.
 (* Note: the premise 𝐔⦃f⦄ cannot be removed *)
 (* Basic_2A1: includes: lsuba_drop_O1_trans *)
 lemma lsuba_drops_trans_isuni: ∀G,L1,L2. G ⊢ L1 ⫃⁝ L2 →
-                               â\88\80b,f,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                               â\88\83â\88\83K1. G â\8a¢ K1 â«\83â\81\9d K2 & â¬\87*[b, f] L1 â\89¡ K1.
+                               â\88\80b,f,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                               â\88\83â\88\83K1. G â\8a¢ K1 â«\83â\81\9d K2 & â¬\87*[b, f] L1 â\89\98 K1.
 #G #L1 #L2 #H elim H -L1 -L2
 [ /2 width=3 by ex2_intro/
 | #I #L1 #L2 #HL12 #IH #b #f #K2 #Hf #H
index b5889a09ec31508f40854feb1e60eb9fe9f246fb..1916a81b4f619d99ad13858a21182b7418f935ac 100644 (file)
@@ -23,8 +23,8 @@ include "basic_2/static/lsubc.ma".
 (* Basic_1: includes: csubc_drop_conf_O *)
 (* Basic_2A1: includes: lsubc_drop_O1_trans *)
 lemma lsubc_drops_trans_isuni: ∀RP,G,L1,L2. G ⊢ L1 ⫃[RP] L2 →
-                               â\88\80b,f,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89¡ K2 →
-                               â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89¡ K1 & G ⊢ K1 ⫃[RP] K2.
+                               â\88\80b,f,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89\98 K2 →
+                               â\88\83â\88\83K1. â¬\87*[b, f] L1 â\89\98 K1 & G ⊢ K1 ⫃[RP] K2.
 #RP #G #L1 #L2 #H elim H -L1 -L2
 [ /2 width=3 by ex2_intro/
 | #I #L1 #L2 #HL12 #IH #b #f #K2 #Hf #H
@@ -48,8 +48,8 @@ qed-.
 (* Basic_1: includes: csubc_drop_conf_rev *)
 (* Basic_2A1: includes: drop_lsubc_trans *)
 lemma drops_lsubc_trans: ∀RR,RS,RP. gcp RR RS RP →
-                         â\88\80b,f,G,L1,K1. â¬\87*[b, f] L1 â\89¡ K1 → ∀K2. G ⊢ K1 ⫃[RP] K2 →
-                         â\88\83â\88\83L2. G â\8a¢ L1 â«\83[RP] L2 & â¬\87*[b, f] L2 â\89¡ K2.
+                         â\88\80b,f,G,L1,K1. â¬\87*[b, f] L1 â\89\98 K1 → ∀K2. G ⊢ K1 ⫃[RP] K2 →
+                         â\88\83â\88\83L2. G â\8a¢ L1 â«\83[RP] L2 & â¬\87*[b, f] L2 â\89\98 K2.
 #RR #RS #RP #HR #b #f #G #L1 #K1 #H elim H -f -L1 -K1
 [ #f #Hf #Y #H lapply (lsubc_inv_atom1 … H) -H
   #H destruct /4 width=3 by lsubc_atom, drops_atom, ex2_intro/
index 62b114915f9097c3447d12bae64ec9c7179bfef4..23d4d379ba0eb4af646fb59511fa5aa05383a270 100644 (file)
@@ -24,9 +24,9 @@ inductive lsubf: relation4 lenv rtmap lenv rtmap ≝
               lsubf (L1.ⓘ{I1}) (↑f1) (L2.ⓘ{I2}) (↑f2)
 | lsubf_bind: ∀f1,f2,I,L1,L2. lsubf L1 f1 L2 f2 →
               lsubf (L1.ⓘ{I}) (⫯f1) (L2.ⓘ{I}) (⫯f2)
-| lsubf_beta: â\88\80f,f0,f1,f2,L1,L2,W,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f â\86\92 f0 â\8b\93 f â\89¡ f1 →
+| lsubf_beta: â\88\80f,f0,f1,f2,L1,L2,W,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f â\86\92 f0 â\8b\93 f â\89\98 f1 →
               lsubf L1 f0 L2 f2 → lsubf (L1.ⓓⓝW.V) (⫯f1) (L2.ⓛW) (⫯f2)
-| lsubf_unit: â\88\80f,f0,f1,f2,I1,I2,L1,L2,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f â\86\92 f0 â\8b\93 f â\89¡ f1 →
+| lsubf_unit: â\88\80f,f0,f1,f2,I1,I2,L1,L2,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f â\86\92 f0 â\8b\93 f â\89\98 f1 →
               lsubf L1 f0 L2 f2 → lsubf (L1.ⓑ{I1}V) (⫯f1) (L2.ⓤ{I2}) (⫯f2)
 .
 
@@ -71,10 +71,10 @@ fact lsubf_inv_pair1_aux: ∀f1,f2,L1,L2. ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄ →
                           ∀g1,I,K1,X. f1 = ⫯g1 → L1 = K1.ⓑ{I}X →
                           ∨∨ ∃∃g2,K2. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f2 = ⫯g2 & L2 = K2.ⓑ{I}X
                            | ∃∃g,g0,g2,K2,W,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                               K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2 &
+                                               K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2 &
                                                I = Abbr & X = ⓝW.V & L2 = K2.ⓛW
                            | ∃∃g,g0,g2,J,K2. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                             K1 â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2 &
+                                             K1 â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2 &
                                              L2 = K2.ⓤ{J}.
 #f1 #f2 #L1 #L2 * -f1 -f2 -L1 -L2
 [ #f1 #f2 #_ #g1 #J #K1 #X #_ #H destruct
@@ -91,10 +91,10 @@ qed-.
 lemma lsubf_inv_pair1: ∀g1,f2,I,K1,L2,X. ⦃K1.ⓑ{I}X, ⫯g1⦄ ⫃𝐅* ⦃L2, f2⦄ →
                        ∨∨ ∃∃g2,K2. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f2 = ⫯g2 & L2 = K2.ⓑ{I}X
                         | ∃∃g,g0,g2,K2,W,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                            K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2 &
+                                            K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2 &
                                             I = Abbr & X = ⓝW.V & L2 = K2.ⓛW
                         | ∃∃g,g0,g2,J,K2. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                          K1 â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2 &
+                                          K1 â\8a¢ ð\9d\90\85*â¦\83Xâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2 &
                                           L2 = K2.ⓤ{J}.
 /2 width=5 by lsubf_inv_pair1_aux/ qed-.
 
@@ -150,7 +150,7 @@ fact lsubf_inv_pair2_aux: ∀f1,f2,L1,L2. ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄ →
                           ∀g2,I,K2,W. f2 = ⫯g2 → L2 = K2.ⓑ{I}W →
                           ∨∨ ∃∃g1,K1. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f1 = ⫯g1 & L1 = K1.ⓑ{I}W
                            | ∃∃g,g0,g1,K1,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ &
-                                             K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f1 = ⫯g1 &
+                                             K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f1 = ⫯g1 &
                                              I = Abst & L1 = K1.ⓓⓝW.V.
 #f1 #f2 #L1 #L2 * -f1 -f2 -L1 -L2
 [ #f1 #f2 #_ #g2 #J #K2 #X #_ #H destruct
@@ -166,7 +166,7 @@ qed-.
 lemma lsubf_inv_pair2: ∀f1,g2,I,L1,K2,W. ⦃L1, f1⦄ ⫃𝐅* ⦃K2.ⓑ{I}W, ⫯g2⦄ →
                        ∨∨ ∃∃g1,K1. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f1 = ⫯g1 & L1 = K1.ⓑ{I}W
                         | ∃∃g,g0,g1,K1,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ &
-                                          K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f1 = ⫯g1 &
+                                          K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f1 = ⫯g1 &
                                           I = Abst & L1 = K1.ⓓⓝW.V.
 /2 width=5 by lsubf_inv_pair2_aux/ qed-.
 
@@ -174,7 +174,7 @@ fact lsubf_inv_unit2_aux: ∀f1,f2,L1,L2. ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄ →
                           ∀g2,I,K2. f2 = ⫯g2 → L2 = K2.ⓤ{I} →
                           ∨∨ ∃∃g1,K1. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f1 = ⫯g1 & L1 = K1.ⓤ{I}
                            | ∃∃g,g0,g1,J,K1,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                               K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f1 = ⫯g1 &
+                                               K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f1 = ⫯g1 &
                                                L1 = K1.ⓑ{J}V.
 #f1 #f2 #L1 #L2 * -f1 -f2 -L1 -L2
 [ #f1 #f2 #_ #g2 #J #K2 #_ #H destruct
@@ -190,7 +190,7 @@ qed-.
 lemma lsubf_inv_unit2: ∀f1,g2,I,L1,K2. ⦃L1, f1⦄ ⫃𝐅* ⦃K2.ⓤ{I}, ⫯g2⦄ →
                        ∨∨ ∃∃g1,K1. ⦃K1, g1⦄ ⫃𝐅* ⦃K2, g2⦄ & f1 = ⫯g1 & L1 = K1.ⓤ{I}
                         | ∃∃g,g0,g1,J,K1,V. ⦃K1, g0⦄ ⫃𝐅* ⦃K2, g2⦄ & 
-                                            K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f1 = ⫯g1 &
+                                            K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f1 = ⫯g1 &
                                             L1 = K1.ⓑ{J}V.
 /2 width=5 by lsubf_inv_unit2_aux/ qed-.
 
@@ -220,7 +220,7 @@ lemma lsubf_inv_bind_sn: ∀g1,f2,I,K1,K2. ⦃K1.ⓘ{I}, ⫯g1⦄ ⫃𝐅* ⦃K2
 qed-.
 
 lemma lsubf_inv_beta_sn: ∀g1,f2,K1,K2,V,W. ⦃K1.ⓓⓝW.V, ⫯g1⦄ ⫃𝐅* ⦃K2.ⓛW, f2⦄ →
-                         â\88\83â\88\83g,g0,g2. â¦\83K1, g0â¦\84 â«\83ð\9d\90\85* â¦\83K2, g2â¦\84 & K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2.
+                         â\88\83â\88\83g,g0,g2. â¦\83K1, g0â¦\84 â«\83ð\9d\90\85* â¦\83K2, g2â¦\84 & K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2.
 #g1 #f2 #K1 #K2 #V #W #H elim (lsubf_inv_pair1 … H) -H *
 [ #z2 #Y2 #_ #_ #H destruct
 | #z #z0 #z2 #Y2 #X0 #X #H02 #Hz #Hg1 #H #_ #H0 #H1 destruct
@@ -230,7 +230,7 @@ lemma lsubf_inv_beta_sn: ∀g1,f2,K1,K2,V,W. ⦃K1.ⓓⓝW.V, ⫯g1⦄ ⫃𝐅*
 qed-.
 
 lemma lsubf_inv_unit_sn: ∀g1,f2,I,J,K1,K2,V. ⦃K1.ⓑ{I}V, ⫯g1⦄ ⫃𝐅* ⦃K2.ⓤ{J}, f2⦄ →
-                         â\88\83â\88\83g,g0,g2. â¦\83K1, g0â¦\84 â«\83ð\9d\90\85* â¦\83K2, g2â¦\84 & K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ g & g0 â\8b\93 g â\89¡ g1 & f2 = ⫯g2.
+                         â\88\83â\88\83g,g0,g2. â¦\83K1, g0â¦\84 â«\83ð\9d\90\85* â¦\83K2, g2â¦\84 & K1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 g & g0 â\8b\93 g â\89\98 g1 & f2 = ⫯g2.
 #g1 #f2 #I #J #K1 #K2 #V #H elim (lsubf_inv_pair1 … H) -H *
 [ #z2 #Y2 #_ #_ #H destruct
 | #z #z0 #z2 #Y2 #X0 #X #_ #_ #_ #_ #_ #_ #H destruct
@@ -312,7 +312,7 @@ elim (pn_split f2) * #g2 #H2 destruct
 @ex2_intro [1,2,4,5: /2 width=2 by lsubf_push, lsubf_bind/ ] // (**) (* constructor needed *)
 qed-.
 
-lemma lsubf_beta_tl_dx: â\88\80f,f0,g1,L1,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89¡ f â\86\92 f0 â\8b\93 f â\89¡ g1 →
+lemma lsubf_beta_tl_dx: â\88\80f,f0,g1,L1,V. L1 â\8a¢ ð\9d\90\85*â¦\83Vâ¦\84 â\89\98 f â\86\92 f0 â\8b\93 f â\89\98 g1 →
                         ∀f2,L2,W. ⦃L1, f0⦄ ⫃𝐅* ⦃L2, ⫱f2⦄ →
                         ∃∃f1. ⦃L1.ⓓⓝW.V, f1⦄ ⫃𝐅* ⦃L2.ⓛW, f2⦄ & ⫱f1 ⊆ g1.
 #f #f0 #g1 #L1 #V #Hf #Hg1 #f2
@@ -324,8 +324,8 @@ qed-.
 
 (* Note: this might be moved *)
 lemma lsubf_inv_sor_dx: ∀f1,f2,L1,L2. ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄ →
-                        â\88\80f2l,f2r. f2lâ\8b\93f2r â\89¡ f2 →
-                        â\88\83â\88\83f1l,f1r. â¦\83L1, f1lâ¦\84 â«\83ð\9d\90\85* â¦\83L2, f2lâ¦\84 & â¦\83L1, f1râ¦\84 â«\83ð\9d\90\85* â¦\83L2, f2râ¦\84 & f1lâ\8b\93f1r â\89¡ f1.
+                        â\88\80f2l,f2r. f2lâ\8b\93f2r â\89\98 f2 →
+                        â\88\83â\88\83f1l,f1r. â¦\83L1, f1lâ¦\84 â«\83ð\9d\90\85* â¦\83L2, f2lâ¦\84 & â¦\83L1, f1râ¦\84 â«\83ð\9d\90\85* â¦\83L2, f2râ¦\84 & f1lâ\8b\93f1r â\89\98 f1.
 #f1 #f2 #L1 #L2 #H elim H -f1 -f2 -L1 -L2
 [ /3 width=7 by sor_eq_repl_fwd3, ex3_2_intro/
 | #g1 #g2 #I1 #I2 #L1 #L2 #_ #IH #f2l #f2r #H
index b1f39c8123257c83761dc94ec69bd6291673a14a..390e6f13a368c47fb2b4b42f80506dba3f179ece 100644 (file)
@@ -18,8 +18,8 @@ include "basic_2/static/lsubf.ma".
 
 (* Properties with context-sensitive free variables *************************)
 
-lemma lsubf_frees_trans: â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 →
-                         â\88\80f1,L1. â¦\83L1, f1â¦\84 â«\83ð\9d\90\85* â¦\83L2, f2â¦\84 â\86\92 L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1.
+lemma lsubf_frees_trans: â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 →
+                         â\88\80f1,L1. â¦\83L1, f1â¦\84 â«\83ð\9d\90\85* â¦\83L2, f2â¦\84 â\86\92 L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1.
 #f2 #L2 #T #H elim H -f2 -L2 -T
 [ /3 width=5 by lsubf_fwd_isid_dx, frees_sort/
 | #f2 #i #Hf2 #g1 #Y1 #H
index ff05e01079a54e86af909acefe96b589316090bb..63211ac45bc186ae4a7d55fcd9d37eb41c07587d 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/static/lsubf.ma".
 
 theorem lsubf_sor: ∀K,L,g1,f1. ⦃K, g1⦄ ⫃𝐅* ⦃L, f1⦄ →
                    ∀g2,f2. ⦃K, g2⦄ ⫃𝐅* ⦃L, f2⦄ →
-                   â\88\80g. g1 â\8b\93 g2 â\89¡ g â\86\92 â\88\80f. f1 â\8b\93 f2 â\89¡ f → ⦃K, g⦄ ⫃𝐅* ⦃L, f⦄.
+                   â\88\80g. g1 â\8b\93 g2 â\89\98 g â\86\92 â\88\80f. f1 â\8b\93 f2 â\89\98 f → ⦃K, g⦄ ⫃𝐅* ⦃L, f⦄.
 #K elim K -K
 [ #L #g1 #f1 #H1 #g2 #f2 #H2 #g #Hg #f #Hf
   elim (lsubf_inv_atom1 … H1) -H1 #H1 #H destruct
index 936518fcbbf7e54683332f8854f91bcc7701c74c..24b7e90d2b63667ebf0038a1bec6e9f099c9f6fc 100644 (file)
@@ -44,8 +44,8 @@ elim (isid_inv_gen … Hf2) -Hf2 #g2 #Hg2 #H destruct
 /3 width=1 by lsubf_push/
 qed.
 
-lemma lsubr_lsubf: â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f2 → ∀L1. L1 ⫃ L2 →
-                   â\88\80f1. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89¡ f1 → ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄.
+lemma lsubr_lsubf: â\88\80f2,L2,T. L2 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f2 → ∀L1. L1 ⫃ L2 →
+                   â\88\80f1. L1 â\8a¢ ð\9d\90\85*â¦\83Tâ¦\84 â\89\98 f1 → ⦃L1, f1⦄ ⫃𝐅* ⦃L2, f2⦄.
 #f2 #L2 #T #H elim H -f2 -L2 -T
 [ #f2 #L2 #s #Hf2 #L1 #HL12 #f1 #Hf1
   lapply (frees_inv_sort … Hf1) -Hf1 /2 width=1 by lsubr_lsubf_isid/
index 9a2fa5cdd989e3cf91a68b6fb16ba3cc3afa7520..f69618336444b10501d6957bba1844518950b816 100644 (file)
@@ -21,10 +21,10 @@ include "basic_2/static/lsubr.ma".
 
 (* Basic_2A1: includes: lsubr_fwd_drop2_pair *)
 lemma lsubr_fwd_drops2_bind: ∀L1,L2. L1 ⫃ L2 → 
-                             â\88\80b,f,I,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89¡ K2.ⓘ{I} →
-                             â\88¨â\88¨ â\88\83â\88\83K1. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89¡ K1.ⓘ{I}
-                              | â\88\83â\88\83K1,W,V. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89¡ K1.ⓓⓝW.V & I = BPair Abst W
-                              | â\88\83â\88\83J1,J2,K1,V. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89¡ K1.ⓑ{J1}V & I = BUnit J2.
+                             â\88\80b,f,I,K2. ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89\98 K2.ⓘ{I} →
+                             â\88¨â\88¨ â\88\83â\88\83K1. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89\98 K1.ⓘ{I}
+                              | â\88\83â\88\83K1,W,V. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89\98 K1.ⓓⓝW.V & I = BPair Abst W
+                              | â\88\83â\88\83J1,J2,K1,V. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89\98 K1.ⓑ{J1}V & I = BUnit J2.
 #L1 #L2 #H elim H -L1 -L2
 [ #b #f #I #K2 #_ #H
   elim (drops_inv_atom1 … H) -H #H destruct
@@ -42,8 +42,8 @@ qed-.
 
 (* Basic_2A1: includes: lsubr_fwd_drop2_abbr *)
 lemma lsubr_fwd_drops2_abbr: ∀L1,L2. L1 ⫃ L2 →
-                             â\88\80b,f,K2,V.  ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89¡ K2.ⓓV →
-                             â\88\83â\88\83K1. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89¡ K1.ⓓV.
+                             â\88\80b,f,K2,V.  ð\9d\90\94â¦\83fâ¦\84 â\86\92 â¬\87*[b, f] L2 â\89\98 K2.ⓓV →
+                             â\88\83â\88\83K1. K1 â«\83 K2 & â¬\87*[b, f] L1 â\89\98 K1.ⓓV.
 #L1 #L2 #HL12 #b #f #K2 #V #Hf #HLK2
 elim (lsubr_fwd_drops2_bind … HL12 … Hf HLK2) -L2 -Hf // *
 [ #K1 #W #V #_ #_ #H destruct
index 6e484843a531ba0f313b98e4f2fddb60b10b28de..11112816b08512a2afad239d6fad073a23b0a808 100644 (file)
@@ -161,7 +161,7 @@ table {
           }
         ]
         [ { "syntactic equivalence" * } {
-             [ [ "for lenvs on referred entries" ] "lfeq" + "( ? â\89\90[?] ? )" "lfeq_fqup" + "lfeq_fsle" * ]
+             [ [ "for lenvs on referred entries" ] "lfeq" + "( ? â\89¡[?] ? )" "lfeq_fqup" + "lfeq_fsle" * ]
           }
         ]
         [ { "generic extension of a context-sensitive relation" * } {
@@ -171,7 +171,7 @@ table {
         [ { "context-sensitive free variables" * } {
              [ [ "inclusion for restricted closures" ] "fsle" + "( ⦃?,?⦄ ⊆ ⦃?,?⦄ )" "fsle_length" + "fsle_drops" + "fsle_fqup" + "fsle_fsle" * ]
              [ [ "restricted refinement for lenvs" ] "lsubf" + "( ⦃?,?⦄ ⫃𝐅* ⦃?,?⦄ )" "lsubf_lsubr" + "lsubf_frees" + "lsubf_lsubf" * ]
-             [ [ "for terms" ] "frees" + "( ? â\8a¢ ð\9d\90\85*â¦\83?â¦\84 â\89¡ ? )" "frees_append" + "frees_drops" + "frees_fqup" + "frees_frees" * ]
+             [ [ "for terms" ] "frees" + "( ? â\8a¢ ð\9d\90\85*â¦\83?â¦\84 â\89\98 ? )" "frees_append" + "frees_drops" + "frees_fqup" + "frees_frees" * ]
           }
         ]
         [ { "local environments" * } {
@@ -201,17 +201,17 @@ table {
    class "orange"
    [ { "relocation" * } {
         [ { "generic slicing" * } {
-             [ [ "for lenvs" ] "drops" + "( â¬\87*[?,?] ? â\89¡ ? )" + "( â¬\87*[?] ? â\89¡ ? )" "drops_lstar" + "drops_weight" + "drops_length" + "drops_cext2" + "drops_lexs" + "drops_lreq" + "drops_drops" + "drops_vector" * ]
+             [ [ "for lenvs" ] "drops" + "( â¬\87*[?,?] ? â\89\98 ? )" + "( â¬\87*[?] ? â\89\98 ? )" "drops_lstar" + "drops_weight" + "drops_length" + "drops_cext2" + "drops_lexs" + "drops_lreq" + "drops_drops" + "drops_vector" * ]
           }
         ]
         [ { "generic relocation" * } {
-             [ [ "for binders" ] "lifts_bind" + "( â¬\86*[?] ? â\89¡ ? )" "lifts_weight_bind" + "lifts_lifts_bind" * ]
-             [ [ "for term vectors" ] "lifts_vector" + "( â¬\86*[?] ? â\89¡ ? )" "lifts_lifts_vector" * ]
-             [ [ "for terms" ] "lifts" + "( â¬\86*[?] ? â\89¡ ? )" "lifts_simple" + "lifts_weight" + "lifts_tdeq" + "lifts_lifts" * ]
+             [ [ "for binders" ] "lifts_bind" + "( â¬\86*[?] ? â\89\98 ? )" "lifts_weight_bind" + "lifts_lifts_bind" * ]
+             [ [ "for term vectors" ] "lifts_vector" + "( â¬\86*[?] ? â\89\98 ? )" "lifts_lifts_vector" * ]
+             [ [ "for terms" ] "lifts" + "( â¬\86*[?] ? â\89\98 ? )" "lifts_simple" + "lifts_weight" + "lifts_tdeq" + "lifts_lifts" * ]
           }
         ]
         [ { "syntactic equivalence" * } {
-             [ [ "for lenvs on selected entries" ] "lreq" + "( ? â\89\90[?] ? )" "lreq_length" + "lreq_lreq" * ]
+             [ [ "for lenvs on selected entries" ] "lreq" + "( ? â\89¡[?] ? )" "lreq_length" + "lreq_lreq" * ]
           }
         ]
         [ { "generic entrywise extension" * } {
@@ -342,7 +342,7 @@ class "italic"            { 2 }
           }
         ]
         [ { "global env. slicing" * } {
-             [ [ "" ] "gget ( â¬\87[?] ? â\89¡ ? )" "gget_gget" * ]
+             [ [ "" ] "gget ( â¬\87[?] ? â\89\98 ? )" "gget_gget" * ]
           }
         ]
         [ { "context-sensitive ordinary rt-substitution" * } {
index cc8a4318c61628d6882fa9b8ea3ebd1edfff4f4f..e8d881af0ad899b7279866481589f546e645f905 100644 (file)
@@ -17,14 +17,14 @@ include "ground_2/lib/relations.ma".
 
 (* TRANSITIVE CLOSURE *******************************************************)
 
-definition LTC: ∀A:Type[0]. ∀B. (A→relation B) → (A→relation B) ≝
+definition CTC: ∀A:Type[0]. ∀B. (A→relation B) → (A→relation B) ≝
                 λA,B,R,a. TC … (R a).
 
 definition s_r_transitive: ∀A,B. relation2 (A→relation B) (B→relation A) ≝ λA,B,R1,R2.
-                           ∀L2,T1,T2. R1 L2 T1 T2 → ∀L1. R2 T1 L1 L2 → LTC … R1 L1 T1 T2.
+                           ∀L2,T1,T2. R1 L2 T1 T2 → ∀L1. R2 T1 L1 L2 → CTC … R1 L1 T1 T2.
 
 definition s_rs_transitive: ∀A,B. relation2 (A→relation B) (B→relation A) ≝ λA,B,R1,R2.
-                            ∀L2,T1,T2. LTC … R1 L2 T1 T2 → ∀L1. R2 T1 L1 L2 → LTC … R1 L1 T1 T2.
+                            ∀L2,T1,T2. CTC … R1 L2 T1 T2 → ∀L1. R2 T1 L1 L2 → CTC … R1 L1 T1 T2.
 
 lemma TC_strip1: ∀A,R1,R2. confluent2 A R1 R2 →
                  ∀a0,a1. TC … R1 a0 a1 → ∀a2. R2 a0 a2 →
@@ -96,28 +96,28 @@ lemma TC_transitive2: ∀A,R1,R2.
 ]
 qed.
 
-lemma LTC_lsub_trans: ∀A,B,R,S. lsub_trans A B R S → lsub_trans A B (LTC … R) S.
+lemma CTC_lsub_trans: ∀A,B,R,S. lsub_trans A B R S → lsub_trans A B (CTC … R) S.
 #A #B #R #S #HRS #L2 #T1 #T2 #H elim H -T2 /3 width=3 by inj/
 #T #T2 #_ #HT2 #IHT1 #L1 #HL12
 lapply (HRS … HT2 … HL12) -HRS -HT2 /3 width=3 by step/
 qed-.
 
-lemma s_r_conf1_LTC1: ∀A,B,S,R. s_r_confluent1 A B S R → s_r_confluent1 A B (LTC … S) R.
+lemma s_r_conf1_CTC1: ∀A,B,S,R. s_r_confluent1 A B S R → s_r_confluent1 A B (CTC … S) R.
 #A #B #S #R #HSR #L1 #T1 #T2 #H @(TC_ind_dx … T1 H) -T1 /3 width=3 by/
 qed-.
 
-lemma s_r_trans_LTC1: ∀A,B,S,R. s_r_confluent1 A B S R →
+lemma s_r_trans_CTC1: ∀A,B,S,R. s_r_confluent1 A B S R →
                       s_r_transitive A B S R → s_rs_transitive A B S R.
 #A #B #S #R #H1SR #H2SR #L2 #T1 #T2 #H @(TC_ind_dx … T1 H) -T1 /2 width=3 by/
 #T1 #T #HT1 #_ #IHT2 #L1 #HL12 lapply (H2SR … HT1 … HL12) -H2SR -HT1
-/4 width=5 by s_r_conf1_LTC1, trans_TC/
+/4 width=5 by s_r_conf1_CTC1, trans_TC/
 qed-.
 
-lemma s_r_trans_LTC2: ∀A,B,S,R. s_rs_transitive A B S R → s_r_transitive A B S (LTC … R).
+lemma s_r_trans_CTC2: ∀A,B,S,R. s_rs_transitive A B S R → s_r_transitive A B S (CTC … R).
 #A #B #S #R #HSR #L2 #T1 #T2 #HT12 #L1 #H @(TC_ind_dx … L1 H) -L1 /3 width=3 by inj/
 qed-.
 
-lemma s_r_to_s_rs_trans: ∀A,B,S,R. s_r_transitive A B (LTC … S) R →
+lemma s_r_to_s_rs_trans: ∀A,B,S,R. s_r_transitive A B (CTC … S) R →
                          s_rs_transitive A B S R.
 #A #B #S #R #HSR #L2 #T1 #T2 #HL2 #L1 #HT1
 elim (TC_idem … (S L1) …  T1 T2)
@@ -125,14 +125,14 @@ elim (TC_idem … (S L1) …  T1 T2)
 qed-.
 
 lemma s_rs_to_s_r_trans: ∀A,B,S,R. s_rs_transitive A B S R →
-                         s_r_transitive A B (LTC … S) R.
+                         s_r_transitive A B (CTC … S) R.
 #A #B #S #R #HSR #L2 #T1 #T2 #HL2 #L1 #HT1
 elim (TC_idem … (S L1) …  T1 T2)
 #H #_ @H @HSR //
 qed-.
 
 lemma s_rs_trans_TC1: ∀A,B,S,R. s_rs_transitive A B S R →
-                      s_rs_transitive A B (LTC … S) R.
+                      s_rs_transitive A B (CTC … S) R.
 #A #B #S #R #HSR #L2 #T1 #T2 #HL2 #L1 #HT1
 elim (TC_idem … (S L1) …  T1 T2)
 elim (TC_idem … (S L2) …  T1 T2)
index d3658271176ee453dd3afa263f2b11ba04360299..c54b60b71f5e5b86eefd36521eb1fb3682690ae4 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( f1 â\8a\9a break term 46 f2 â\89¡ break term 46 f )"
+notation "hvbox( f1 â\8a\9a break term 46 f2 â\89\98 break term 46 f )"
    non associative with precedence 45
    for @{ 'RAfter $f1 $f2 $f }.
index 8b99f61cd0a4c609a3ffd6cb18bf7a5d8fd9f901..810640101a3ca0d65de16c61d2a8e3f1f781a507 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( @ â¦\83 term 46 T1 , break term 46 f â¦\84 â\89¡ break term 46 T2 )"
+notation "hvbox( @ â¦\83 term 46 T1 , break term 46 f â¦\84 â\89\98 break term 46 T2 )"
    non associative with precedence 45
    for @{ 'RAt $T1 $f $T2 }.
index 015407166d5899062a6bc053e57f6b664a38abd6..3ad6208016d3223634482a3e96161ec5ff871f29 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( f1 ~ â\8a\9a break term 46 f2 â\89¡ break term 46 f )"
+notation "hvbox( f1 ~ â\8a\9a break term 46 f2 â\89\98 break term 46 f )"
    non associative with precedence 45
    for @{ 'RCoAfter $f1 $f2 $f }.
index f60b379c7a91eca377d4c2748c4657d5d609c4ef..7bb4e1363b33b8839d53fe2a8544e379ded712ab 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( ð\9d\90\82 â¦\83 term 46 f â¦\84 â\89¡ break term 46 n )"
+notation "hvbox( ð\9d\90\82 â¦\83 term 46 f â¦\84 â\89\98 break term 46 n )"
    non associative with precedence 45
    for @{ 'RCoLength $f $n }.
index c680542e120a7db0c4072423c12c22c8844dc8e1..e7e93d23c127864c95ed72de8846fe34beffac9a 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( L1 â\8b\92 break term 46 L2 â\89¡ break term 46 L )"
+notation "hvbox( L1 â\8b\92 break term 46 L2 â\89\98 break term 46 L )"
    non associative with precedence 45
    for @{ 'RIntersection $L1 $L2 $L }.
index 1d397e53663838d3f7ce8160e9c3b3d964d60c38..87177eb976c93e3ce00c2c3343ec610a607e839b 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( T1 â\96­ break term 46 T2 â\89¡ break term 46 T )"
+notation "hvbox( T1 â\96­ break term 46 T2 â\89\98 break term 46 T )"
    non associative with precedence 45
    for @{ 'RMinus $T1 $T2 $T }.
index 16120c08de6db2c1719b17ef7a7737cb44c3822c..54b03667556a45a5d6987dbe5a8cc1363e0042de 100644 (file)
@@ -14,6 +14,6 @@
 
 (* GENERAL NOTATION USED BY THE FORMAL SYSTEM λδ ****************************)
 
-notation "hvbox( L1 â\8b\93 break term 46 L2 â\89¡ break term 46 L )"
+notation "hvbox( L1 â\8b\93 break term 46 L2 â\89\98 break term 46 L )"
    non associative with precedence 45
    for @{ 'RUnion $L1 $L2 $L }.
index b3517a77b6165b4beb31732aa2b78d307b2ad4ac..a374857d4fa999a20987a27ec1726245425a35be 100644 (file)
@@ -30,7 +30,7 @@ interpretation "application (multiple relocation with pairs)"
 
 (* Basic inversion lemmas ***************************************************)
 
-fact at_inv_nil_aux: â\88\80cs,i1,i2. @â¦\83i1, csâ¦\84 â\89¡ i2 → cs = ◊ → i1 = i2.
+fact at_inv_nil_aux: â\88\80cs,i1,i2. @â¦\83i1, csâ¦\84 â\89\98 i2 → cs = ◊ → i1 = i2.
 #cs #i1 #i2 * -cs -i1 -i2
 [ //
 | #cs #l #m #i1 #i2 #_ #_ #H destruct
@@ -38,13 +38,13 @@ fact at_inv_nil_aux: ∀cs,i1,i2. @⦃i1, cs⦄ ≡ i2 → cs = ◊ → i1 = i2.
 ]
 qed-.
 
-lemma at_inv_nil: â\88\80i1,i2. @â¦\83i1, â\97\8aâ¦\84 â\89¡ i2 → i1 = i2.
+lemma at_inv_nil: â\88\80i1,i2. @â¦\83i1, â\97\8aâ¦\84 â\89\98 i2 → i1 = i2.
 /2 width=3 by at_inv_nil_aux/ qed-.
 
-fact at_inv_cons_aux: â\88\80cs,i1,i2. @â¦\83i1, csâ¦\84 â\89¡ i2 →
+fact at_inv_cons_aux: â\88\80cs,i1,i2. @â¦\83i1, csâ¦\84 â\89\98 i2 →
                       ∀l,m,cs0. cs = {l, m} @ cs0 →
-                      i1 < l â\88§ @â¦\83i1, cs0â¦\84 â\89¡ i2 ∨
-                      l â\89¤ i1 â\88§ @â¦\83i1 + m, cs0â¦\84 â\89¡ i2.
+                      i1 < l â\88§ @â¦\83i1, cs0â¦\84 â\89\98 i2 ∨
+                      l â\89¤ i1 â\88§ @â¦\83i1 + m, cs0â¦\84 â\89\98 i2.
 #cs #i1 #i2 * -cs -i1 -i2
 [ #i #l #m #cs #H destruct
 | #cs1 #l1 #m1 #i1 #i2 #Hil1 #Hi12 #l2 #m2 #cs2 #H destruct /3 width=1 by or_introl, conj/
@@ -52,20 +52,20 @@ fact at_inv_cons_aux: ∀cs,i1,i2. @⦃i1, cs⦄ ≡ i2 →
 ]
 qed-.
 
-lemma at_inv_cons: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89¡ i2 →
-                   i1 < l â\88§ @â¦\83i1, csâ¦\84 â\89¡ i2 ∨
-                   l â\89¤ i1 â\88§ @â¦\83i1 + m, csâ¦\84 â\89¡ i2.
+lemma at_inv_cons: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89\98 i2 →
+                   i1 < l â\88§ @â¦\83i1, csâ¦\84 â\89\98 i2 ∨
+                   l â\89¤ i1 â\88§ @â¦\83i1 + m, csâ¦\84 â\89\98 i2.
 /2 width=3 by at_inv_cons_aux/ qed-.
 
-lemma at_inv_cons_lt: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89¡ i2 →
-                      i1 < l â\86\92 @â¦\83i1, csâ¦\84 â\89¡ i2.
+lemma at_inv_cons_lt: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89\98 i2 →
+                      i1 < l â\86\92 @â¦\83i1, csâ¦\84 â\89\98 i2.
 #cs #l #m #i1 #m2 #H
 elim (at_inv_cons … H) -H * // #Hli1 #_ #Hi1l
 elim (lt_le_false … Hi1l Hli1)
 qed-.
 
-lemma at_inv_cons_ge: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89¡ i2 →
-                      l â\89¤ i1 â\86\92 @â¦\83i1 + m, csâ¦\84 â\89¡ i2.
+lemma at_inv_cons_ge: â\88\80cs,l,m,i1,i2. @â¦\83i1, {l, m} @ csâ¦\84 â\89\98 i2 →
+                      l â\89¤ i1 â\86\92 @â¦\83i1 + m, csâ¦\84 â\89\98 i2.
 #cs #l #m #i1 #m2 #H
 elim (at_inv_cons … H) -H * // #Hi1l #_ #Hli1
 elim (lt_le_false … Hi1l Hli1)
@@ -73,7 +73,7 @@ qed-.
 
 (* Main properties **********************************************************)
 
-theorem at_mono: â\88\80cs,i,i1. @â¦\83i, csâ¦\84 â\89¡ i1 â\86\92 â\88\80i2. @â¦\83i, csâ¦\84 â\89¡ i2 → i1 = i2.
+theorem at_mono: â\88\80cs,i,i1. @â¦\83i, csâ¦\84 â\89\98 i1 â\86\92 â\88\80i2. @â¦\83i, csâ¦\84 â\89\98 i2 → i1 = i2.
 #cs #i #i1 #H elim H -cs -i -i1
 [ #i #x #H <(at_inv_nil … H) -x //
 | #cs #l #m #i #i1 #Hil #_ #IHi1 #x #H
index 9fd40ad6bfc0a78e6c1347b9522bedb62beb99db..b68e549591b981aaa5bd55b6630aa18d87bf6f63 100644 (file)
@@ -30,7 +30,7 @@ interpretation "minus (multiple relocation with pairs)"
 
 (* Basic inversion lemmas ***************************************************)
 
-fact minuss_inv_nil1_aux: â\88\80cs1,cs2,i. cs1 â\96­ i â\89¡ cs2 → cs1 = ◊ → cs2 = ◊.
+fact minuss_inv_nil1_aux: â\88\80cs1,cs2,i. cs1 â\96­ i â\89\98 cs2 → cs1 = ◊ → cs2 = ◊.
 #cs1 #cs2 #i * -cs1 -cs2 -i
 [ //
 | #cs1 #cs2 #l #m #i #_ #_ #H destruct
@@ -38,13 +38,13 @@ fact minuss_inv_nil1_aux: ∀cs1,cs2,i. cs1 ▭ i ≡ cs2 → cs1 = ◊ → cs2
 ]
 qed-.
 
-lemma minuss_inv_nil1: â\88\80cs2,i. â\97\8a â\96­ i â\89¡ cs2 → cs2 = ◊.
+lemma minuss_inv_nil1: â\88\80cs2,i. â\97\8a â\96­ i â\89\98 cs2 → cs2 = ◊.
 /2 width=4 by minuss_inv_nil1_aux/ qed-.
 
-fact minuss_inv_cons1_aux: â\88\80cs1,cs2,i. cs1 â\96­ i â\89¡ cs2 →
+fact minuss_inv_cons1_aux: â\88\80cs1,cs2,i. cs1 â\96­ i â\89\98 cs2 →
                            ∀l,m,cs. cs1 = {l, m} @ cs →
-                           l â\89¤ i â\88§ cs â\96­ m + i â\89¡ cs2 ∨
-                           â\88\83â\88\83cs0. i < l & cs â\96­ i â\89¡ cs0 &
+                           l â\89¤ i â\88§ cs â\96­ m + i â\89\98 cs2 ∨
+                           â\88\83â\88\83cs0. i < l & cs â\96­ i â\89\98 cs0 &
                                    cs2 = {l - i, m} @ cs0.
 #cs1 #cs2 #i * -cs1 -cs2 -i
 [ #i #l #m #cs #H destruct
@@ -53,22 +53,22 @@ fact minuss_inv_cons1_aux: ∀cs1,cs2,i. cs1 ▭ i ≡ cs2 →
 ]
 qed-.
 
-lemma minuss_inv_cons1: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89¡ cs2 →
-                        l â\89¤ i â\88§ cs1 â\96­ m + i â\89¡ cs2 ∨
-                        â\88\83â\88\83cs. i < l & cs1 â\96­ i â\89¡ cs &
+lemma minuss_inv_cons1: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89\98 cs2 →
+                        l â\89¤ i â\88§ cs1 â\96­ m + i â\89\98 cs2 ∨
+                        â\88\83â\88\83cs. i < l & cs1 â\96­ i â\89\98 cs &
                                cs2 = {l - i, m} @ cs.
 /2 width=3 by minuss_inv_cons1_aux/ qed-.
 
-lemma minuss_inv_cons1_ge: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89¡ cs2 →
-                           l â\89¤ i â\86\92 cs1 â\96­ m + i â\89¡ cs2.
+lemma minuss_inv_cons1_ge: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89\98 cs2 →
+                           l â\89¤ i â\86\92 cs1 â\96­ m + i â\89\98 cs2.
 #cs1 #cs2 #l #m #i #H
 elim (minuss_inv_cons1 … H) -H * // #cs #Hil #_ #_ #Hli
 elim (lt_le_false … Hil Hli)
 qed-.
 
-lemma minuss_inv_cons1_lt: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89¡ cs2 →
+lemma minuss_inv_cons1_lt: â\88\80cs1,cs2,l,m,i. {l, m} @ cs1 â\96­ i â\89\98 cs2 →
                            i < l →
-                           â\88\83â\88\83cs. cs1 â\96­ i â\89¡ cs & cs2 = {l - i, m} @ cs.
+                           â\88\83â\88\83cs. cs1 â\96­ i â\89\98 cs & cs2 = {l - i, m} @ cs.
 #cs1 #cs2 #l #m #i #H elim (minuss_inv_cons1 … H) -H * /2 width=3 by ex2_intro/
 #Hli #_ #Hil elim (lt_le_false … Hil Hli)
 qed-.
index 977a0ca023eeab6e57f90f744303bfcb4c03ebe3..321773c634594c788e54fbedf1d3340968970ea8 100644 (file)
@@ -64,24 +64,24 @@ qed-.
 
 (* Specific properties on after *********************************************)
 
-lemma after_O2: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f →
-                â\88\80n. n@f2 â\8a\9a â\86\91f1 â\89¡ n@f.
+lemma after_O2: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f →
+                â\88\80n. n@f2 â\8a\9a â\86\91f1 â\89\98 n@f.
 #f2 #f1 #f #Hf #n elim n -n /2 width=7 by after_refl, after_next/
 qed.
 
-lemma after_S2: â\88\80f2,f1,f,n1,n. f2 â\8a\9a n1@f1 â\89¡ n@f →
-                â\88\80n2. n2@f2 â\8a\9a â«¯n1@f1 â\89¡ ⫯(n2+n)@f.
+lemma after_S2: â\88\80f2,f1,f,n1,n. f2 â\8a\9a n1@f1 â\89\98 n@f →
+                â\88\80n2. n2@f2 â\8a\9a â«¯n1@f1 â\89\98 ⫯(n2+n)@f.
 #f2 #f1 #f #n1 #n #Hf #n2 elim n2 -n2 /2 width=7 by after_next, after_push/
 qed.
 
-lemma after_apply: â\88\80n1,f2,f1,f. (â\86\93*[⫯n1] f2) â\8a\9a f1 â\89¡ f â\86\92 f2 â\8a\9a n1@f1 â\89¡ f2@❴n1❵@f.
+lemma after_apply: â\88\80n1,f2,f1,f. (â\86\93*[⫯n1] f2) â\8a\9a f1 â\89\98 f â\86\92 f2 â\8a\9a n1@f1 â\89\98 f2@❴n1❵@f.
 #n1 elim n1 -n1
 [ * /2 width=1 by after_O2/
 | #n1 #IH * /3 width=1 by after_S2/
 ]
 qed-.
 
-corec lemma after_total_aux: â\88\80f2,f1,f. f2 â\88\98 f1 = f â\86\92 f2 â\8a\9a f1 â\89¡ f.
+corec lemma after_total_aux: â\88\80f2,f1,f. f2 â\88\98 f1 = f â\86\92 f2 â\8a\9a f1 â\89\98 f.
 * #n2 #f2 * #n1 #f1 * #n #f cases n2 -n2
 [ cases n1 -n1
   [ #H cases (compose_inv_O2 … H) -H /3 width=7 by after_refl, eq_f2/
@@ -91,13 +91,13 @@ corec lemma after_total_aux: ∀f2,f1,f. f2 ∘ f1 = f → f2 ⊚ f1 ≡ f.
 ]
 qed-.
 
-theorem after_total: â\88\80f1,f2. f2 â\8a\9a f1 â\89¡ f2 ∘ f1.
+theorem after_total: â\88\80f1,f2. f2 â\8a\9a f1 â\89\98 f2 ∘ f1.
 /2 width=1 by after_total_aux/ qed.
 
 (* Specific inversion lemmas on after ***************************************)
 
-lemma after_inv_xpx: â\88\80f2,g2,f,n2,n. n2@f2 â\8a\9a g2 â\89¡ n@f → ∀f1. ↑f1 = g2 →
-                     f2 â\8a\9a f1 â\89¡ f ∧ n2 = n.
+lemma after_inv_xpx: â\88\80f2,g2,f,n2,n. n2@f2 â\8a\9a g2 â\89\98 n@f → ∀f1. ↑f1 = g2 →
+                     f2 â\8a\9a f1 â\89\98 f ∧ n2 = n.
 #f2 #g2 #f #n2 elim n2 -n2
 [ #n #Hf #f1 #H2 elim (after_inv_ppx … Hf … H2) -g2 [2,3: // ]
   #g #Hf #H elim (push_inv_seq_dx … H) -H destruct /2 width=1 by conj/
@@ -108,8 +108,8 @@ lemma after_inv_xpx: ∀f2,g2,f,n2,n. n2@f2 ⊚ g2 ≡ n@f → ∀f1. ↑f1 = g2
 ]
 qed-.
 
-lemma after_inv_xnx: â\88\80f2,g2,f,n2,n. n2@f2 â\8a\9a g2 â\89¡ n@f → ∀f1. ⫯f1 = g2 →
-                     â\88\83â\88\83m. f2 â\8a\9a f1 â\89¡ m@f & ⫯(n2+m) = n.
+lemma after_inv_xnx: â\88\80f2,g2,f,n2,n. n2@f2 â\8a\9a g2 â\89\98 n@f → ∀f1. ⫯f1 = g2 →
+                     â\88\83â\88\83m. f2 â\8a\9a f1 â\89\98 m@f & ⫯(n2+m) = n.
 #f2 #g2 #f #n2 elim n2 -n2
 [ #n #Hf #f1 #H2 elim (after_inv_pnx … Hf … H2) -g2 [2,3: // ]
   #g #Hf #H elim (next_inv_seq_dx … H) -H
@@ -121,7 +121,7 @@ lemma after_inv_xnx: ∀f2,g2,f,n2,n. n2@f2 ⊚ g2 ≡ n@f → ∀f1. ⫯f1 = g2
 ]
 qed-.
 
-lemma after_inv_const: â\88\80f2,f1,f,n1,n. n@f2 â\8a\9a n1@f1 â\89¡ n@f â\86\92 f2 â\8a\9a f1 â\89¡ f ∧ 0 = n1.
+lemma after_inv_const: â\88\80f2,f1,f,n1,n. n@f2 â\8a\9a n1@f1 â\89\98 n@f â\86\92 f2 â\8a\9a f1 â\89\98 f ∧ 0 = n1.
 #f2 #f1 #f #n1 #n elim n -n
 [ #H elim (after_inv_pxp … H) -H [ |*: // ]
   #g2 #Hf #H elim (push_inv_seq_dx … H) -H /2 width=1 by conj/
@@ -129,18 +129,18 @@ lemma after_inv_const: ∀f2,f1,f,n1,n. n@f2 ⊚ n1@f1 ≡ n@f → f2 ⊚ f1 ≡
 ]
 qed-.
 
-lemma after_inv_total: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f → f2 ∘ f1 ≗ f.
+lemma after_inv_total: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f → f2 ∘ f1 ≗ f.
 /2 width=4 by after_mono/ qed-.
 
 (* Specific forward lemmas on after *****************************************)
 
-lemma after_fwd_hd: â\88\80f2,f1,f,n1,n. f2 â\8a\9a n1@f1 â\89¡ n@f → f2@❴n1❵ = n.
+lemma after_fwd_hd: â\88\80f2,f1,f,n1,n. f2 â\8a\9a n1@f1 â\89\98 n@f → f2@❴n1❵ = n.
 #f2 #f1 #f #n1 #n #H lapply (after_fwd_at ? n1 0 … H) -H [1,2,3: // ]
 /3 width=2 by at_inv_O1, sym_eq/
 qed-.
 
-lemma after_fwd_tls: â\88\80f,f1,n1,f2,n2,n. n2@f2 â\8a\9a n1@f1 â\89¡ n@f →
-                     (â\86\93*[n1]f2) â\8a\9a f1 â\89¡ f.
+lemma after_fwd_tls: â\88\80f,f1,n1,f2,n2,n. n2@f2 â\8a\9a n1@f1 â\89\98 n@f →
+                     (â\86\93*[n1]f2) â\8a\9a f1 â\89\98 f.
 #f #f1 #n1 elim n1 -n1
 [ #f2 #n2 #n #H elim (after_inv_xpx … H) -H //
 | #n1 #IH * #m1 #f2 #n2 #n #H elim (after_inv_xnx … H) -H [2,3: // ]
@@ -148,6 +148,6 @@ lemma after_fwd_tls: ∀f,f1,n1,f2,n2,n. n2@f2 ⊚ n1@f1 ≡ n@f →
 ]
 qed-.
 
-lemma after_inv_apply: â\88\80f2,f1,f,n2,n1,n. n2@f2 â\8a\9a n1@f1 â\89¡ n@f →
-                       (n2@f2)@â\9d´n1â\9dµ = n â\88§ (â\86\93*[n1]f2) â\8a\9a f1 â\89¡ f.
+lemma after_inv_apply: â\88\80f2,f1,f,n2,n1,n. n2@f2 â\8a\9a n1@f1 â\89\98 n@f →
+                       (n2@f2)@â\9d´n1â\9dµ = n â\88§ (â\86\93*[n1]f2) â\8a\9a f1 â\89\98 f.
 /3 width=3 by after_fwd_tls, after_fwd_hd, conj/ qed-.
index 4c141a301d120a3f738699bde659176677aaad91..c158f25930fe6d454e3b0f6884e7d3b3358b0126 100644 (file)
@@ -89,7 +89,7 @@ qed-.
 
 (* Specific properties on coafter *******************************************)
 
-corec lemma coafter_total_aux: â\88\80f2,f1,f. f2 ~â\88\98 f1 = f â\86\92 f2 ~â\8a\9a f1 â\89¡ f.
+corec lemma coafter_total_aux: â\88\80f2,f1,f. f2 ~â\88\98 f1 = f â\86\92 f2 ~â\8a\9a f1 â\89\98 f.
 * #n2 #f2 * #n1 #f1 * #n #f cases n2 -n2
 [ cases n1 -n1
   [ #H cases (cocompose_inv_ppx … H) -H /3 width=7 by coafter_refl, eq_f2/
@@ -99,5 +99,5 @@ corec lemma coafter_total_aux: ∀f2,f1,f. f2 ~∘ f1 = f → f2 ~⊚ f1 ≡ f.
 ]
 qed-.
 
-theorem coafter_total: â\88\80f2,f1. f2 ~â\8a\9a f1 â\89¡ f2 ~∘ f1.
+theorem coafter_total: â\88\80f2,f1. f2 ~â\8a\9a f1 â\89\98 f2 ~∘ f1.
 /2 width=1 by coafter_total_aux/ qed.
index 39211d7f2c74ece3b91c7f155788ca883719e581..759b83a13026dce98c53cf4e8f2b0e9aaae8e55a 100644 (file)
@@ -31,15 +31,15 @@ interpretation "functional application (nstream)"
 
 (* Specific properties on at ************************************************)
 
-lemma at_O1: â\88\80i2,f. @â¦\830, i2@fâ¦\84 â\89¡ i2.
+lemma at_O1: â\88\80i2,f. @â¦\830, i2@fâ¦\84 â\89\98 i2.
 #i2 elim i2 -i2 /2 width=5 by at_refl, at_next/
 qed.
 
-lemma at_S1: â\88\80n,f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 â\86\92 @â¦\83⫯i1, n@fâ¦\84 â\89¡ ⫯(n+i2).
+lemma at_S1: â\88\80n,f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 â\86\92 @â¦\83⫯i1, n@fâ¦\84 â\89\98 ⫯(n+i2).
 #n elim n -n /3 width=7 by at_push, at_next/
 qed.
 
-lemma at_total: â\88\80i1,f. @â¦\83i1, fâ¦\84 â\89¡ f@❴i1❵.
+lemma at_total: â\88\80i1,f. @â¦\83i1, fâ¦\84 â\89\98 f@❴i1❵.
 #i1 elim i1 -i1
 [ * // | #i #IH * /3 width=1 by at_S1/ ]
 qed.
@@ -47,33 +47,33 @@ qed.
 lemma at_istot: ∀f. 𝐓⦃f⦄.
 /2 width=2 by ex_intro/ qed.
 
-lemma at_plus2: â\88\80f,i1,i,n,m. @â¦\83i1, n@fâ¦\84 â\89¡ i â\86\92 @â¦\83i1, (m+n)@fâ¦\84 â\89¡ m+i.
+lemma at_plus2: â\88\80f,i1,i,n,m. @â¦\83i1, n@fâ¦\84 â\89\98 i â\86\92 @â¦\83i1, (m+n)@fâ¦\84 â\89\98 m+i.
 #f #i1 #i #n #m #H elim m -m //
 #m <plus_S1 /2 width=5 by at_next/ (**) (* full auto fails *)
 qed.
 
 (* Specific inversion lemmas on at ******************************************)
 
-lemma at_inv_O1: â\88\80f,n,i2. @â¦\830, n@fâ¦\84 â\89¡ i2 → n = i2.
+lemma at_inv_O1: â\88\80f,n,i2. @â¦\830, n@fâ¦\84 â\89\98 i2 → n = i2.
 #f #n elim n -n /2 width=6 by at_inv_ppx/
 #n #IH #i2 #H elim (at_inv_xnx … H) -H [2,3: // ]
 #j2 #Hj * -i2 /3 width=1 by eq_f/
 qed-.
 
-lemma at_inv_S1: â\88\80f,n,j1,i2. @â¦\83⫯j1, n@fâ¦\84 â\89¡ i2 →
-                 â\88\83â\88\83j2. @â¦\83j1, fâ¦\84 â\89¡ j2 & ⫯(n+j2) = i2.
+lemma at_inv_S1: â\88\80f,n,j1,i2. @â¦\83⫯j1, n@fâ¦\84 â\89\98 i2 →
+                 â\88\83â\88\83j2. @â¦\83j1, fâ¦\84 â\89\98 j2 & ⫯(n+j2) = i2.
 #f #n elim n -n /2 width=5 by at_inv_npx/
 #n #IH #j1 #i2 #H elim (at_inv_xnx … H) -H [2,3: // ]
 #j2 #Hj * -i2 elim (IH … Hj) -IH -Hj
 #i2 #Hi * -j2 /2 width=3 by ex2_intro/
 qed-.
 
-lemma at_inv_total: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → f@❴i1❵ = i2.
+lemma at_inv_total: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → f@❴i1❵ = i2.
 /2 width=6 by at_mono/ qed-.
 
 (* Spercific forward lemmas on at *******************************************)
 
-lemma at_increasing_plus: â\88\80f,n,i1,i2. @â¦\83i1, n@fâ¦\84 â\89¡ i2 → i1 + n ≤ i2.
+lemma at_increasing_plus: â\88\80f,n,i1,i2. @â¦\83i1, n@fâ¦\84 â\89\98 i2 → i1 + n ≤ i2.
 #f #n *
 [ #i2 #H <(at_inv_O1 … H) -i2 //
 | #i1 #i2 #H elim (at_inv_S1 … H) -H
@@ -81,7 +81,7 @@ lemma at_increasing_plus: ∀f,n,i1,i2. @⦃i1, n@f⦄ ≡ i2 → i1 + n ≤ i2.
 ]
 qed-.
 
-lemma at_fwd_id: â\88\80f,n,i. @â¦\83i, n@fâ¦\84 â\89¡ i → 0 = n.
+lemma at_fwd_id: â\88\80f,n,i. @â¦\83i, n@fâ¦\84 â\89\98 i → 0 = n.
 #f #n #i #H elim (at_fwd_id_ex … H) -H
 #g #H elim (push_inv_seq_dx … H) -H //
 qed-.
index 1605616646483a06265935f3601b75603943e0d1..595a23a12509ce64f164ab6b832a23caae503e93 100644 (file)
@@ -23,4 +23,4 @@ interpretation "union (nstream)"
 
 (* Specific properties on sor ***********************************************)
 
-axiom sor_total: â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f1 ∪ f2.
+axiom sor_total: â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f1 ∪ f2.
index a28f7b384a76697ad88453e5b109db45731a4b2e..0f72e824cc7dd7a0a08f2e469c5827dca649b6ca 100644 (file)
@@ -32,12 +32,12 @@ interpretation "relational composition (rtmap)"
 
 definition H_after_inj: predicate rtmap ≝
                         λf1. 𝐓⦃f1⦄ →
-                        â\88\80f,f21,f22. f1 â\8a\9a f21 â\89¡ f â\86\92 f1 â\8a\9a f22 â\89¡ f → f21 ≗ f22.
+                        â\88\80f,f21,f22. f1 â\8a\9a f21 â\89\98 f â\86\92 f1 â\8a\9a f22 â\89\98 f → f21 ≗ f22.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma after_inv_ppx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
-                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89¡ f & ↑f = g.
+lemma after_inv_ppx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
+                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g #f1 #f2 #f #g1
 [ #g2 #g #Hf #H1 #H2 #H #x1 #x2 #Hx1 #Hx2 destruct
   >(injective_push … Hx1) >(injective_push … Hx2) -x2 -x1
@@ -49,8 +49,8 @@ lemma after_inv_ppx: ∀g1,g2,g. g1 ⊚ g2 ≡ g → ∀f1,f2. ↑f1 = g1 → 
 ]
 qed-.
 
-lemma after_inv_pnx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
-                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89¡ f & ⫯f = g.
+lemma after_inv_pnx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
+                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g #f1 #f2 #f #g1
 [ #g2 #g #_ #_ #H2 #_ #x1 #x2 #_ #Hx2 destruct
   elim (discr_next_push … Hx2)
@@ -62,8 +62,8 @@ lemma after_inv_pnx: ∀g1,g2,g. g1 ⊚ g2 ≡ g → ∀f1,f2. ↑f1 = g1 → 
 ]
 qed-.
 
-lemma after_inv_nxx: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89¡ g → ∀f1. ⫯f1 = g1 →
-                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89¡ f & ⫯f = g.
+lemma after_inv_nxx: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89\98 g → ∀f1. ⫯f1 = g1 →
+                     â\88\83â\88\83f. f1 â\8a\9a f2 â\89\98 f & ⫯f = g.
 #g1 #f2 #g * -g1 -f2 -g #f1 #f2 #f #g1
 [ #g2 #g #_ #H1 #_ #_ #x1 #Hx1 destruct
   elim (discr_next_push … Hx1)
@@ -77,71 +77,71 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma after_inv_ppp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
-                     â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 â\8a\9a f2 â\89¡ f.
+lemma after_inv_ppp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
+                     â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 â\8a\9a f2 â\89\98 f.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H elim (after_inv_ppx … Hg … H1 H2) -g1 -g2
 #x #Hf #Hx destruct <(injective_push … Hx) -f //
 qed-.
 
-lemma after_inv_ppn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
+lemma after_inv_ppn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
                      ∀f1,f2,f. ↑f1 = g1 → ↑f2 = g2 → ⫯f = g → ⊥.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H elim (after_inv_ppx … Hg … H1 H2) -g1 -g2
 #x #Hf #Hx destruct elim (discr_push_next … Hx)
 qed-.
 
-lemma after_inv_pnn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
-                    â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8a\9a f2 â\89¡ f.
+lemma after_inv_pnn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
+                    â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8a\9a f2 â\89\98 f.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H elim (after_inv_pnx … Hg … H1 H2) -g1 -g2
 #x #Hf #Hx destruct <(injective_next … Hx) -f //
 qed-.
 
-lemma after_inv_pnp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
+lemma after_inv_pnp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
                      ∀f1,f2,f. ↑f1 = g1 → ⫯f2 = g2 → ↑f = g → ⊥.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H elim (after_inv_pnx … Hg … H1 H2) -g1 -g2
 #x #Hf #Hx destruct elim (discr_next_push … Hx)
 qed-.
 
-lemma after_inv_nxn: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89¡ g →
-                     â\88\80f1,f. â«¯f1 = g1 â\86\92 â«¯f = g â\86\92 f1 â\8a\9a f2 â\89¡ f.
+lemma after_inv_nxn: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89\98 g →
+                     â\88\80f1,f. â«¯f1 = g1 â\86\92 â«¯f = g â\86\92 f1 â\8a\9a f2 â\89\98 f.
 #g1 #f2 #g #Hg #f1 #f #H1 #H elim (after_inv_nxx … Hg … H1) -g1
 #x #Hf #Hx destruct <(injective_next … Hx) -f //
 qed-.
 
-lemma after_inv_nxp: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89¡ g →
+lemma after_inv_nxp: â\88\80g1,f2,g. g1 â\8a\9a f2 â\89\98 g →
                      ∀f1,f. ⫯f1 = g1 → ↑f = g → ⊥.
 #g1 #f2 #g #Hg #f1 #f #H1 #H elim (after_inv_nxx … Hg … H1) -g1
 #x #Hf #Hx destruct elim (discr_next_push … Hx)
 qed-.
 
-lemma after_inv_pxp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
+lemma after_inv_pxp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
                      ∀f1,f. ↑f1 = g1 → ↑f = g →
-                     â\88\83â\88\83f2. f1 â\8a\9a f2 â\89¡ f & ↑f2 = g2.
+                     â\88\83â\88\83f2. f1 â\8a\9a f2 â\89\98 f & ↑f2 = g2.
 #g1 * * [2: #m2] #g2 #g #Hg #f1 #f #H1 #H
 [ elim (after_inv_pnp … Hg … H1 … H) -g1 -g -f1 -f //
 | lapply (after_inv_ppp … Hg … H1 … H) -g1 -g /2 width=3 by ex2_intro/
 ]
 qed-.
 
-lemma after_inv_pxn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
+lemma after_inv_pxn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
                      ∀f1,f. ↑f1 = g1 → ⫯f = g →
-                     â\88\83â\88\83f2. f1 â\8a\9a f2 â\89¡ f & ⫯f2 = g2.
+                     â\88\83â\88\83f2. f1 â\8a\9a f2 â\89\98 f & ⫯f2 = g2.
 #g1 * * [2: #m2] #g2 #g #Hg #f1 #f #H1 #H
 [ lapply (after_inv_pnn … Hg … H1 … H) -g1 -g /2 width=3 by ex2_intro/
 | elim (after_inv_ppn … Hg … H1 … H) -g1 -g -f1 -f //
 ]
 qed-.
 
-lemma after_inv_xxp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g → ∀f. ↑f = g →
-                     â\88\83â\88\83f1,f2. f1 â\8a\9a f2 â\89¡ f & ↑f1 = g1 & ↑f2 = g2.
+lemma after_inv_xxp: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g → ∀f. ↑f = g →
+                     â\88\83â\88\83f1,f2. f1 â\8a\9a f2 â\89\98 f & ↑f1 = g1 & ↑f2 = g2.
 * * [2: #m1 ] #g1 #g2 #g #Hg #f #H
 [ elim (after_inv_nxp … Hg … H) -g2 -g -f //
 | elim (after_inv_pxp … Hg … H) -g /2 width=5 by ex3_2_intro/
 ]
 qed-.
 
-lemma after_inv_xxn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g → ∀f. ⫯f = g →
-                     (â\88\83â\88\83f1,f2. f1 â\8a\9a f2 â\89¡ f & ↑f1 = g1 & ⫯f2 = g2) ∨
-                     â\88\83â\88\83f1. f1 â\8a\9a g2 â\89¡ f & ⫯f1 = g1.
+lemma after_inv_xxn: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g → ∀f. ⫯f = g →
+                     (â\88\83â\88\83f1,f2. f1 â\8a\9a f2 â\89\98 f & ↑f1 = g1 & ⫯f2 = g2) ∨
+                     â\88\83â\88\83f1. f1 â\8a\9a g2 â\89\98 f & ⫯f1 = g1.
 * * [2: #m1 ] #g1 #g2 #g #Hg #f #H
 [ /4 width=5 by after_inv_nxn, or_intror, ex2_intro/
 | elim (after_inv_pxn … Hg … H) -g
@@ -149,9 +149,9 @@ lemma after_inv_xxn: ∀g1,g2,g. g1 ⊚ g2 ≡ g → ∀f. ⫯f = g →
 ]
 qed-.
 
-lemma after_inv_pxx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g → ∀f1. ↑f1 = g1 →
-                     (â\88\83â\88\83f2,f. f1 â\8a\9a f2 â\89¡ f & ↑f2 = g2 & ↑f = g) ∨
-                     (â\88\83â\88\83f2,f. f1 â\8a\9a f2 â\89¡ f & ⫯f2 = g2 & ⫯f = g).
+lemma after_inv_pxx: â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g → ∀f1. ↑f1 = g1 →
+                     (â\88\83â\88\83f2,f. f1 â\8a\9a f2 â\89\98 f & ↑f2 = g2 & ↑f = g) ∨
+                     (â\88\83â\88\83f2,f. f1 â\8a\9a f2 â\89\98 f & ⫯f2 = g2 & ⫯f = g).
 #g1 * * [2: #m2 ] #g2 #g #Hg #f1 #H
 [  elim (after_inv_pnx … Hg … H) -g1
   /3 width=5 by or_intror, ex3_2_intro/
@@ -162,7 +162,7 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-corec lemma after_eq_repl_back2: â\88\80f1,f. eq_repl_back (λf2. f2 â\8a\9a f1 â\89¡ f).
+corec lemma after_eq_repl_back2: â\88\80f1,f. eq_repl_back (λf2. f2 â\8a\9a f1 â\89\98 f).
 #f1 #f #f2 * -f2 -f1 -f
 #f21 #f1 #f #g21 [1,2: #g1 ] #g #Hf #H21 [1,2: #H1 ] #H #g22 #H0
 [ cases (eq_inv_px …  H0 …  H21) -g21 /3 width=7 by after_refl/
@@ -171,11 +171,11 @@ corec lemma after_eq_repl_back2: ∀f1,f. eq_repl_back (λf2. f2 ⊚ f1 ≡ f).
 ]
 qed-.
 
-lemma after_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd (λf2. f2 â\8a\9a f1 â\89¡ f).
+lemma after_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd (λf2. f2 â\8a\9a f1 â\89\98 f).
 #f1 #f @eq_repl_sym /2 width=3 by after_eq_repl_back2/
 qed-.
 
-corec lemma after_eq_repl_back1: â\88\80f2,f. eq_repl_back (λf1. f2 â\8a\9a f1 â\89¡ f).
+corec lemma after_eq_repl_back1: â\88\80f2,f. eq_repl_back (λf1. f2 â\8a\9a f1 â\89\98 f).
 #f2 #f #f1 * -f2 -f1 -f
 #f2 #f11 #f #g2 [1,2: #g11 ] #g #Hf #H2 [1,2: #H11 ] #H #g2 #H0
 [ cases (eq_inv_px …  H0 …  H11) -g11 /3 width=7 by after_refl/
@@ -184,11 +184,11 @@ corec lemma after_eq_repl_back1: ∀f2,f. eq_repl_back (λf1. f2 ⊚ f1 ≡ f).
 ]
 qed-.
 
-lemma after_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd (λf1. f2 â\8a\9a f1 â\89¡ f).
+lemma after_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd (λf1. f2 â\8a\9a f1 â\89\98 f).
 #f2 #f @eq_repl_sym /2 width=3 by after_eq_repl_back1/
 qed-.
 
-corec lemma after_eq_repl_back0: â\88\80f1,f2. eq_repl_back (λf. f2 â\8a\9a f1 â\89¡ f).
+corec lemma after_eq_repl_back0: â\88\80f1,f2. eq_repl_back (λf. f2 â\8a\9a f1 â\89\98 f).
 #f2 #f1 #f * -f2 -f1 -f
 #f2 #f1 #f01 #g2 [1,2: #g1 ] #g01 #Hf01 #H2 [1,2: #H1 ] #H01 #g02 #H0
 [ cases (eq_inv_px …  H0 …  H01) -g01 /3 width=7 by after_refl/
@@ -197,15 +197,15 @@ corec lemma after_eq_repl_back0: ∀f1,f2. eq_repl_back (λf. f2 ⊚ f1 ≡ f).
 ]
 qed-.
 
-lemma after_eq_repl_fwd0: â\88\80f2,f1. eq_repl_fwd (λf. f2 â\8a\9a f1 â\89¡ f).
+lemma after_eq_repl_fwd0: â\88\80f2,f1. eq_repl_fwd (λf. f2 â\8a\9a f1 â\89\98 f).
 #f2 #f1 @eq_repl_sym /2 width=3 by after_eq_repl_back0/
 qed-.
 
 (* Main properties **********************************************************)
 
-corec theorem after_trans1: â\88\80f0,f3,f4. f0 â\8a\9a f3 â\89¡ f4 →
-                            â\88\80f1,f2. f1 â\8a\9a f2 â\89¡ f0 →
-                            â\88\80f. f2 â\8a\9a f3 â\89¡ f â\86\92 f1 â\8a\9a f â\89¡ f4.
+corec theorem after_trans1: â\88\80f0,f3,f4. f0 â\8a\9a f3 â\89\98 f4 →
+                            â\88\80f1,f2. f1 â\8a\9a f2 â\89\98 f0 →
+                            â\88\80f. f2 â\8a\9a f3 â\89\98 f â\86\92 f1 â\8a\9a f â\89\98 f4.
 #f0 #f3 #f4 * -f0 -f3 -f4 #f0 #f3 #f4 #g0 [1,2: #g3 ] #g4
 [ #Hf4 #H0 #H3 #H4 #g1 #g2 #Hg0 #g #Hg
   cases (after_inv_xxp … Hg0 … H0) -g0
@@ -227,9 +227,9 @@ corec theorem after_trans1: ∀f0,f3,f4. f0 ⊚ f3 ≡ f4 →
 ]
 qed-.
 
-corec theorem after_trans2: â\88\80f1,f0,f4. f1 â\8a\9a f0 â\89¡ f4 →
-                            â\88\80f2, f3. f2 â\8a\9a f3 â\89¡ f0 →
-                            â\88\80f. f1 â\8a\9a f2 â\89¡ f â\86\92 f â\8a\9a f3 â\89¡ f4.
+corec theorem after_trans2: â\88\80f1,f0,f4. f1 â\8a\9a f0 â\89\98 f4 →
+                            â\88\80f2, f3. f2 â\8a\9a f3 â\89\98 f0 →
+                            â\88\80f. f1 â\8a\9a f2 â\89\98 f â\86\92 f â\8a\9a f3 â\89\98 f4.
 #f1 #f0 #f4 * -f1 -f0 -f4 #f1 #f0 #f4 #g1 [1,2: #g0 ] #g4
 [ #Hf4 #H1 #H0 #H4 #g2 #g3 #Hg0 #g #Hg
   cases (after_inv_xxp … Hg0 … H0) -g0
@@ -253,7 +253,7 @@ qed-.
 
 (* Main inversion lemmas ****************************************************)
 
-corec theorem after_mono: â\88\80f1,f2,x,y. f1 â\8a\9a f2 â\89¡ x â\86\92 f1 â\8a\9a f2 â\89¡ y → x ≗ y.
+corec theorem after_mono: â\88\80f1,f2,x,y. f1 â\8a\9a f2 â\89\98 x â\86\92 f1 â\8a\9a f2 â\89\98 y → x ≗ y.
 #f1 #f2 #x #y * -f1 -f2 -x
 #f1 #f2 #x #g1 [1,2: #g2 ] #g #Hx #H1 [1,2: #H2 ] #H0x #Hy
 [ cases (after_inv_ppx … Hy … H1 H2) -g1 -g2 /3 width=8 by eq_push/
@@ -262,14 +262,14 @@ corec theorem after_mono: ∀f1,f2,x,y. f1 ⊚ f2 ≡ x → f1 ⊚ f2 ≡ y →
 ]
 qed-.
 
-lemma after_mono_eq: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f â\86\92 â\88\80g1,g2,g. g1 â\8a\9a g2 â\89¡ g →
+lemma after_mono_eq: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f â\86\92 â\88\80g1,g2,g. g1 â\8a\9a g2 â\89\98 g →
                      f1 ≗ g1 → f2 ≗ g2 → f ≗ g.
 /4 width=4 by after_mono, after_eq_repl_back1, after_eq_repl_back2/ qed-.
 
 (* Properties on tls ********************************************************)
 
-lemma after_tls: â\88\80n,f1,f2,f. @â¦\830, f1â¦\84 â\89¡ n → 
-                 f1 â\8a\9a f2 â\89¡ f â\86\92 â«±*[n]f1 â\8a\9a f2 â\89¡ ⫱*[n]f.
+lemma after_tls: â\88\80n,f1,f2,f. @â¦\830, f1â¦\84 â\89\98 n → 
+                 f1 â\8a\9a f2 â\89\98 f â\86\92 â«±*[n]f1 â\8a\9a f2 â\89\98 ⫱*[n]f.
 #n elim n -n //
 #n #IH #f1 #f2 #f #Hf1 #Hf
 cases (at_inv_pxn … Hf1) -Hf1 [ |*: // ] #g1 #Hg1 #H1
@@ -279,12 +279,12 @@ qed.
 
 (* Properties on isid *******************************************************)
 
-corec lemma after_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 â\8a\9a f2 â\89¡ f2.
+corec lemma after_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 â\8a\9a f2 â\89\98 f2.
 #f1 * -f1 #f1 #g1 #Hf1 #H1 #f2 cases (pn_split f2) * #g2 #H2
 /3 width=7 by after_push, after_refl/
 qed.
 
-corec lemma after_isid_dx: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. f1 â\8a\9a f2 â\89¡ f1.
+corec lemma after_isid_dx: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. f1 â\8a\9a f2 â\89\98 f1.
 #f2 * -f2 #f2 #g2 #Hf2 #H2 #f1 cases (pn_split f1) * #g1 #H1
 [ /3 width=7 by after_refl/
 | @(after_next … H1 H1) /3 width=3 by isid_push/
@@ -293,37 +293,37 @@ qed.
 
 (* Inversion lemmas on isid *************************************************)
 
-lemma after_isid_inv_sn: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐈⦃f1⦄ → f2 ≗ f.
+lemma after_isid_inv_sn: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐈⦃f1⦄ → f2 ≗ f.
 /3 width=6 by after_isid_sn, after_mono/ qed-.
 
-lemma after_isid_inv_dx: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐈⦃f2⦄ → f1 ≗ f.
+lemma after_isid_inv_dx: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐈⦃f2⦄ → f1 ≗ f.
 /3 width=6 by after_isid_dx, after_mono/ qed-.
 
-corec lemma after_fwd_isid1: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f1⦄.
+corec lemma after_fwd_isid1: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f1⦄.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 [1,2: #g2 ] #g #Hf #H1 [1,2: #H2 ] #H0 #H
 [ /4 width=6 by isid_inv_push, isid_push/ ]
 cases (isid_inv_next … H … H0)
 qed-.
 
-corec lemma after_fwd_isid2: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
+corec lemma after_fwd_isid2: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 [1,2: #g2 ] #g #Hf #H1 [1,2: #H2 ] #H0 #H
 [ /4 width=6 by isid_inv_push, isid_push/ ]
 cases (isid_inv_next … H … H0)
 qed-.
 
-lemma after_inv_isid3: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f1⦄ ∧ 𝐈⦃f2⦄.
+lemma after_inv_isid3: â\88\80f1,f2,f. f1 â\8a\9a f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f1⦄ ∧ 𝐈⦃f2⦄.
 /3 width=4 by after_fwd_isid2, after_fwd_isid1, conj/ qed-.
 
 (* Properties on isuni ******************************************************)
 
-lemma after_isid_isuni: â\88\80f1,f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 â\8a\9a â«¯f2 â\89¡ ⫯f1.
+lemma after_isid_isuni: â\88\80f1,f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 â\8a\9a â«¯f2 â\89\98 ⫯f1.
 #f1 #f2 #Hf2 #H elim H -H
 /5 width=7 by after_isid_dx, after_eq_repl_back2, after_next, after_push, eq_push_inv_isid/
 qed.
 
-lemma after_uni_next2: â\88\80f2. ð\9d\90\94â¦\83f2â¦\84 â\86\92 â\88\80f1,f. â«¯f2 â\8a\9a f1 â\89¡ f â\86\92 f2 â\8a\9a â«¯f1 â\89¡ f.
+lemma after_uni_next2: â\88\80f2. ð\9d\90\94â¦\83f2â¦\84 â\86\92 â\88\80f1,f. â«¯f2 â\8a\9a f1 â\89\98 f â\86\92 f2 â\8a\9a â«¯f1 â\89\98 f.
 #f2 #H elim H -f2
 [ #f2 #Hf2 #f1 #f #Hf
   elim (after_inv_nxx … Hf) -Hf [2,3: // ] #g #Hg #H0 destruct
@@ -336,15 +336,15 @@ qed.
 
 (* Properties on uni ********************************************************)
 
-lemma after_uni: â\88\80n1,n2. ð\9d\90\94â\9d´n1â\9dµ â\8a\9a ð\9d\90\94â\9d´n2â\9dµ â\89¡ 𝐔❴n1+n2❵.
+lemma after_uni: â\88\80n1,n2. ð\9d\90\94â\9d´n1â\9dµ â\8a\9a ð\9d\90\94â\9d´n2â\9dµ â\89\98 𝐔❴n1+n2❵.
 @nat_elim2 [3: #n #m <plus_n_Sm ] (**) (* full auto fails *)
 /4 width=5 by after_uni_next2, after_isid_dx, after_isid_sn, after_next/
 qed.
 
 (* Forward lemmas on at *****************************************************)
 
-lemma after_at_fwd: â\88\80i,i1,f. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 â\88\80f2,f1. f2 â\8a\9a f1 â\89¡ f →
-                    â\88\83â\88\83i2. @â¦\83i1, f1â¦\84 â\89¡ i2 & @â¦\83i2, f2â¦\84 â\89¡ i.
+lemma after_at_fwd: â\88\80i,i1,f. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 â\88\80f2,f1. f2 â\8a\9a f1 â\89\98 f →
+                    â\88\83â\88\83i2. @â¦\83i1, f1â¦\84 â\89\98 i2 & @â¦\83i2, f2â¦\84 â\89\98 i.
 #i elim i -i [2: #i #IH ] #i1 #f #Hf #f2 #f1 #Hf21
 [ elim (at_inv_xxn … Hf) -Hf [1,3:* |*: // ]
   [1: #g #j1 #Hg #H0 #H |2,4: #g #Hg #H ]
@@ -360,8 +360,8 @@ lemma after_at_fwd: ∀i,i1,f. @⦃i1, f⦄ ≡ i → ∀f2,f1. f2 ⊚ f1 ≡ f
 /3 width=9 by at_refl, at_push, at_next, ex2_intro/
 qed-.
 
-lemma after_fwd_at: â\88\80i,i2,i1,f1,f2. @â¦\83i1, f1â¦\84 â\89¡ i2 â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i →
-                    â\88\80f. f2 â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i1, fâ¦\84 â\89¡ i.
+lemma after_fwd_at: â\88\80i,i2,i1,f1,f2. @â¦\83i1, f1â¦\84 â\89\98 i2 â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i →
+                    â\88\80f. f2 â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i1, fâ¦\84 â\89\98 i.
 #i elim i -i [2: #i #IH ] #i2 #i1 #f1 #f2 #Hf1 #Hf2 #f #Hf
 [ elim (at_inv_xxn … Hf2) -Hf2 [1,3: * |*: // ]
   #g2 [ #j2 ] #Hg2 [ #H22 ] #H20
@@ -378,14 +378,14 @@ lemma after_fwd_at: ∀i,i2,i1,f1,f2. @⦃i1, f1⦄ ≡ i2 → @⦃i2, f2⦄ ≡
 ]
 qed-.
 
-lemma after_fwd_at2: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 â\88\80f1,i2. @â¦\83i1, f1â¦\84 â\89¡ i2 →
-                     â\88\80f2. f2 â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i.
+lemma after_fwd_at2: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 â\88\80f1,i2. @â¦\83i1, f1â¦\84 â\89\98 i2 →
+                     â\88\80f2. f2 â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i.
 #f #i1 #i #Hf #f1 #i2 #Hf1 #f2 #H elim (after_at_fwd … Hf … H) -f
 #j1 #H #Hf2 <(at_mono … Hf1 … H) -i1 -i2 //
 qed-.
 
-lemma after_fwd_at1: â\88\80i,i2,i1,f,f2. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i →
-                     â\88\80f1. f2 â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i1, f1â¦\84 â\89¡ i2.
+lemma after_fwd_at1: â\88\80i,i2,i1,f,f2. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i →
+                     â\88\80f1. f2 â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i1, f1â¦\84 â\89\98 i2.
 #i elim i -i [2: #i #IH ] #i2 #i1 #f #f2 #Hf #Hf2 #f1 #Hf1
 [ elim (at_inv_xxn … Hf) -Hf [1,3: * |*: // ]
   #g [ #j1 ] #Hg [ #H01 ] #H00
@@ -404,8 +404,8 @@ qed-.
 
 (* Properties with at *******************************************************)
 
-lemma after_uni_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                    â\88\80f. f2 â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´i2â\9dµ â\8a\9a â«±*[i2] f2 â\89¡ f.
+lemma after_uni_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                    â\88\80f. f2 â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´i2â\9dµ â\8a\9a â«±*[i2] f2 â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -423,8 +423,8 @@ lemma after_uni_dx: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed.
 
-lemma after_uni_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                    â\88\80f. ð\9d\90\94â\9d´i2â\9dµ â\8a\9a â«±*[i2] f2 â\89¡ f â\86\92 f2 â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89¡ f.
+lemma after_uni_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                    â\88\80f. ð\9d\90\94â\9d´i2â\9dµ â\8a\9a â«±*[i2] f2 â\89\98 f â\86\92 f2 â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -439,8 +439,8 @@ lemma after_uni_sn: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed-.
 
-lemma after_uni_succ_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                         â\88\80f. f2 â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´â«¯i2â\9dµ â\8a\9a â«±*[⫯i2] f2 â\89¡ f.
+lemma after_uni_succ_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                         â\88\80f. f2 â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´â«¯i2â\9dµ â\8a\9a â«±*[⫯i2] f2 â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -459,8 +459,8 @@ lemma after_uni_succ_dx: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed.
 
-lemma after_uni_succ_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                         â\88\80f. ð\9d\90\94â\9d´â«¯i2â\9dµ â\8a\9a â«±*[⫯i2] f2 â\89¡ f â\86\92 f2 â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89¡ f.
+lemma after_uni_succ_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                         â\88\80f. ð\9d\90\94â\9d´â«¯i2â\9dµ â\8a\9a â«±*[⫯i2] f2 â\89\98 f â\86\92 f2 â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -476,43 +476,43 @@ lemma after_uni_succ_sn: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed-.
 
-lemma after_uni_one_dx: â\88\80f2,f. â\86\91f2 â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´â«¯Oâ\9dµ â\8a\9a f2 â\89¡ f.
+lemma after_uni_one_dx: â\88\80f2,f. â\86\91f2 â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´â«¯Oâ\9dµ â\8a\9a f2 â\89\98 f.
 #f2 #f #H @(after_uni_succ_dx … (↑f2)) /2 width=3 by at_refl/
 qed.
 
-lemma after_uni_one_sn: â\88\80f1,f. ð\9d\90\94â\9d´â«¯Oâ\9dµ â\8a\9a f1 â\89¡ f â\86\92 â\86\91f1 â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89¡ f.
+lemma after_uni_one_sn: â\88\80f1,f. ð\9d\90\94â\9d´â«¯Oâ\9dµ â\8a\9a f1 â\89\98 f â\86\92 â\86\91f1 â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89\98 f.
 /3 width=3 by after_uni_succ_sn, at_refl/ qed-.
 
 (* Forward lemmas on istot **************************************************)
 
-lemma after_istot_fwd: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f → 𝐓⦃f2⦄ → 𝐓⦃f1⦄ → 𝐓⦃f⦄.
+lemma after_istot_fwd: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f → 𝐓⦃f2⦄ → 𝐓⦃f1⦄ → 𝐓⦃f⦄.
 #f2 #f1 #f #Hf #Hf2 #Hf1 #i1 elim (Hf1 i1) -Hf1
 #i2 #Hf1 elim (Hf2 i2) -Hf2
 /3 width=7 by after_fwd_at, ex_intro/
 qed-.
 
-lemma after_fwd_istot_dx: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f1⦄.
+lemma after_fwd_istot_dx: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f1⦄.
 #f2 #f1 #f #H #Hf #i1 elim (Hf i1) -Hf
 #i2 #Hf elim (after_at_fwd … Hf … H) -f /2 width=2 by ex_intro/
 qed-.
 
-lemma after_fwd_istot_sn: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f2⦄.
+lemma after_fwd_istot_sn: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f2⦄.
 #f2 #f1 #f #H #Hf #i1 elim (Hf i1) -Hf
 #i #Hf elim (after_at_fwd … Hf … H) -f
 #i2 #Hf1 #Hf2 lapply (at_increasing … Hf1) -f1
 #Hi12 elim (at_le_ex … Hf2 … Hi12) -i2 /2 width=2 by ex_intro/
 qed-.
 
-lemma after_inv_istot: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f2⦄ ∧ 𝐓⦃f1⦄.
+lemma after_inv_istot: â\88\80f2,f1,f. f2 â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f2⦄ ∧ 𝐓⦃f1⦄.
 /3 width=4 by after_fwd_istot_sn, after_fwd_istot_dx, conj/ qed-.
 
-lemma after_at1_fwd: â\88\80f1,i1,i2. @â¦\83i1, f1â¦\84 â\89¡ i2 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f. f2 â\8a\9a f1 â\89¡ f →
-                     â\88\83â\88\83i. @â¦\83i2, f2â¦\84 â\89¡ i & @â¦\83i1, fâ¦\84 â\89¡ i.
+lemma after_at1_fwd: â\88\80f1,i1,i2. @â¦\83i1, f1â¦\84 â\89\98 i2 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f. f2 â\8a\9a f1 â\89\98 f →
+                     â\88\83â\88\83i. @â¦\83i2, f2â¦\84 â\89\98 i & @â¦\83i1, fâ¦\84 â\89\98 i.
 #f1 #i1 #i2 #Hf1 #f2 #Hf2 #f #Hf elim (Hf2 i2) -Hf2
 /3 width=8 by after_fwd_at, ex2_intro/
 qed-.
 
-lemma after_fwd_isid_sn: â\88\80f2,f1,f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 â\8a\9a f1 â\89¡ f → f1 ≗ f → 𝐈⦃f2⦄.
+lemma after_fwd_isid_sn: â\88\80f2,f1,f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 â\8a\9a f1 â\89\98 f → f1 ≗ f → 𝐈⦃f2⦄.
 #f2 #f1 #f #H #Hf elim (after_inv_istot … Hf H) -H
 #Hf2 #Hf1 #H @isid_at_total // -Hf2
 #i2 #i #Hf2 elim (Hf1 i2) -Hf1
@@ -521,14 +521,14 @@ lemma after_fwd_isid_sn: ∀f2,f1,f. 𝐓⦃f⦄ → f2 ⊚ f1 ≡ f → f1 ≗
 /3 width=7 by at_eq_repl_back, at_mono, at_id_le/
 qed-.
 
-lemma after_fwd_isid_dx: â\88\80f2,f1,f.  ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 â\8a\9a f1 â\89¡ f → f2 ≗ f → 𝐈⦃f1⦄.
+lemma after_fwd_isid_dx: â\88\80f2,f1,f.  ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 â\8a\9a f1 â\89\98 f → f2 ≗ f → 𝐈⦃f1⦄.
 #f2 #f1 #f #H #Hf elim (after_inv_istot … Hf H) -H
 #Hf2 #Hf1 #H2 @isid_at_total // -Hf1
 #i1 #i2 #Hi12 elim (after_at1_fwd … Hi12 … Hf) -f1
 /3 width=8 by at_inj, at_eq_repl_back/
 qed-.
 
-corec fact after_inj_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_after_inj f1.
+corec fact after_inj_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_after_inj f1.
 #f1 #H1f1 #H2f1 #f #f21 #f22 #H1f #H2f
 cases (at_inv_pxp … H1f1) -H1f1 [ |*: // ] #g1 #H1
 lapply (istot_inv_push … H2f1 … H1) -H2f1 #H2g1
@@ -543,8 +543,8 @@ cases (after_inv_pxx … H1f … H1) -H1f * #g21 #g #H1g #H21 #H
 /2 width=1 by after_tls, istot_tls, at_pxx_tls/
 qed-.
 
-fact after_inj_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_after_inj f1) →
-                    â\88\80i2,f1. @â¦\830, f1â¦\84 â\89¡ i2 → H_after_inj f1.
+fact after_inj_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_after_inj f1) →
+                    â\88\80i2,f1. @â¦\830, f1â¦\84 â\89\98 i2 → H_after_inj f1.
 #H0 #i2 elim i2 -i2 /2 width=1 by/ -H0
 #i2 #IH #f1 #H1f1 #H2f1 #f #f21 #f22 #H1f #H2f
 elim (at_inv_pxn … H1f1) -H1f1 [ |*: // ] #g1 #H1g1 #H1
index de668c52c654a1c2abe41b9c2bae8c88f692f272..97cc4d713ed37e2579adfe2ead3a18dcd272c4c7 100644 (file)
@@ -27,20 +27,20 @@ interpretation "relational application (rtmap)"
    'RAt i1 f i2 = (at f i1 i2).
 
 definition H_at_div: relation4 rtmap rtmap rtmap rtmap ≝ λf2,g2,f1,g1.
-                     â\88\80jf,jg,j. @â¦\83jf, f2â¦\84 â\89¡ j â\86\92 @â¦\83jg, g2â¦\84 â\89¡ j →
-                     â\88\83â\88\83j0. @â¦\83j0, f1â¦\84 â\89¡ jf & @â¦\83j0, g1â¦\84 â\89¡ jg.
+                     â\88\80jf,jg,j. @â¦\83jf, f2â¦\84 â\89\98 j â\86\92 @â¦\83jg, g2â¦\84 â\89\98 j →
+                     â\88\83â\88\83j0. @â¦\83j0, f1â¦\84 â\89\98 jf & @â¦\83j0, g1â¦\84 â\89\98 jg.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma at_inv_ppx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g. 0 = i1 → ↑g = f → 0 = i2.
+lemma at_inv_ppx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g. 0 = i1 → ↑g = f → 0 = i2.
 #f #i1 #i2 * -f -i1 -i2 //
 [ #f #i1 #i2 #_ #g #j1 #j2 #_ * #_ #x #H destruct
 | #f #i1 #i2 #_ #g #j2 * #_ #x #_ #H elim (discr_push_next … H)
 ]
 qed-.
 
-lemma at_inv_npx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g,j1. ⫯j1 = i1 → ↑g = f →
-                  â\88\83â\88\83j2. @â¦\83j1, gâ¦\84 â\89¡ j2 & ⫯j2 = i2.
+lemma at_inv_npx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g,j1. ⫯j1 = i1 → ↑g = f →
+                  â\88\83â\88\83j2. @â¦\83j1, gâ¦\84 â\89\98 j2 & ⫯j2 = i2.
 #f #i1 #i2 * -f -i1 -i2
 [ #f #g #j1 #j2 #_ * #_ #x #x1 #H destruct
 | #f #i1 #i2 #Hi #g #j1 #j2 * * * #x #x1 #H #Hf >(injective_push … Hf) -g destruct /2 width=3 by ex2_intro/
@@ -48,8 +48,8 @@ lemma at_inv_npx: ∀f,i1,i2. @⦃i1, f⦄ ≡ i2 → ∀g,j1. ⫯j1 = i1 → 
 ]
 qed-.
 
-lemma at_inv_xnx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g. ⫯g = f →
-                  â\88\83â\88\83j2. @â¦\83i1, gâ¦\84 â\89¡ j2 & ⫯j2 = i2.
+lemma at_inv_xnx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g. ⫯g = f →
+                  â\88\83â\88\83j2. @â¦\83i1, gâ¦\84 â\89\98 j2 & ⫯j2 = i2.
 #f #i1 #i2 * -f -i1 -i2
 [ #f #g #j1 #j2 * #_ #_ #x #H elim (discr_next_push … H)
 | #f #i1 #i2 #_ #g #j1 #j2 * #_ #_ #x #H elim (discr_next_push … H)
@@ -59,43 +59,43 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma at_inv_ppn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
+lemma at_inv_ppn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
                   ∀g,j2. 0 = i1 → ↑g = f → ⫯j2 = i2 → ⊥.
 #f #i1 #i2 #Hf #g #j2 #H1 #H <(at_inv_ppx … Hf … H1 H) -f -g -i1 -i2
 #H destruct
 qed-.
 
-lemma at_inv_npp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
+lemma at_inv_npp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
                   ∀g,j1. ⫯j1 = i1 → ↑g = f → 0 = i2 → ⊥.
 #f #i1 #i2 #Hf #g #j1 #H1 #H elim (at_inv_npx … Hf … H1 H) -f -i1
 #x2 #Hg * -i2 #H destruct
 qed-.
 
-lemma at_inv_npn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
-                  â\88\80g,j1,j2. â«¯j1 = i1 â\86\92 â\86\91g = f â\86\92 â«¯j2 = i2 â\86\92 @â¦\83j1, gâ¦\84 â\89¡ j2.
+lemma at_inv_npn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
+                  â\88\80g,j1,j2. â«¯j1 = i1 â\86\92 â\86\91g = f â\86\92 â«¯j2 = i2 â\86\92 @â¦\83j1, gâ¦\84 â\89\98 j2.
 #f #i1 #i2 #Hf #g #j1 #j2 #H1 #H elim (at_inv_npx … Hf … H1 H) -f -i1
 #x2 #Hg * -i2 #H destruct //
 qed-.
 
-lemma at_inv_xnp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
+lemma at_inv_xnp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
                   ∀g. ⫯g = f → 0 = i2 → ⊥.
 #f #i1 #i2 #Hf #g #H elim (at_inv_xnx … Hf … H) -f
 #x2 #Hg * -i2 #H destruct
 qed-.
 
-lemma at_inv_xnn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
-                  â\88\80g,j2. â«¯g = f â\86\92 â«¯j2 = i2 â\86\92 @â¦\83i1, gâ¦\84 â\89¡ j2.
+lemma at_inv_xnn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
+                  â\88\80g,j2. â«¯g = f â\86\92 â«¯j2 = i2 â\86\92 @â¦\83i1, gâ¦\84 â\89\98 j2.
 #f #i1 #i2 #Hf #g #j2 #H elim (at_inv_xnx … Hf … H) -f
 #x2 #Hg * -i2 #H destruct //
 qed-.
 
-lemma at_inv_pxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → 0 = i1 → 0 = i2 → ∃g. ↑g = f.
+lemma at_inv_pxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → 0 = i1 → 0 = i2 → ∃g. ↑g = f.
 #f elim (pn_split … f) * /2 width=2 by ex_intro/
 #g #H #i1 #i2 #Hf #H1 #H2 cases (at_inv_xnp … Hf … H H2)
 qed-.
 
-lemma at_inv_pxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀j2. 0 = i1 → ⫯j2 = i2 →
-                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89¡ j2 & ⫯g = f.
+lemma at_inv_pxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀j2. 0 = i1 → ⫯j2 = i2 →
+                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89\98 j2 & ⫯g = f.
 #f elim (pn_split … f) *
 #g #H #i1 #i2 #Hf #j2 #H1 #H2
 [ elim (at_inv_ppn … Hf … H1 H H2)
@@ -103,7 +103,7 @@ lemma at_inv_pxn: ∀f,i1,i2. @⦃i1, f⦄ ≡ i2 → ∀j2. 0 = i1 → ⫯j2 =
 ]
 qed-.
 
-lemma at_inv_nxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 →
+lemma at_inv_nxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 →
                   ∀j1. ⫯j1 = i1 → 0 = i2 → ⊥.
 #f elim (pn_split f) *
 #g #H #i1 #i2 #Hf #j1 #H1 #H2
@@ -112,37 +112,37 @@ lemma at_inv_nxp: ∀f,i1,i2. @⦃i1, f⦄ ≡ i2 →
 ]
 qed-.
 
-lemma at_inv_nxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀j1,j2. ⫯j1 = i1 → ⫯j2 = i2 →
-                  (â\88\83â\88\83g. @â¦\83j1, gâ¦\84 â\89¡ j2 & ↑g = f) ∨
-                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89¡ j2 & ⫯g = f.
+lemma at_inv_nxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀j1,j2. ⫯j1 = i1 → ⫯j2 = i2 →
+                  (â\88\83â\88\83g. @â¦\83j1, gâ¦\84 â\89\98 j2 & ↑g = f) ∨
+                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89\98 j2 & ⫯g = f.
 #f elim (pn_split f) *
 /4 width=7 by at_inv_xnn, at_inv_npn, ex2_intro, or_intror, or_introl/
 qed-.
 
 (* Note: the following inversion lemmas must be checked *)
-lemma at_inv_xpx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g. ↑g = f →
+lemma at_inv_xpx: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g. ↑g = f →
                   (0 = i1 ∧ 0 = i2) ∨
-                  â\88\83â\88\83j1,j2. @â¦\83j1, gâ¦\84 â\89¡ j2 & ⫯j1 = i1 & ⫯j2 = i2.
+                  â\88\83â\88\83j1,j2. @â¦\83j1, gâ¦\84 â\89\98 j2 & ⫯j1 = i1 & ⫯j2 = i2.
 #f * [2: #i1 ] #i2 #Hf #g #H
 [ elim (at_inv_npx … Hf … H) -f /3 width=5 by or_intror, ex3_2_intro/
 | >(at_inv_ppx … Hf … H) -f /3 width=1 by conj, or_introl/
 ]
 qed-.
 
-lemma at_inv_xpp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g. ↑g = f → 0 = i2 → 0 = i1.
+lemma at_inv_xpp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g. ↑g = f → 0 = i2 → 0 = i1.
 #f #i1 #i2 #Hf #g #H elim (at_inv_xpx … Hf … H) -f * //
 #j1 #j2 #_ #_ * -i2 #H destruct
 qed-.
 
-lemma at_inv_xpn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀g,j2. ↑g = f → ⫯j2 = i2 →
-                  â\88\83â\88\83j1. @â¦\83j1, gâ¦\84 â\89¡ j2 & ⫯j1 = i1.
+lemma at_inv_xpn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀g,j2. ↑g = f → ⫯j2 = i2 →
+                  â\88\83â\88\83j1. @â¦\83j1, gâ¦\84 â\89\98 j2 & ⫯j1 = i1.
 #f #i1 #i2 #Hf #g #j2 #H elim (at_inv_xpx … Hf … H) -f *
 [ #_ * -i2 #H destruct
 | #x1 #x2 #Hg #H1 * -i2 #H destruct /2 width=3 by ex2_intro/
 ]
 qed-.
 
-lemma at_inv_xxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → 0 = i2 →
+lemma at_inv_xxp: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → 0 = i2 →
                   ∃∃g. 0 = i1 & ↑g = f.
 #f elim (pn_split f) *
 #g #H #i1 #i2 #Hf #H2
@@ -151,9 +151,9 @@ lemma at_inv_xxp: ∀f,i1,i2. @⦃i1, f⦄ ≡ i2 → 0 = i2 →
 ]
 qed-.
 
-lemma at_inv_xxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → ∀j2.  ⫯j2 = i2 →
-                  (â\88\83â\88\83g,j1. @â¦\83j1, gâ¦\84 â\89¡ j2 & ⫯j1 = i1 & ↑g = f) ∨
-                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89¡ j2 & ⫯g = f.
+lemma at_inv_xxn: â\88\80f,i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → ∀j2.  ⫯j2 = i2 →
+                  (â\88\83â\88\83g,j1. @â¦\83j1, gâ¦\84 â\89\98 j2 & ⫯j1 = i1 & ↑g = f) ∨
+                  â\88\83â\88\83g. @â¦\83i1, gâ¦\84 â\89\98 j2 & ⫯g = f.
 #f elim (pn_split f) *
 #g #H #i1 #i2 #Hf #j2 #H2
 [ elim (at_inv_xpn … Hf … H H2) -i2 /3 width=5 by or_introl, ex3_2_intro/
@@ -163,7 +163,7 @@ qed-.
 
 (* Basic forward lemmas *****************************************************)
 
-lemma at_increasing: â\88\80i2,i1,f. @â¦\83i1, fâ¦\84 â\89¡ i2 → i1 ≤ i2.
+lemma at_increasing: â\88\80i2,i1,f. @â¦\83i1, fâ¦\84 â\89\98 i2 → i1 ≤ i2.
 #i2 elim i2 -i2
 [ #i1 #f #Hf elim (at_inv_xxp … Hf) -Hf //
 | #i2 #IH * //
@@ -172,13 +172,13 @@ lemma at_increasing: ∀i2,i1,f. @⦃i1, f⦄ ≡ i2 → i1 ≤ i2.
 ]
 qed-.
 
-lemma at_increasing_strict: â\88\80g,i1,i2. @â¦\83i1, gâ¦\84 â\89¡ i2 → ∀f. ⫯f = g →
-                            i1 < i2 â\88§ @â¦\83i1, fâ¦\84 â\89¡ ⫰i2.
+lemma at_increasing_strict: â\88\80g,i1,i2. @â¦\83i1, gâ¦\84 â\89\98 i2 → ∀f. ⫯f = g →
+                            i1 < i2 â\88§ @â¦\83i1, fâ¦\84 â\89\98 ⫰i2.
 #g #i1 #i2 #Hg #f #H elim (at_inv_xnx … Hg … H) -Hg -H
 /4 width=2 by conj, at_increasing, le_S_S/
 qed-.
 
-lemma at_fwd_id_ex: â\88\80f,i. @â¦\83i, fâ¦\84 â\89¡ i → ∃g. ↑g = f.
+lemma at_fwd_id_ex: â\88\80f,i. @â¦\83i, fâ¦\84 â\89\98 i → ∃g. ↑g = f.
 #f elim (pn_split f) * /2 width=2 by ex_intro/
 #g #H #i #Hf elim (at_inv_xnx … Hf … H) -Hf -H
 #j2 #Hg #H destruct lapply (at_increasing … Hg) -Hg
@@ -187,7 +187,7 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-corec lemma at_eq_repl_back: â\88\80i1,i2. eq_repl_back (λf. @â¦\83i1, fâ¦\84 â\89¡ i2).
+corec lemma at_eq_repl_back: â\88\80i1,i2. eq_repl_back (λf. @â¦\83i1, fâ¦\84 â\89\98 i2).
 #i1 #i2 #f1 #H1 cases H1 -f1 -i1 -i2
 [ #f1 #g1 #j1 #j2 #H #H1 #H2 #f2 #H12 cases (eq_inv_px … H12 … H) -g1 /2 width=2 by at_refl/
 | #f1 #i1 #i2 #Hf1 #g1 #j1 #j2 #H #H1 #H2 #f2 #H12 cases (eq_inv_px … H12 … H) -g1 /3 width=7 by at_push/
@@ -195,12 +195,12 @@ corec lemma at_eq_repl_back: ∀i1,i2. eq_repl_back (λf. @⦃i1, f⦄ ≡ i2).
 ]
 qed-.
 
-lemma at_eq_repl_fwd: â\88\80i1,i2. eq_repl_fwd (λf. @â¦\83i1, fâ¦\84 â\89¡ i2).
+lemma at_eq_repl_fwd: â\88\80i1,i2. eq_repl_fwd (λf. @â¦\83i1, fâ¦\84 â\89\98 i2).
 #i1 #i2 @eq_repl_sym /2 width=3 by at_eq_repl_back/
 qed-.
 
-lemma at_le_ex: â\88\80j2,i2,f. @â¦\83i2, fâ¦\84 â\89¡ j2 → ∀i1. i1 ≤ i2 →
-                â\88\83â\88\83j1. @â¦\83i1, fâ¦\84 â\89¡ j1 & j1 ≤ j2.
+lemma at_le_ex: â\88\80j2,i2,f. @â¦\83i2, fâ¦\84 â\89\98 j2 → ∀i1. i1 ≤ i2 →
+                â\88\83â\88\83j1. @â¦\83i1, fâ¦\84 â\89\98 j1 & j1 ≤ j2.
 #j2 elim j2 -j2 [2: #j2 #IH ] #i2 #f #Hf
 [ elim (at_inv_xxn … Hf) -Hf [1,3: * |*: // ]
   #g [ #x2 ] #Hg [ #H2 ] #H0
@@ -217,14 +217,14 @@ lemma at_le_ex: ∀j2,i2,f. @⦃i2, f⦄ ≡ j2 → ∀i1. i1 ≤ i2 →
 ]
 qed-.
 
-lemma at_id_le: â\88\80i1,i2. i1 â\89¤ i2 â\86\92 â\88\80f. @â¦\83i2, fâ¦\84 â\89¡ i2 â\86\92 @â¦\83i1, fâ¦\84 â\89¡ i1.
+lemma at_id_le: â\88\80i1,i2. i1 â\89¤ i2 â\86\92 â\88\80f. @â¦\83i2, fâ¦\84 â\89\98 i2 â\86\92 @â¦\83i1, fâ¦\84 â\89\98 i1.
 #i1 #i2 #H @(le_elim … H) -i1 -i2 [ #i2 | #i1 #i2 #IH ]
 #f #Hf elim (at_fwd_id_ex … Hf) /4 width=7 by at_inv_npn, at_push, at_refl/
 qed-.
 
 (* Main properties **********************************************************)
 
-theorem at_monotonic: â\88\80j2,i2,f. @â¦\83i2, fâ¦\84 â\89¡ j2 â\86\92 â\88\80j1,i1. @â¦\83i1, fâ¦\84 â\89¡ j1 →
+theorem at_monotonic: â\88\80j2,i2,f. @â¦\83i2, fâ¦\84 â\89\98 j2 â\86\92 â\88\80j1,i1. @â¦\83i1, fâ¦\84 â\89\98 j1 →
                       i1 < i2 → j1 < j2.
 #j2 elim j2 -j2
 [ #i2 #f #H2f elim (at_inv_xxp … H2f) -H2f //
@@ -240,7 +240,7 @@ theorem at_monotonic: ∀j2,i2,f. @⦃i2, f⦄ ≡ j2 → ∀j1,i1. @⦃i1, f⦄
 ]
 qed-.
 
-theorem at_inv_monotonic: â\88\80j1,i1,f. @â¦\83i1, fâ¦\84 â\89¡ j1 â\86\92 â\88\80j2,i2. @â¦\83i2, fâ¦\84 â\89¡ j2 →
+theorem at_inv_monotonic: â\88\80j1,i1,f. @â¦\83i1, fâ¦\84 â\89\98 j1 â\86\92 â\88\80j2,i2. @â¦\83i2, fâ¦\84 â\89\98 j2 →
                           j1 < j2 → i1 < i2.
 #j1 elim j1 -j1
 [ #i1 #f #H1f elim (at_inv_xxp … H1f) -H1f //
@@ -261,12 +261,12 @@ theorem at_inv_monotonic: ∀j1,i1,f. @⦃i1, f⦄ ≡ j1 → ∀j2,i2. @⦃i2,
 ]
 qed-.
 
-theorem at_mono: â\88\80f,i,i1. @â¦\83i, fâ¦\84 â\89¡ i1 â\86\92 â\88\80i2. @â¦\83i, fâ¦\84 â\89¡ i2 → i2 = i1.
+theorem at_mono: â\88\80f,i,i1. @â¦\83i, fâ¦\84 â\89\98 i1 â\86\92 â\88\80i2. @â¦\83i, fâ¦\84 â\89\98 i2 → i2 = i1.
 #f #i #i1 #H1 #i2 #H2 elim (lt_or_eq_or_gt i2 i1) //
 #Hi elim (lt_le_false i i) /3 width=6 by at_inv_monotonic, eq_sym/
 qed-.
 
-theorem at_inj: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 â\88\80i2. @â¦\83i2, fâ¦\84 â\89¡ i → i1 = i2.
+theorem at_inj: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 â\88\80i2. @â¦\83i2, fâ¦\84 â\89\98 i → i1 = i2.
 #f #i1 #i #H1 #i2 #H2 elim (lt_or_eq_or_gt i2 i1) //
 #Hi elim (lt_le_false i i) /3 width=6 by at_monotonic, eq_sym/
 qed-.
@@ -312,14 +312,14 @@ theorem at_div_pn: ∀f2,g2,f1,g1.
 
 (* Properties on tls ********************************************************)
 
-lemma at_pxx_tls: â\88\80n,f. @â¦\830, fâ¦\84 â\89¡ n â\86\92 @â¦\830, â«±*[n]fâ¦\84 â\89¡ 0.
+lemma at_pxx_tls: â\88\80n,f. @â¦\830, fâ¦\84 â\89\98 n â\86\92 @â¦\830, â«±*[n]fâ¦\84 â\89\98 0.
 #n elim n -n //
 #n #IH #f #Hf
 cases (at_inv_pxn … Hf) -Hf [ |*: // ] #g #Hg #H0 destruct
 <tls_xn /2 width=1 by/
 qed.
 
-lemma at_tls: â\88\80i2,f. â\86\91⫱*[⫯i2]f â\89\97 â«±*[i2]f â\86\92 â\88\83i1. @â¦\83i1, fâ¦\84 â\89¡ i2.
+lemma at_tls: â\88\80i2,f. â\86\91⫱*[⫯i2]f â\89\97 â«±*[i2]f â\86\92 â\88\83i1. @â¦\83i1, fâ¦\84 â\89\98 i2.
 #i2 elim i2 -i2
 [ /4 width=4 by at_eq_repl_back, at_refl, ex_intro/
 | #i2 #IH #f <tls_xn <tls_xn in ⊢ (??%→?); #H
@@ -330,8 +330,8 @@ qed-.
 
 (* Inversion lemmas with tls ************************************************)
 
-lemma at_inv_nxx: â\88\80n,g,i1,j2. @â¦\83⫯i1, gâ¦\84 â\89¡ j2 â\86\92 @â¦\830, gâ¦\84 â\89¡ n →
-                  â\88\83â\88\83i2. @â¦\83i1, â«±*[⫯n]gâ¦\84 â\89¡ i2 & ⫯(n+i2) = j2.
+lemma at_inv_nxx: â\88\80n,g,i1,j2. @â¦\83⫯i1, gâ¦\84 â\89\98 j2 â\86\92 @â¦\830, gâ¦\84 â\89\98 n →
+                  â\88\83â\88\83i2. @â¦\83i1, â«±*[⫯n]gâ¦\84 â\89\98 i2 & ⫯(n+i2) = j2.
 #n elim n -n
 [ #g #i1 #j2 #Hg #H
   elim (at_inv_pxp … H) -H [ |*: // ] #f #H0
@@ -345,7 +345,7 @@ lemma at_inv_nxx: ∀n,g,i1,j2. @⦃⫯i1, g⦄ ≡ j2 → @⦃0, g⦄ ≡ n →
 ]
 qed-.
 
-lemma at_inv_tls: â\88\80i2,i1,f. @â¦\83i1, fâ¦\84 â\89¡ i2 → ↑⫱*[⫯i2]f ≗ ⫱*[i2]f.
+lemma at_inv_tls: â\88\80i2,i1,f. @â¦\83i1, fâ¦\84 â\89\98 i2 → ↑⫱*[⫯i2]f ≗ ⫱*[i2]f.
 #i2 elim i2 -i2
 [ #i1 #f #Hf elim (at_inv_xxp … Hf) -Hf // #g #H1 #H destruct
   /2 width=1 by eq_refl/
@@ -358,19 +358,19 @@ qed-.
 
 (* Advanced inversion lemmas on isid ****************************************)
 
-lemma isid_inv_at: â\88\80i,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 @â¦\83i, fâ¦\84 â\89¡ i.
+lemma isid_inv_at: â\88\80i,f. ð\9d\90\88â¦\83fâ¦\84 â\86\92 @â¦\83i, fâ¦\84 â\89\98 i.
 #i elim i -i
 [ #f #H elim (isid_inv_gen … H) -H /2 width=2 by at_refl/
 | #i #IH #f #H elim (isid_inv_gen … H) -H /3 width=7 by at_push/
 ]
 qed.
 
-lemma isid_inv_at_mono: â\88\80f,i1,i2. ð\9d\90\88â¦\83fâ¦\84 â\86\92 @â¦\83i1, fâ¦\84 â\89¡ i2 → i1 = i2.
+lemma isid_inv_at_mono: â\88\80f,i1,i2. ð\9d\90\88â¦\83fâ¦\84 â\86\92 @â¦\83i1, fâ¦\84 â\89\98 i2 → i1 = i2.
 /3 width=6 by isid_inv_at, at_mono/ qed-.
 
 (* Advanced properties on isid **********************************************)
 
-corec lemma isid_at: â\88\80f. (â\88\80i. @â¦\83i, fâ¦\84 â\89¡ i) → 𝐈⦃f⦄.
+corec lemma isid_at: â\88\80f. (â\88\80i. @â¦\83i, fâ¦\84 â\89\98 i) → 𝐈⦃f⦄.
 #f #Hf lapply (Hf 0)
 #H cases (at_fwd_id_ex … H) -H
 #g #H @(isid_push … H) /3 width=7 by at_inv_npn/
@@ -378,15 +378,15 @@ qed-.
 
 (* Advanced properties on id ************************************************)
 
-lemma id_inv_at: â\88\80f. (â\88\80i. @â¦\83i, fâ¦\84 â\89¡ i) → 𝐈𝐝 ≗ f.
+lemma id_inv_at: â\88\80f. (â\88\80i. @â¦\83i, fâ¦\84 â\89\98 i) → 𝐈𝐝 ≗ f.
 /3 width=1 by isid_at, eq_id_inv_isid/ qed-.
 
-lemma id_at: â\88\80i. @â¦\83i, ð\9d\90\88ð\9d\90\9dâ¦\84 â\89¡ i.
+lemma id_at: â\88\80i. @â¦\83i, ð\9d\90\88ð\9d\90\9dâ¦\84 â\89\98 i.
 /2 width=1 by isid_inv_at/ qed.
 
 (* Advanced forward lemmas on id ********************************************)
 
-lemma at_id_fwd: â\88\80i1,i2. @â¦\83i1, ð\9d\90\88ð\9d\90\9dâ¦\84 â\89¡ i2 → i1 = i2.
+lemma at_id_fwd: â\88\80i1,i2. @â¦\83i1, ð\9d\90\88ð\9d\90\9dâ¦\84 â\89\98 i2 → i1 = i2.
 /2 width=4 by at_mono/ qed.
 
 (* Main properties on id ****************************************************)
@@ -402,11 +402,11 @@ theorem at_div_id_sn: ∀f. H_at_div 𝐈𝐝 f f 𝐈𝐝.
 
 (* Properties with uniform relocations **************************************)
 
-lemma at_uni: â\88\80n,i. @â¦\83i,ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89¡ n+i.
+lemma at_uni: â\88\80n,i. @â¦\83i,ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89\98 n+i.
 #n elim n -n /2 width=5 by at_next/
 qed.
 
 (* Inversion lemmas with uniform relocations ********************************)
 
-lemma at_inv_uni: â\88\80n,i,j. @â¦\83i,ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89¡ j → j = n+i.
+lemma at_inv_uni: â\88\80n,i,j. @â¦\83i,ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89\98 j → j = n+i.
 /2 width=4 by at_mono/ qed-.
index 2d1d860f920d593b6985c5f427da321d73147e08..8354c3d77563719db9b6583bcccbcac4a578f33a 100644 (file)
@@ -32,18 +32,18 @@ interpretation "relational co-composition (rtmap)"
 
 definition H_coafter_inj: predicate rtmap ≝
                           λf1. 𝐓⦃f1⦄ →
-                          â\88\80f,f21,f22. f1 ~â\8a\9a f21 â\89¡ f â\86\92 f1 ~â\8a\9a f22 â\89¡ f → f21 ≗ f22.
+                          â\88\80f,f21,f22. f1 ~â\8a\9a f21 â\89\98 f â\86\92 f1 ~â\8a\9a f22 â\89\98 f → f21 ≗ f22.
 
 definition H_coafter_fwd_isid2: predicate rtmap ≝
-                                Î»f1. â\88\80f2,f. f1 ~â\8a\9a f2 â\89¡ f → 𝐓⦃f1⦄ → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
+                                Î»f1. â\88\80f2,f. f1 ~â\8a\9a f2 â\89\98 f → 𝐓⦃f1⦄ → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
 
 definition H_coafter_isfin2_fwd: predicate rtmap ≝
-                                 Î»f1. â\88\80f2. ð\9d\90\85â¦\83f2â¦\84 â\86\92 ð\9d\90\93â¦\83f1â¦\84 â\86\92 â\88\80f. f1 ~â\8a\9a f2 â\89¡ f →  𝐅⦃f⦄.
+                                 Î»f1. â\88\80f2. ð\9d\90\85â¦\83f2â¦\84 â\86\92 ð\9d\90\93â¦\83f1â¦\84 â\86\92 â\88\80f. f1 ~â\8a\9a f2 â\89\98 f →  𝐅⦃f⦄.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma coafter_inv_ppx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
-                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89¡ f & ↑f = g.
+lemma coafter_inv_ppx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
+                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g #f1 #f2 #f #g1
 [ #g2 #g #Hf #H1 #H2 #H #x1 #x2 #Hx1 #Hx2 destruct
   >(injective_push … Hx1) >(injective_push … Hx2) -x2 -x1
@@ -55,8 +55,8 @@ lemma coafter_inv_ppx: ∀g1,g2,g. g1 ~⊚ g2 ≡ g → ∀f1,f2. ↑f1 = g1 →
 ]
 qed-.
 
-lemma coafter_inv_pnx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
-                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89¡ f & ⫯f = g.
+lemma coafter_inv_pnx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
+                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g #f1 #f2 #f #g1
 [ #g2 #g #_ #_ #H2 #_ #x1 #x2 #_ #Hx2 destruct
   elim (discr_next_push … Hx2)
@@ -68,8 +68,8 @@ lemma coafter_inv_pnx: ∀g1,g2,g. g1 ~⊚ g2 ≡ g → ∀f1,f2. ↑f1 = g1 →
 ]
 qed-.
 
-lemma coafter_inv_nxx: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89¡ g → ∀f1. ⫯f1 = g1 →
-                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89¡ f & ↑f = g.
+lemma coafter_inv_nxx: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89\98 g → ∀f1. ⫯f1 = g1 →
+                       â\88\83â\88\83f. f1 ~â\8a\9a f2 â\89\98 f & ↑f = g.
 #g1 #f2 #g * -g1 -f2 -g #f1 #f2 #f #g1
 [ #g2 #g #_ #H1 #_ #_ #x1 #Hx1 destruct
   elim (discr_next_push … Hx1)
@@ -83,85 +83,85 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma coafter_inv_ppp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
-                       â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 ~â\8a\9a f2 â\89¡ f.
+lemma coafter_inv_ppp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
+                       â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 ~â\8a\9a f2 â\89\98 f.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H
 elim (coafter_inv_ppx … Hg … H1 H2) -g1 -g2 #x #Hf #Hx destruct
 <(injective_push … Hx) -f //
 qed-.
 
-lemma coafter_inv_ppn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_inv_ppn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        ∀f1,f2,f. ↑f1 = g1 → ↑f2 = g2 → ⫯f = g → ⊥.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H
 elim (coafter_inv_ppx … Hg … H1 H2) -g1 -g2 #x #Hf #Hx destruct
 elim (discr_push_next … Hx)
 qed-.
 
-lemma coafter_inv_pnn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
-                       â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 ~â\8a\9a f2 â\89¡ f.
+lemma coafter_inv_pnn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
+                       â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 ~â\8a\9a f2 â\89\98 f.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H
 elim (coafter_inv_pnx … Hg … H1 H2) -g1 -g2 #x #Hf #Hx destruct
 <(injective_next … Hx) -f //
 qed-.
 
-lemma coafter_inv_pnp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_inv_pnp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        ∀f1,f2,f. ↑f1 = g1 → ⫯f2 = g2 → ↑f = g → ⊥.
 #g1 #g2 #g #Hg #f1 #f2 #f #H1 #H2 #H
 elim (coafter_inv_pnx … Hg … H1 H2) -g1 -g2 #x #Hf #Hx destruct
 elim (discr_next_push … Hx)
 qed-.
 
-lemma coafter_inv_nxp: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89¡ g →
-                       â\88\80f1,f. â«¯f1 = g1 â\86\92 â\86\91f = g â\86\92 f1 ~â\8a\9a f2 â\89¡ f.
+lemma coafter_inv_nxp: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89\98 g →
+                       â\88\80f1,f. â«¯f1 = g1 â\86\92 â\86\91f = g â\86\92 f1 ~â\8a\9a f2 â\89\98 f.
 #g1 #f2 #g #Hg #f1 #f #H1 #H
 elim (coafter_inv_nxx … Hg … H1) -g1 #x #Hf #Hx destruct
 <(injective_push … Hx) -f //
 qed-.
 
-lemma coafter_inv_nxn: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89¡ g →
+lemma coafter_inv_nxn: â\88\80g1,f2,g. g1 ~â\8a\9a f2 â\89\98 g →
                        ∀f1,f. ⫯f1 = g1 → ⫯f = g → ⊥.
 #g1 #f2 #g #Hg #f1 #f #H1 #H
 elim (coafter_inv_nxx … Hg … H1) -g1 #x #Hf #Hx destruct
 elim (discr_push_next … Hx)
 qed-.
 
-lemma coafter_inv_pxp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_inv_pxp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        ∀f1,f. ↑f1 = g1 → ↑f = g →
-                       â\88\83â\88\83f2. f1 ~â\8a\9a f2 â\89¡ f & ↑f2 = g2.
+                       â\88\83â\88\83f2. f1 ~â\8a\9a f2 â\89\98 f & ↑f2 = g2.
 #g1 #g2 #g #Hg #f1 #f #H1 #H elim (pn_split g2) * #f2 #H2
 [ lapply (coafter_inv_ppp … Hg … H1 H2 H) -g1 -g /2 width=3 by ex2_intro/
 | elim (coafter_inv_pnp … Hg … H1 H2 H)
 ]
 qed-.
 
-lemma coafter_inv_pxn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_inv_pxn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        ∀f1,f. ↑f1 = g1 → ⫯f = g →
-                       â\88\83â\88\83f2. f1 ~â\8a\9a f2 â\89¡ f & ⫯f2 = g2.
+                       â\88\83â\88\83f2. f1 ~â\8a\9a f2 â\89\98 f & ⫯f2 = g2.
 #g1 #g2 #g #Hg #f1 #f #H1 #H elim (pn_split g2) * #f2 #H2
 [ elim (coafter_inv_ppn … Hg … H1 H2 H)
 | lapply (coafter_inv_pnn … Hg … H1 … H) -g1 -g /2 width=3 by ex2_intro/
 ]
 qed-.
 
-lemma coafter_inv_xxn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g → ∀f. ⫯f = g →
-                       â\88\83â\88\83f1,f2. f1 ~â\8a\9a f2 â\89¡ f & ↑f1 = g1 & ⫯f2 = g2.
+lemma coafter_inv_xxn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g → ∀f. ⫯f = g →
+                       â\88\83â\88\83f1,f2. f1 ~â\8a\9a f2 â\89\98 f & ↑f1 = g1 & ⫯f2 = g2.
 #g1 #g2 #g #Hg #f #H elim (pn_split g1) * #f1 #H1
 [ elim (coafter_inv_pxn … Hg … H1 H) -g /2 width=5 by ex3_2_intro/
 | elim (coafter_inv_nxn … Hg … H1 H)
 ]
 qed-.
 
-lemma coafter_inv_xnn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_inv_xnn: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        ∀f2,f. ⫯f2 = g2 → ⫯f = g →
-                       â\88\83â\88\83f1. f1 ~â\8a\9a f2 â\89¡ f & ↑f1 = g1.
+                       â\88\83â\88\83f1. f1 ~â\8a\9a f2 â\89\98 f & ↑f1 = g1.
 #g1 #g2 #g #Hg #f2 #f #H2 destruct #H
 elim (coafter_inv_xxn … Hg … H) -g
 #z1 #z2 #Hf #H1 #H2 destruct /2 width=3 by ex2_intro/
 qed-.
 
-lemma coafter_inv_xxp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g → ∀f. ↑f = g →
-                       (â\88\83â\88\83f1,f2. f1 ~â\8a\9a f2 â\89¡ f & ↑f1 = g1 & ↑f2 = g2) ∨
-                       â\88\83â\88\83f1. f1 ~â\8a\9a g2 â\89¡ f & ⫯f1 = g1.
+lemma coafter_inv_xxp: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g → ∀f. ↑f = g →
+                       (â\88\83â\88\83f1,f2. f1 ~â\8a\9a f2 â\89\98 f & ↑f1 = g1 & ↑f2 = g2) ∨
+                       â\88\83â\88\83f1. f1 ~â\8a\9a g2 â\89\98 f & ⫯f1 = g1.
 #g1 #g2 #g #Hg #f #H elim (pn_split g1) * #f1 #H1
 [ elim (coafter_inv_pxp … Hg … H1 H) -g
   /3 width=5 by or_introl, ex3_2_intro/
@@ -169,9 +169,9 @@ lemma coafter_inv_xxp: ∀g1,g2,g. g1 ~⊚ g2 ≡ g → ∀f. ↑f = g →
 ]
 qed-.
 
-lemma coafter_inv_pxx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g → ∀f1. ↑f1 = g1 →
-                       (â\88\83â\88\83f2,f. f1 ~â\8a\9a f2 â\89¡ f & ↑f2 = g2 & ↑f = g) ∨
-                       (â\88\83â\88\83f2,f. f1 ~â\8a\9a f2 â\89¡ f & ⫯f2 = g2 & ⫯f = g).
+lemma coafter_inv_pxx: â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g → ∀f1. ↑f1 = g1 →
+                       (â\88\83â\88\83f2,f. f1 ~â\8a\9a f2 â\89\98 f & ↑f2 = g2 & ↑f = g) ∨
+                       (â\88\83â\88\83f2,f. f1 ~â\8a\9a f2 â\89\98 f & ⫯f2 = g2 & ⫯f = g).
 #g1 #g2 #g #Hg #f1 #H1 elim (pn_split g2) * #f2 #H2
 [ elim (coafter_inv_ppx … Hg … H1 H2) -g1
   /3 width=5 by or_introl, ex3_2_intro/
@@ -182,7 +182,7 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-corec lemma coafter_eq_repl_back2: â\88\80f1,f. eq_repl_back (λf2. f2 ~â\8a\9a f1 â\89¡ f).
+corec lemma coafter_eq_repl_back2: â\88\80f1,f. eq_repl_back (λf2. f2 ~â\8a\9a f1 â\89\98 f).
 #f1 #f #f2 * -f2 -f1 -f
 #f21 #f1 #f #g21 [1,2: #g1 ] #g #Hf #H21 [1,2: #H1 ] #H #g22 #H0
 [ cases (eq_inv_px …  H0 …  H21) -g21 /3 width=7 by coafter_refl/
@@ -191,11 +191,11 @@ corec lemma coafter_eq_repl_back2: ∀f1,f. eq_repl_back (λf2. f2 ~⊚ f1 ≡ f
 ]
 qed-.
 
-lemma coafter_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd (λf2. f2 ~â\8a\9a f1 â\89¡ f).
+lemma coafter_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd (λf2. f2 ~â\8a\9a f1 â\89\98 f).
 #f1 #f @eq_repl_sym /2 width=3 by coafter_eq_repl_back2/
 qed-.
 
-corec lemma coafter_eq_repl_back1: â\88\80f2,f. eq_repl_back (λf1. f2 ~â\8a\9a f1 â\89¡ f).
+corec lemma coafter_eq_repl_back1: â\88\80f2,f. eq_repl_back (λf1. f2 ~â\8a\9a f1 â\89\98 f).
 #f2 #f #f1 * -f2 -f1 -f
 #f2 #f11 #f #g2 [1,2: #g11 ] #g #Hf #H2 [1,2: #H11 ] #H #g2 #H0
 [ cases (eq_inv_px …  H0 …  H11) -g11 /3 width=7 by coafter_refl/
@@ -204,11 +204,11 @@ corec lemma coafter_eq_repl_back1: ∀f2,f. eq_repl_back (λf1. f2 ~⊚ f1 ≡ f
 ]
 qed-.
 
-lemma coafter_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd (λf1. f2 ~â\8a\9a f1 â\89¡ f).
+lemma coafter_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd (λf1. f2 ~â\8a\9a f1 â\89\98 f).
 #f2 #f @eq_repl_sym /2 width=3 by coafter_eq_repl_back1/
 qed-.
 
-corec lemma coafter_eq_repl_back0: â\88\80f1,f2. eq_repl_back (λf. f2 ~â\8a\9a f1 â\89¡ f).
+corec lemma coafter_eq_repl_back0: â\88\80f1,f2. eq_repl_back (λf. f2 ~â\8a\9a f1 â\89\98 f).
 #f2 #f1 #f * -f2 -f1 -f
 #f2 #f1 #f01 #g2 [1,2: #g1 ] #g01 #Hf01 #H2 [1,2: #H1 ] #H01 #g02 #H0
 [ cases (eq_inv_px …  H0 …  H01) -g01 /3 width=7 by coafter_refl/
@@ -217,13 +217,13 @@ corec lemma coafter_eq_repl_back0: ∀f1,f2. eq_repl_back (λf. f2 ~⊚ f1 ≡ f
 ]
 qed-.
 
-lemma coafter_eq_repl_fwd0: â\88\80f2,f1. eq_repl_fwd (λf. f2 ~â\8a\9a f1 â\89¡ f).
+lemma coafter_eq_repl_fwd0: â\88\80f2,f1. eq_repl_fwd (λf. f2 ~â\8a\9a f1 â\89\98 f).
 #f2 #f1 @eq_repl_sym /2 width=3 by coafter_eq_repl_back0/
 qed-.
 
 (* Main inversion lemmas ****************************************************)
 
-corec theorem coafter_mono: â\88\80f1,f2,x,y. f1 ~â\8a\9a f2 â\89¡ x â\86\92 f1 ~â\8a\9a f2 â\89¡ y → x ≗ y.
+corec theorem coafter_mono: â\88\80f1,f2,x,y. f1 ~â\8a\9a f2 â\89\98 x â\86\92 f1 ~â\8a\9a f2 â\89\98 y → x ≗ y.
 #f1 #f2 #x #y * -f1 -f2 -x
 #f1 #f2 #x #g1 [1,2: #g2 ] #g #Hx #H1 [1,2: #H2 ] #H0x #Hy
 [ cases (coafter_inv_ppx … Hy … H1 H2) -g1 -g2 /3 width=8 by eq_push/
@@ -232,13 +232,13 @@ corec theorem coafter_mono: ∀f1,f2,x,y. f1 ~⊚ f2 ≡ x → f1 ~⊚ f2 ≡ y
 ]
 qed-.
 
-lemma coafter_mono_eq: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89¡ f â\86\92 â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89¡ g →
+lemma coafter_mono_eq: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89\98 f â\86\92 â\88\80g1,g2,g. g1 ~â\8a\9a g2 â\89\98 g →
                        f1 ≗ g1 → f2 ≗ g2 → f ≗ g.
 /4 width=4 by coafter_mono, coafter_eq_repl_back1, coafter_eq_repl_back2/ qed-.
 
 (* Forward lemmas with pushs ************************************************)
 
-lemma coafter_fwd_pushs: â\88\80j,i,g2,f1,g. g2 ~â\8a\9a â\86\91*[i]f1 â\89¡ g â\86\92 @â¦\83i, g2â¦\84 â\89¡ j →
+lemma coafter_fwd_pushs: â\88\80j,i,g2,f1,g. g2 ~â\8a\9a â\86\91*[i]f1 â\89\98 g â\86\92 @â¦\83i, g2â¦\84 â\89\98 j →
                          ∃f. ↑*[j] f = g.
 #j elim j -j
 [ #i #g2 #f1 #g #Hg #H
@@ -260,16 +260,16 @@ qed-.
 
 (* Inversion lemmas with tail ***********************************************)
 
-lemma coafter_inv_tl1: â\88\80g2,g1,g. g2 ~â\8a\9a â«±g1 â\89¡ g →
-                       â\88\83â\88\83f. â\86\91g2 ~â\8a\9a g1 â\89¡ f & ⫱f = g.
+lemma coafter_inv_tl1: â\88\80g2,g1,g. g2 ~â\8a\9a â«±g1 â\89\98 g →
+                       â\88\83â\88\83f. â\86\91g2 ~â\8a\9a g1 â\89\98 f & ⫱f = g.
 #g2 #g1 #g elim (pn_split g1) * #f1 #H1 #H destruct
 [ /3 width=7 by coafter_refl, ex2_intro/
 | @(ex2_intro … (⫯g)) /2 width=7 by coafter_push/ (**) (* full auto fails *)
 ]
 qed-.
 
-lemma coafter_inv_tl0: â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89¡ ⫱g →
-                       â\88\83â\88\83f1. â\86\91g2 ~â\8a\9a f1 â\89¡ g & ⫱f1 = g1.
+lemma coafter_inv_tl0: â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89\98 ⫱g →
+                       â\88\83â\88\83f1. â\86\91g2 ~â\8a\9a f1 â\89\98 g & ⫱f1 = g1.
 #g2 #g1 #g elim (pn_split g) * #f #H0 #H destruct
 [ /3 width=7 by coafter_refl, ex2_intro/
 | @(ex2_intro … (⫯g1)) /2 width=7 by coafter_push/ (**) (* full auto fails *)
@@ -278,8 +278,8 @@ qed-.
 
 (* Properties with iterated tail ********************************************)
 
-lemma coafter_tls: â\88\80j,i,f1,f2,f. @â¦\83i, f1â¦\84 â\89¡ j →
-                   f1 ~â\8a\9a f2 â\89¡ f â\86\92 â«±*[j]f1 ~â\8a\9a â«±*[i]f2 â\89¡ ⫱*[j]f.
+lemma coafter_tls: â\88\80j,i,f1,f2,f. @â¦\83i, f1â¦\84 â\89\98 j →
+                   f1 ~â\8a\9a f2 â\89\98 f â\86\92 â«±*[j]f1 ~â\8a\9a â«±*[i]f2 â\89\98 ⫱*[j]f.
 #j elim j -j [ #i | #j #IH * [| #i ] ] #f1 #f2 #f #Hf1 #Hf
 [ elim (at_inv_xxp … Hf1) -Hf1 [ |*: // ] #g1 #Hg1 #H1 destruct //
 | elim (at_inv_pxn … Hf1) -Hf1 [ |*: // ] #g1 #Hg1 #H1
@@ -294,12 +294,12 @@ lemma coafter_tls: ∀j,i,f1,f2,f. @⦃i, f1⦄ ≡ j →
 ]
 qed.
 
-lemma coafter_tls_O: â\88\80n,f1,f2,f. @â¦\830, f1â¦\84 â\89¡ n →
-                     f1 ~â\8a\9a f2 â\89¡ f â\86\92 â«±*[n]f1 ~â\8a\9a f2 â\89¡ ⫱*[n]f.
+lemma coafter_tls_O: â\88\80n,f1,f2,f. @â¦\830, f1â¦\84 â\89\98 n →
+                     f1 ~â\8a\9a f2 â\89\98 f â\86\92 â«±*[n]f1 ~â\8a\9a f2 â\89\98 ⫱*[n]f.
 /2 width=1 by coafter_tls/ qed.
 
-lemma coafter_tls_succ: â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89¡ g →
-                        â\88\80n. @â¦\830, g2â¦\84 â\89¡ n â\86\92 â«±*[⫯n]g2 ~â\8a\9a â«±g1 â\89¡ ⫱*[⫯n]g.
+lemma coafter_tls_succ: â\88\80g2,g1,g. g2 ~â\8a\9a g1 â\89\98 g →
+                        â\88\80n. @â¦\830, g2â¦\84 â\89\98 n â\86\92 â«±*[⫯n]g2 ~â\8a\9a â«±g1 â\89\98 ⫱*[⫯n]g.
 #g2 #g1 #g #Hg #n #Hg2
 lapply (coafter_tls … Hg2 … Hg) -Hg #Hg
 lapply (at_pxx_tls … Hg2) -Hg2 #H
@@ -308,8 +308,8 @@ elim (coafter_inv_pxx … Hg … H2) -Hg * #f1 #f #Hf #H1 #H0 destruct
 <tls_S <tls_S <H2 <H0 -g2 -g -n //
 qed.
 
-lemma coafter_fwd_xpx_pushs: â\88\80g2,f1,g,i,j. @â¦\83i, g2â¦\84 â\89¡ j â\86\92 g2 ~â\8a\9a â\86\91*[⫯i]f1 â\89¡ g →
-                             â\88\83â\88\83f.  â«±*[⫯j]g2 ~â\8a\9a f1 â\89¡ f & ↑*[⫯j]f = g.
+lemma coafter_fwd_xpx_pushs: â\88\80g2,f1,g,i,j. @â¦\83i, g2â¦\84 â\89\98 j â\86\92 g2 ~â\8a\9a â\86\91*[⫯i]f1 â\89\98 g →
+                             â\88\83â\88\83f.  â«±*[⫯j]g2 ~â\8a\9a f1 â\89\98 f & ↑*[⫯j]f = g.
 #g2 #g1 #g #i #j #Hg2 <pushs_xn #Hg
 elim (coafter_fwd_pushs … Hg Hg2) #f #H0 destruct
 lapply (coafter_tls … Hg2 Hg) -Hg <tls_pushs <tls_pushs #Hf
@@ -319,8 +319,8 @@ elim (coafter_inv_ppx … Hf) [|*: // ] -Hf #g #Hg #H destruct
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma coafter_fwd_xnx_pushs: â\88\80g2,f1,g,i,j. @â¦\83i, g2â¦\84 â\89¡ j â\86\92 g2 ~â\8a\9a â\86\91*[i]⫯f1 â\89¡ g →
-                             â\88\83â\88\83f. â«±*[⫯j]g2 ~â\8a\9a f1 â\89¡ f & ↑*[j] ⫯f = g.
+lemma coafter_fwd_xnx_pushs: â\88\80g2,f1,g,i,j. @â¦\83i, g2â¦\84 â\89\98 j â\86\92 g2 ~â\8a\9a â\86\91*[i]⫯f1 â\89\98 g →
+                             â\88\83â\88\83f. â«±*[⫯j]g2 ~â\8a\9a f1 â\89\98 f & ↑*[j] ⫯f = g.
 #g2 #g1 #g #i #j #Hg2 #Hg
 elim (coafter_fwd_pushs … Hg Hg2) #f #H0 destruct
 lapply (coafter_tls … Hg2 Hg) -Hg <tls_pushs <tls_pushs #Hf
@@ -332,12 +332,12 @@ qed-.
 
 (* Properties with test for identity ****************************************)
 
-corec lemma coafter_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 ~â\8a\9a f2 â\89¡ f2.
+corec lemma coafter_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 ~â\8a\9a f2 â\89\98 f2.
 #f1 * -f1 #f1 #g1 #Hf1 #H1 #f2 cases (pn_split f2) * #g2 #H2
 /3 width=7 by coafter_push, coafter_refl/
 qed.
 
-corec lemma coafter_isid_dx: â\88\80f2,f. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\88â¦\83fâ¦\84 â\86\92 â\88\80f1. f1 ~â\8a\9a f2 â\89¡ f.
+corec lemma coafter_isid_dx: â\88\80f2,f. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\88â¦\83fâ¦\84 â\86\92 â\88\80f1. f1 ~â\8a\9a f2 â\89\98 f.
 #f2 #f * -f2 #f2 #g2 #Hf2 #H2 * -f #f #g #Hf #H #f1 cases (pn_split f1) * #g1 #H1
 [ /3 width=7 by coafter_refl/
 | @(coafter_next … H1 … H) /3 width=3 by isid_push/
@@ -346,27 +346,27 @@ qed.
 
 (* Inversion lemmas with test for identity **********************************)
 
-lemma coafter_isid_inv_sn: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89¡ f → 𝐈⦃f1⦄ → f2 ≗ f.
+lemma coafter_isid_inv_sn: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89\98 f → 𝐈⦃f1⦄ → f2 ≗ f.
 /3 width=6 by coafter_isid_sn, coafter_mono/ qed-.
 
-lemma coafter_isid_inv_dx: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89¡ f → 𝐈⦃f2⦄ → 𝐈⦃f⦄.
+lemma coafter_isid_inv_dx: â\88\80f1,f2,f. f1 ~â\8a\9a f2 â\89\98 f → 𝐈⦃f2⦄ → 𝐈⦃f⦄.
 /4 width=4 by eq_id_isid, coafter_isid_dx, coafter_mono/ qed-.
 
 (* Properties with test for uniform relocations *****************************)
 
-lemma coafter_isuni_isid: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 ~â\8a\9a f2 â\89¡ f2.
+lemma coafter_isuni_isid: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 ~â\8a\9a f2 â\89\98 f2.
 #f #Hf #g #H elim H -g
 /3 width=5 by coafter_isid_sn, coafter_eq_repl_back0, coafter_next, eq_push_inv_isid/
 qed.
 
 
 (*
-lemma coafter_isid_isuni: â\88\80f1,f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 ~â\8a\9a â«¯f2 â\89¡ ⫯f1.
+lemma coafter_isid_isuni: â\88\80f1,f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\94â¦\83f1â¦\84 â\86\92 f1 ~â\8a\9a â«¯f2 â\89\98 ⫯f1.
 #f1 #f2 #Hf2 #H elim H -H
 /5 width=7 by coafter_isid_dx, coafter_eq_repl_back2, coafter_next, coafter_push, eq_push_inv_isid/
 qed.
 
-lemma coafter_uni_next2: â\88\80f2. ð\9d\90\94â¦\83f2â¦\84 â\86\92 â\88\80f1,f. â«¯f2 ~â\8a\9a f1 â\89¡ f â\86\92 f2 ~â\8a\9a â«¯f1 â\89¡ f.
+lemma coafter_uni_next2: â\88\80f2. ð\9d\90\94â¦\83f2â¦\84 â\86\92 â\88\80f1,f. â«¯f2 ~â\8a\9a f1 â\89\98 f â\86\92 f2 ~â\8a\9a â«¯f1 â\89\98 f.
 #f2 #H elim H -f2
 [ #f2 #Hf2 #f1 #f #Hf
   elim (coafter_inv_nxx … Hf) -Hf [2,3: // ] #g #Hg #H0 destruct
@@ -380,20 +380,20 @@ qed.
 
 (* Properties with uniform relocations **************************************)
 
-lemma coafter_uni_sn: â\88\80i,f. ð\9d\90\94â\9d´iâ\9dµ ~â\8a\9a f â\89¡ ↑*[i] f.
+lemma coafter_uni_sn: â\88\80i,f. ð\9d\90\94â\9d´iâ\9dµ ~â\8a\9a f â\89\98 ↑*[i] f.
 #i elim i -i /2 width=5 by coafter_isid_sn, coafter_next/
 qed.
 
 (*
-lemma coafter_uni: â\88\80n1,n2. ð\9d\90\94â\9d´n1â\9dµ ~â\8a\9a ð\9d\90\94â\9d´n2â\9dµ â\89¡ 𝐔❴n1+n2❵.
+lemma coafter_uni: â\88\80n1,n2. ð\9d\90\94â\9d´n1â\9dµ ~â\8a\9a ð\9d\90\94â\9d´n2â\9dµ â\89\98 𝐔❴n1+n2❵.
 @nat_elim2
 /4 width=5 by coafter_uni_next2, coafter_isid_sn, coafter_isid_dx, coafter_next/
 qed.
 
 (* Forward lemmas on at *****************************************************)
 
-lemma coafter_at_fwd: â\88\80i,i1,f. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 â\88\80f2,f1. f2 ~â\8a\9a f1 â\89¡ f →
-                      â\88\83â\88\83i2. @â¦\83i1, f1â¦\84 â\89¡ i2 & @â¦\83i2, f2â¦\84 â\89¡ i.
+lemma coafter_at_fwd: â\88\80i,i1,f. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 â\88\80f2,f1. f2 ~â\8a\9a f1 â\89\98 f →
+                      â\88\83â\88\83i2. @â¦\83i1, f1â¦\84 â\89\98 i2 & @â¦\83i2, f2â¦\84 â\89\98 i.
 #i elim i -i [2: #i #IH ] #i1 #f #Hf #f2 #f1 #Hf21
 [ elim (at_inv_xxn … Hf) -Hf [1,3:* |*: // ]
   [1: #g #j1 #Hg #H0 #H |2,4: #g #Hg #H ]
@@ -409,8 +409,8 @@ lemma coafter_at_fwd: ∀i,i1,f. @⦃i1, f⦄ ≡ i → ∀f2,f1. f2 ~⊚ f1 ≡
 /3 width=9 by at_refl, at_push, at_next, ex2_intro/
 qed-.
 
-lemma coafter_fwd_at: â\88\80i,i2,i1,f1,f2. @â¦\83i1, f1â¦\84 â\89¡ i2 â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i →
-                      â\88\80f. f2 ~â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i1, fâ¦\84 â\89¡ i.
+lemma coafter_fwd_at: â\88\80i,i2,i1,f1,f2. @â¦\83i1, f1â¦\84 â\89\98 i2 â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i →
+                      â\88\80f. f2 ~â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i1, fâ¦\84 â\89\98 i.
 #i elim i -i [2: #i #IH ] #i2 #i1 #f1 #f2 #Hf1 #Hf2 #f #Hf
 [ elim (at_inv_xxn … Hf2) -Hf2 [1,3: * |*: // ]
   #g2 [ #j2 ] #Hg2 [ #H22 ] #H20
@@ -427,14 +427,14 @@ lemma coafter_fwd_at: ∀i,i2,i1,f1,f2. @⦃i1, f1⦄ ≡ i2 → @⦃i2, f2⦄ 
 ]
 qed-.
 
-lemma coafter_fwd_at2: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 â\88\80f1,i2. @â¦\83i1, f1â¦\84 â\89¡ i2 →
-                       â\88\80f2. f2 ~â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i.
+lemma coafter_fwd_at2: â\88\80f,i1,i. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 â\88\80f1,i2. @â¦\83i1, f1â¦\84 â\89\98 i2 →
+                       â\88\80f2. f2 ~â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i.
 #f #i1 #i #Hf #f1 #i2 #Hf1 #f2 #H elim (coafter_at_fwd … Hf … H) -f
 #j1 #H #Hf2 <(at_mono … Hf1 … H) -i1 -i2 //
 qed-.
 
-lemma coafter_fwd_at1: â\88\80i,i2,i1,f,f2. @â¦\83i1, fâ¦\84 â\89¡ i â\86\92 @â¦\83i2, f2â¦\84 â\89¡ i →
-                       â\88\80f1. f2 ~â\8a\9a f1 â\89¡ f â\86\92 @â¦\83i1, f1â¦\84 â\89¡ i2.
+lemma coafter_fwd_at1: â\88\80i,i2,i1,f,f2. @â¦\83i1, fâ¦\84 â\89\98 i â\86\92 @â¦\83i2, f2â¦\84 â\89\98 i →
+                       â\88\80f1. f2 ~â\8a\9a f1 â\89\98 f â\86\92 @â¦\83i1, f1â¦\84 â\89\98 i2.
 #i elim i -i [2: #i #IH ] #i2 #i1 #f #f2 #Hf #Hf2 #f1 #Hf1
 [ elim (at_inv_xxn … Hf) -Hf [1,3: * |*: // ]
   #g [ #j1 ] #Hg [ #H01 ] #H00
@@ -453,8 +453,8 @@ qed-.
 
 (* Properties with at *******************************************************)
 
-lemma coafter_uni_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                      â\88\80f. f2 ~â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´i2â\9dµ ~â\8a\9a â«±*[i2] f2 â\89¡ f.
+lemma coafter_uni_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                      â\88\80f. f2 ~â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´i2â\9dµ ~â\8a\9a â«±*[i2] f2 â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -472,8 +472,8 @@ lemma coafter_uni_dx: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed.
 
-lemma coafter_uni_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                      â\88\80f. ð\9d\90\94â\9d´i2â\9dµ ~â\8a\9a â«±*[i2] f2 â\89¡ f â\86\92 f2 ~â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89¡ f.
+lemma coafter_uni_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                      â\88\80f. ð\9d\90\94â\9d´i2â\9dµ ~â\8a\9a â«±*[i2] f2 â\89\98 f â\86\92 f2 ~â\8a\9a ð\9d\90\94â\9d´i1â\9dµ â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -488,8 +488,8 @@ lemma coafter_uni_sn: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed-.
 
-lemma coafter_uni_succ_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                           â\88\80f. f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´â«¯i2â\9dµ ~â\8a\9a â«±*[⫯i2] f2 â\89¡ f.
+lemma coafter_uni_succ_dx: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                           â\88\80f. f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´â«¯i2â\9dµ ~â\8a\9a â«±*[⫯i2] f2 â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -508,8 +508,8 @@ lemma coafter_uni_succ_dx: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed.
 
-lemma coafter_uni_succ_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89¡ i2 →
-                           â\88\80f. ð\9d\90\94â\9d´â«¯i2â\9dµ ~â\8a\9a â«±*[⫯i2] f2 â\89¡ f â\86\92 f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89¡ f.
+lemma coafter_uni_succ_sn: â\88\80i2,i1,f2. @â¦\83i1, f2â¦\84 â\89\98 i2 →
+                           â\88\80f. ð\9d\90\94â\9d´â«¯i2â\9dµ ~â\8a\9a â«±*[⫯i2] f2 â\89\98 f â\86\92 f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯i1â\9dµ â\89\98 f.
 #i2 elim i2 -i2
 [ #i1 #f2 #Hf2 #f #Hf
   elim (at_inv_xxp … Hf2) -Hf2 // #g2 #H1 #H2 destruct
@@ -525,43 +525,43 @@ lemma coafter_uni_succ_sn: ∀i2,i1,f2. @⦃i1, f2⦄ ≡ i2 →
 ]
 qed-.
 
-lemma coafter_uni_one_dx: â\88\80f2,f. â\86\91f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89¡ f â\86\92 ð\9d\90\94â\9d´â«¯Oâ\9dµ ~â\8a\9a f2 â\89¡ f.
+lemma coafter_uni_one_dx: â\88\80f2,f. â\86\91f2 ~â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89\98 f â\86\92 ð\9d\90\94â\9d´â«¯Oâ\9dµ ~â\8a\9a f2 â\89\98 f.
 #f2 #f #H @(coafter_uni_succ_dx … (↑f2)) /2 width=3 by at_refl/
 qed.
 
-lemma coafter_uni_one_sn: â\88\80f1,f. ð\9d\90\94â\9d´â«¯Oâ\9dµ ~â\8a\9a f1 â\89¡ f â\86\92 â\86\91f1 ~â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89¡ f.
+lemma coafter_uni_one_sn: â\88\80f1,f. ð\9d\90\94â\9d´â«¯Oâ\9dµ ~â\8a\9a f1 â\89\98 f â\86\92 â\86\91f1 ~â\8a\9a ð\9d\90\94â\9d´â«¯Oâ\9dµ â\89\98 f.
 /3 width=3 by coafter_uni_succ_sn, at_refl/ qed-.
 *)
 (* Forward lemmas with istot ************************************************)
 (*
-lemma coafter_istot_fwd: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89¡ f → 𝐓⦃f2⦄ → 𝐓⦃f1⦄ → 𝐓⦃f⦄.
+lemma coafter_istot_fwd: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89\98 f → 𝐓⦃f2⦄ → 𝐓⦃f1⦄ → 𝐓⦃f⦄.
 #f2 #f1 #f #Hf #Hf2 #Hf1 #i1 elim (Hf1 i1) -Hf1
 #i2 #Hf1 elim (Hf2 i2) -Hf2
 /3 width=7 by coafter_fwd_at, ex_intro/
 qed-.
 
-lemma coafter_fwd_istot_dx: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f1⦄.
+lemma coafter_fwd_istot_dx: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f1⦄.
 #f2 #f1 #f #H #Hf #i1 elim (Hf i1) -Hf
 #i2 #Hf elim (coafter_at_fwd … Hf … H) -f /2 width=2 by ex_intro/
 qed-.
 
-lemma coafter_fwd_istot_sn: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f2⦄.
+lemma coafter_fwd_istot_sn: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f2⦄.
 #f2 #f1 #f #H #Hf #i1 elim (Hf i1) -Hf
 #i #Hf elim (coafter_at_fwd … Hf … H) -f
 #i2 #Hf1 #Hf2 lapply (at_increasing … Hf1) -f1
 #Hi12 elim (at_le_ex … Hf2 … Hi12) -i2 /2 width=2 by ex_intro/
 qed-.
 
-lemma coafter_inv_istot: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89¡ f → 𝐓⦃f⦄ → 𝐓⦃f2⦄ ∧ 𝐓⦃f1⦄.
+lemma coafter_inv_istot: â\88\80f2,f1,f. f2 ~â\8a\9a f1 â\89\98 f → 𝐓⦃f⦄ → 𝐓⦃f2⦄ ∧ 𝐓⦃f1⦄.
 /3 width=4 by coafter_fwd_istot_sn, coafter_fwd_istot_dx, conj/ qed-.
 
-lemma coafter_at1_fwd: â\88\80f1,i1,i2. @â¦\83i1, f1â¦\84 â\89¡ i2 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f. f2 ~â\8a\9a f1 â\89¡ f →
-                     â\88\83â\88\83i. @â¦\83i2, f2â¦\84 â\89¡ i & @â¦\83i1, fâ¦\84 â\89¡ i.
+lemma coafter_at1_fwd: â\88\80f1,i1,i2. @â¦\83i1, f1â¦\84 â\89\98 i2 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f. f2 ~â\8a\9a f1 â\89\98 f →
+                     â\88\83â\88\83i. @â¦\83i2, f2â¦\84 â\89\98 i & @â¦\83i1, fâ¦\84 â\89\98 i.
 #f1 #i1 #i2 #Hf1 #f2 #Hf2 #f #Hf elim (Hf2 i2) -Hf2
 /3 width=8 by coafter_fwd_at, ex2_intro/
 qed-.
 
-lemma coafter_fwd_isid_sn: â\88\80f2,f1,f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 ~â\8a\9a f1 â\89¡ f → f1 ≗ f → 𝐈⦃f2⦄.
+lemma coafter_fwd_isid_sn: â\88\80f2,f1,f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 ~â\8a\9a f1 â\89\98 f → f1 ≗ f → 𝐈⦃f2⦄.
 #f2 #f1 #f #H #Hf elim (coafter_inv_istot … Hf H) -H
 #Hf2 #Hf1 #H @isid_at_total // -Hf2
 #i2 #i #Hf2 elim (Hf1 i2) -Hf1
@@ -570,14 +570,14 @@ lemma coafter_fwd_isid_sn: ∀f2,f1,f. 𝐓⦃f⦄ → f2 ~⊚ f1 ≡ f → f1 
 /3 width=7 by at_eq_repl_back, at_mono, at_id_le/
 qed-.
 
-lemma coafter_fwd_isid_dx: â\88\80f2,f1,f.  ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 ~â\8a\9a f1 â\89¡ f → f2 ≗ f → 𝐈⦃f1⦄.
+lemma coafter_fwd_isid_dx: â\88\80f2,f1,f.  ð\9d\90\93â¦\83fâ¦\84 â\86\92 f2 ~â\8a\9a f1 â\89\98 f → f2 ≗ f → 𝐈⦃f1⦄.
 #f2 #f1 #f #H #Hf elim (coafter_inv_istot … Hf H) -H
 #Hf2 #Hf1 #H2 @isid_at_total // -Hf1
 #i1 #i2 #Hi12 elim (coafter_at1_fwd … Hi12 … Hf) -f1
 /3 width=8 by at_inj, at_eq_repl_back/
 qed-.
 *)
-corec fact coafter_inj_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_coafter_inj f1.
+corec fact coafter_inj_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_coafter_inj f1.
 #f1 #H1f1 #H2f1 #f #f21 #f22 #H1f #H2f
 cases (at_inv_pxp … H1f1) -H1f1 [ |*: // ] #g1 #H1
 lapply (istot_inv_push … H2f1 … H1) -H2f1 #H2g1
@@ -592,8 +592,8 @@ cases (coafter_inv_pxx … H1f … H1) -H1f * #g21 #g #H1g #H21 #H
 /2 width=1 by coafter_tls, istot_tls, at_pxx_tls/
 qed-.
 
-fact coafter_inj_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_coafter_inj f1) →
-                      â\88\80i2,f1. @â¦\830, f1â¦\84 â\89¡ i2 → H_coafter_inj f1.
+fact coafter_inj_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_coafter_inj f1) →
+                      â\88\80i2,f1. @â¦\830, f1â¦\84 â\89\98 i2 → H_coafter_inj f1.
 #H0 #i2 elim i2 -i2 /2 width=1 by/ -H0
 #i2 #IH #f1 #H1f1 #H2f1 #f #f21 #f22 #H1f #H2f
 elim (at_inv_pxn … H1f1) -H1f1 [ |*: // ] #g1 #H1g1 #H1
@@ -606,7 +606,7 @@ theorem coafter_inj: ∀f1. H_coafter_inj f1.
 #f1 #H cases (H 0) /3 width=7 by coafter_inj_aux, coafter_inj_O_aux/
 qed-.
 
-corec fact coafter_fwd_isid2_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 →
+corec fact coafter_fwd_isid2_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 →
                                     H_coafter_fwd_isid2 f1.
 #f1 #H1f1 #f2 #f #H #H2f1 #Hf
 cases (at_inv_pxp … H1f1) -H1f1 [ |*: // ] #g1 #H1
@@ -620,8 +620,8 @@ cases (coafter_inv_pxx … H … H1) -H * #g2 #g #H #H2 #H0
 ]
 qed-.
 
-fact coafter_fwd_isid2_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_coafter_fwd_isid2 f1) →
-                            â\88\80i2,f1. @â¦\830, f1â¦\84 â\89¡ i2 → H_coafter_fwd_isid2 f1.
+fact coafter_fwd_isid2_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_coafter_fwd_isid2 f1) →
+                            â\88\80i2,f1. @â¦\830, f1â¦\84 â\89\98 i2 → H_coafter_fwd_isid2 f1.
 #H0 #i2 elim i2 -i2 /2 width=1 by/ -H0
 #i2 #IH #f1 #H1f1 #f2 #f #H #H2f1 #Hf
 elim (at_inv_pxn … H1f1) -H1f1 [ |*: // ] #g1 #Hg1 #H1
@@ -634,7 +634,7 @@ lemma coafter_fwd_isid2: ∀f1. H_coafter_fwd_isid2 f1.
 /3 width=7 by coafter_fwd_isid2_aux, coafter_fwd_isid2_O_aux/
 qed-.
 
-fact coafter_isfin2_fwd_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 →
+fact coafter_isfin2_fwd_O_aux: â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 →
                                H_coafter_isfin2_fwd f1.
 #f1 #Hf1 #f2 #H
 generalize in match Hf1; generalize in match f1; -f1
@@ -649,8 +649,8 @@ elim (Hg1 0) #n #Hn
 /5 width=6 by isfin_next, isfin_push, isfin_inv_tls, istot_tls, at_pxx_tls, coafter_tls_O/
 qed-.
 
-fact coafter_isfin2_fwd_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89¡ 0 → H_coafter_isfin2_fwd f1) →
-                             â\88\80i2,f1. @â¦\830, f1â¦\84 â\89¡ i2 → H_coafter_isfin2_fwd f1.
+fact coafter_isfin2_fwd_aux: (â\88\80f1. @â¦\830, f1â¦\84 â\89\98 0 → H_coafter_isfin2_fwd f1) →
+                             â\88\80i2,f1. @â¦\830, f1â¦\84 â\89\98 i2 → H_coafter_isfin2_fwd f1.
 #H0 #i2 elim i2 -i2 /2 width=1 by/ -H0
 #i2 #IH #f1 #H1f1 #f2 #Hf2 #H2f1 #f #Hf
 elim (at_inv_pxn … H1f1) -H1f1 [ |*: // ] #g1 #Hg1 #H1
@@ -664,8 +664,8 @@ lemma coafter_isfin2_fwd: ∀f1. H_coafter_isfin2_fwd f1.
 /3 width=7 by coafter_isfin2_fwd_aux, coafter_isfin2_fwd_O_aux/
 qed-.
 
-lemma coafter_inv_sor: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f1. f2 ~â\8a\9a f1 â\89¡ f â\86\92 â\88\80fa,fb. fa â\8b\93 fb â\89¡ f →
-                       â\88\83â\88\83f1a,f1b. f2 ~â\8a\9a f1a â\89¡ fa & f2 ~â\8a\9a f1b â\89¡ fb & f1a â\8b\93 f1b â\89¡ f1.
+lemma coafter_inv_sor: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f1. f2 ~â\8a\9a f1 â\89\98 f â\86\92 â\88\80fa,fb. fa â\8b\93 fb â\89\98 f →
+                       â\88\83â\88\83f1a,f1b. f2 ~â\8a\9a f1a â\89\98 fa & f2 ~â\8a\9a f1b â\89\98 fb & f1a â\8b\93 f1b â\89\98 f1.
 @isfin_ind
 [ #f #Hf #f2 #Hf2 #f1 #H1f #fa #fb #H2f
   elim (sor_inv_isid3 … H2f) -H2f //
@@ -688,8 +688,8 @@ qed-.
 
 (* Properties with istot ****************************************************)
 
-lemma coafter_sor: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f1. f2 ~â\8a\9a f1 â\89¡ f â\86\92 â\88\80f1a,f1b. f1a â\8b\93 f1b â\89¡ f1 →
-                   â\88\83â\88\83fa,fb. f2 ~â\8a\9a f1a â\89¡ fa & f2 ~â\8a\9a f1b â\89¡ fb & fa â\8b\93 fb â\89¡ f.
+lemma coafter_sor: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f2. ð\9d\90\93â¦\83f2â¦\84 â\86\92 â\88\80f1. f2 ~â\8a\9a f1 â\89\98 f â\86\92 â\88\80f1a,f1b. f1a â\8b\93 f1b â\89\98 f1 →
+                   â\88\83â\88\83fa,fb. f2 ~â\8a\9a f1a â\89\98 fa & f2 ~â\8a\9a f1b â\89\98 fb & fa â\8b\93 fb â\89\98 f.
 @isfin_ind
 [ #f #Hf #f2 #Hf2 #f1 #Hf #f1a #f1b #Hf1
   lapply (coafter_fwd_isid2 … Hf ??) -Hf // #H2f1
@@ -718,9 +718,9 @@ qed-.
 
 (* Properties with after ****************************************************)
 (*
-corec theorem coafter_trans1: â\88\80f0,f3,f4. f0 ~â\8a\9a f3 â\89¡ f4 →
-                            â\88\80f1,f2. f1 ~â\8a\9a f2 â\89¡ f0 →
-                            â\88\80f. f2 ~â\8a\9a f3 â\89¡ f â\86\92 f1 ~â\8a\9a f â\89¡ f4.
+corec theorem coafter_trans1: â\88\80f0,f3,f4. f0 ~â\8a\9a f3 â\89\98 f4 →
+                            â\88\80f1,f2. f1 ~â\8a\9a f2 â\89\98 f0 →
+                            â\88\80f. f2 ~â\8a\9a f3 â\89\98 f â\86\92 f1 ~â\8a\9a f â\89\98 f4.
 #f0 #f3 #f4 * -f0 -f3 -f4 #f0 #f3 #f4 #g0 [1,2: #g3 ] #g4
 [ #Hf4 #H0 #H3 #H4 #g1 #g2 #Hg0 #g #Hg
   cases (coafter_inv_xxp … Hg0 … H0) -g0
@@ -742,9 +742,9 @@ corec theorem coafter_trans1: ∀f0,f3,f4. f0 ~⊚ f3 ≡ f4 →
 ]
 qed-.
 
-corec theorem coafter_trans2: â\88\80f1,f0,f4. f1 ~â\8a\9a f0 â\89¡ f4 →
-                            â\88\80f2, f3. f2 ~â\8a\9a f3 â\89¡ f0 →
-                            â\88\80f. f1 ~â\8a\9a f2 â\89¡ f â\86\92 f ~â\8a\9a f3 â\89¡ f4.
+corec theorem coafter_trans2: â\88\80f1,f0,f4. f1 ~â\8a\9a f0 â\89\98 f4 →
+                            â\88\80f2, f3. f2 ~â\8a\9a f3 â\89\98 f0 →
+                            â\88\80f. f1 ~â\8a\9a f2 â\89\98 f â\86\92 f ~â\8a\9a f3 â\89\98 f4.
 #f1 #f0 #f4 * -f1 -f0 -f4 #f1 #f0 #f4 #g1 [1,2: #g0 ] #g4
 [ #Hf4 #H1 #H0 #H4 #g2 #g3 #Hg0 #g #Hg
   cases (coafter_inv_xxp … Hg0 … H0) -g0
index 26af72dfa27acc2c7dc302c5f4be4cd04fb77f8e..9b5a97b7fd5f2cbb8322d2fa9692e0432f69f3b8 100644 (file)
@@ -28,13 +28,13 @@ interpretation "finite colength assignment (rtmap)"
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma fcla_inv_px: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89¡ m â\86\92 â\88\80f. â\86\91f = g â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ m.
+lemma fcla_inv_px: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89\98 m â\86\92 â\88\80f. â\86\91f = g â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 m.
 #g #m * -g -m /3 width=3 by fcla_isid, isid_inv_push/
 #g #m #_ #f #H elim (discr_push_next … H)
 qed-.
 
-lemma fcla_inv_nx: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89¡ m → ∀f. ⫯f = g →
-                   â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & ⫯n = m.
+lemma fcla_inv_nx: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89\98 m → ∀f. ⫯f = g →
+                   â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & ⫯n = m.
 #g #m * -g -m /2 width=3 by ex2_intro/
 [ #g #Hg #f #H elim (isid_inv_next …  H) -H //
 | #g #m #_ #f #H elim (discr_next_push … H)
@@ -43,29 +43,29 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma cla_inv_nn: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89¡ m â\86\92 â\88\80f,n. â«¯f = g â\86\92 â«¯n = m â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89¡ n.
+lemma cla_inv_nn: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89\98 m â\86\92 â\88\80f,n. â«¯f = g â\86\92 â«¯n = m â\86\92 ð\9d\90\82â¦\83fâ¦\84 â\89\98 n.
 #g #m #H #f #n #H1 #H2 elim (fcla_inv_nx … H … H1) -g
 #x #Hf #H destruct //
 qed-.
 
-lemma cla_inv_np: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89¡ m → ∀f. ⫯f = g → 0 = m → ⊥.
+lemma cla_inv_np: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89\98 m → ∀f. ⫯f = g → 0 = m → ⊥.
 #g #m #H #f #H1 elim (fcla_inv_nx … H … H1) -g
 #x #_ #H1 #H2 destruct
 qed-.
 
-lemma fcla_inv_xp: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89¡ m → 0 = m → 𝐈⦃g⦄.
+lemma fcla_inv_xp: â\88\80g,m. ð\9d\90\82â¦\83gâ¦\84 â\89\98 m → 0 = m → 𝐈⦃g⦄.
 #g #m #H elim H -g -m /3 width=3 by isid_push/
 #g #m #_ #_ #H destruct
 qed-.
 
-lemma fcla_inv_isid: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n → 𝐈⦃f⦄ → 0 = n.
+lemma fcla_inv_isid: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n → 𝐈⦃f⦄ → 0 = n.
 #f #n #H elim H -f -n /3 width=3 by isid_inv_push/
 #f #n #_ #_ #H elim (isid_inv_next … H) -H //  
 qed-.
 
 (* Main forward lemmas ******************************************************)
 
-theorem fcla_mono: â\88\80f,n1. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n1 â\86\92 â\88\80n2. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n2 → n1 = n2.
+theorem fcla_mono: â\88\80f,n1. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n1 â\86\92 â\88\80n2. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n2 → n1 = n2.
 #f #n #H elim H -f -n
 [ /2 width=3 by fcla_inv_isid/
 | /3 width=3 by fcla_inv_px/
@@ -76,12 +76,12 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-lemma fcla_eq_repl_back: â\88\80n. eq_repl_back â\80¦ (λf. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n).
+lemma fcla_eq_repl_back: â\88\80n. eq_repl_back â\80¦ (λf. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n).
 #n #f1 #H elim H -f1 -n /3 width=3 by fcla_isid, isid_eq_repl_back/
 #f1 #n #_ #IH #g2 #H [ elim (eq_inv_px … H) | elim (eq_inv_nx … H) ] -H
 /3 width=3 by fcla_push, fcla_next/
 qed-.
 
-lemma fcla_eq_repl_fwd: â\88\80n. eq_repl_fwd â\80¦ (λf. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n).
+lemma fcla_eq_repl_fwd: â\88\80n. eq_repl_fwd â\80¦ (λf. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n).
 #n @eq_repl_sym /2 width=3 by fcla_eq_repl_back/
 qed-.
index 875378b987c00d56b339ed8ffeb79163b6a15165..29f6eca5a79212539437b59770c5fdd265a59cbc 100644 (file)
@@ -18,7 +18,7 @@ include "ground_2/relocation/rtmap_fcla.ma".
 (* RELOCATION MAP ***********************************************************)
 
 definition isfin: predicate rtmap ≝
-                  Î»f. â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n.
+                  Î»f. â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n.
 
 interpretation "test for finite colength (rtmap)"
    'IsFinite f = (isfin f).
index 561a8ef6b5c3dbdbabe11159f2b5ab0122d94693..9c5c0f71c26bdbe003477cd7f31a76a158fc628d 100644 (file)
@@ -17,7 +17,7 @@ include "ground_2/relocation/rtmap_at.ma".
 
 (* RELOCATION MAP ***********************************************************)
 
-definition istot: predicate rtmap â\89\9d Î»f. â\88\80i. â\88\83j. @â¦\83i, fâ¦\84 â\89¡ j.
+definition istot: predicate rtmap â\89\9d Î»f. â\88\80i. â\88\83j. @â¦\83i, fâ¦\84 â\89\98 j.
 
 interpretation "test for totality (rtmap)"
    'IsTotal f = (istot f).
@@ -50,7 +50,7 @@ qed.
 (* Main forward lemmas on at ************************************************)
 
 corec theorem at_ext: ∀f1,f2. 𝐓⦃f1⦄ → 𝐓⦃f2⦄ →
-                      (â\88\80i,i1,i2. @â¦\83i, f1â¦\84 â\89¡ i1 â\86\92 @â¦\83i, f2â¦\84 â\89¡ i2 → i1 = i2) →
+                      (â\88\80i,i1,i2. @â¦\83i, f1â¦\84 â\89\98 i1 â\86\92 @â¦\83i, f2â¦\84 â\89\98 i2 → i1 = i2) →
                       f1 ≗ f2.
 #f1 cases (pn_split f1) * #g1 #H1
 #f2 cases (pn_split f2) * #g2 #H2
@@ -72,7 +72,7 @@ qed-.
 
 (* Advanced properties on at ************************************************)
 
-lemma at_dec: â\88\80f,i1,i2. ð\9d\90\93â¦\83fâ¦\84 â\86\92 Decidable (@â¦\83i1, fâ¦\84 â\89¡ i2).
+lemma at_dec: â\88\80f,i1,i2. ð\9d\90\93â¦\83fâ¦\84 â\86\92 Decidable (@â¦\83i1, fâ¦\84 â\89\98 i2).
 #f #i1 #i2 #Hf lapply (Hf i1) -Hf *
 #j2 #Hf elim (eq_nat_dec i2 j2)
 [ #H destruct /2 width=1 by or_introl/
@@ -80,8 +80,8 @@ lemma at_dec: ∀f,i1,i2. 𝐓⦃f⦄ → Decidable (@⦃i1, f⦄ ≡ i2).
 ]
 qed-.
 
-lemma is_at_dec_le: â\88\80f,i2,i. ð\9d\90\93â¦\83fâ¦\84 â\86\92 (â\88\80i1. i1 + i â\89¤ i2 â\86\92 @â¦\83i1, fâ¦\84 â\89¡ i2 → ⊥) →
-                    Decidable (â\88\83i1. @â¦\83i1, fâ¦\84 â\89¡ i2).
+lemma is_at_dec_le: â\88\80f,i2,i. ð\9d\90\93â¦\83fâ¦\84 â\86\92 (â\88\80i1. i1 + i â\89¤ i2 â\86\92 @â¦\83i1, fâ¦\84 â\89\98 i2 → ⊥) →
+                    Decidable (â\88\83i1. @â¦\83i1, fâ¦\84 â\89\98 i2).
 #f #i2 #i #Hf elim i -i
 [ #Ht @or_intror * /3 width=3 by at_increasing/
 | #i #IH #Ht elim (at_dec f (i2-i) i2) /3 width=2 by ex_intro, or_introl/
@@ -90,13 +90,13 @@ lemma is_at_dec_le: ∀f,i2,i. 𝐓⦃f⦄ → (∀i1. i1 + i ≤ i2 → @⦃i1,
 ]
 qed-.
 
-lemma is_at_dec: â\88\80f,i2. ð\9d\90\93â¦\83fâ¦\84 â\86\92 Decidable (â\88\83i1. @â¦\83i1, fâ¦\84 â\89¡ i2).
+lemma is_at_dec: â\88\80f,i2. ð\9d\90\93â¦\83fâ¦\84 â\86\92 Decidable (â\88\83i1. @â¦\83i1, fâ¦\84 â\89\98 i2).
 #f #i2 #Hf @(is_at_dec_le ?? (⫯i2)) /2 width=4 by lt_le_false/
 qed-.
 
 (* Advanced properties on isid **********************************************)
 
-lemma isid_at_total: â\88\80f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 (â\88\80i1,i2. @â¦\83i1, fâ¦\84 â\89¡ i2 → i1 = i2) → 𝐈⦃f⦄.
+lemma isid_at_total: â\88\80f. ð\9d\90\93â¦\83fâ¦\84 â\86\92 (â\88\80i1,i2. @â¦\83i1, fâ¦\84 â\89\98 i2 → i1 = i2) → 𝐈⦃f⦄.
 #f #H1f #H2f @isid_at
 #i lapply (H1f i) -H1f *
 #j #Hf >(H2f … Hf) in ⊢ (???%); -H2f //
index fcf82d2cc2afebd2862a51336cebd009d5cc98e6..7e97d953ba26d1a1bb736de70eeaf40d0d00350b 100644 (file)
@@ -27,8 +27,8 @@ interpretation "intersection (rtmap)"
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma sand_inv_ppx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
-                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89¡ f & ↑f = g.
+lemma sand_inv_ppx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
+                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -38,8 +38,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sand_inv_npx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89¡ g → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 →
-                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89¡ f & ↑f = g.
+lemma sand_inv_npx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89\98 g → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 →
+                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -49,8 +49,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sand_inv_pnx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
-                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89¡ f & ↑f = g.
+lemma sand_inv_pnx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
+                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -60,8 +60,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sand_inv_nnx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89¡ g → ∀f1,f2. ⫯f1 = g1 → ⫯f2 = g2 →
-                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89¡ f & ⫯f = g.
+lemma sand_inv_nnx: â\88\80g1,g2,g. g1 â\8b\92 g2 â\89\98 g → ∀f1,f2. ⫯f1 = g1 → ⫯f2 = g2 →
+                    â\88\83â\88\83f. f1 â\8b\92 f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -73,45 +73,45 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-corec lemma sand_eq_repl_back1: â\88\80f2,f. eq_repl_back â\80¦ (λf1. f1 â\8b\92 f2 â\89¡ f).
+corec lemma sand_eq_repl_back1: â\88\80f2,f. eq_repl_back â\80¦ (λf1. f1 â\8b\92 f2 â\89\98 f).
 #f2 #f #f1 * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H1) try cases (eq_inv_nx … Hx … H1) -g1
 /3 width=7 by sand_pp, sand_np, sand_pn, sand_nn/
 qed-.
 
-lemma sand_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd â\80¦ (λf1. f1 â\8b\92 f2 â\89¡ f).
+lemma sand_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd â\80¦ (λf1. f1 â\8b\92 f2 â\89\98 f).
 #f2 #f @eq_repl_sym /2 width=3 by sand_eq_repl_back1/
 qed-.
 
-corec lemma sand_eq_repl_back2: â\88\80f1,f. eq_repl_back â\80¦ (λf2. f1 â\8b\92 f2 â\89¡ f).
+corec lemma sand_eq_repl_back2: â\88\80f1,f. eq_repl_back â\80¦ (λf2. f1 â\8b\92 f2 â\89\98 f).
 #f1 #f #f2 * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H2) try cases (eq_inv_nx … Hx … H2) -g2
 /3 width=7 by sand_pp, sand_np, sand_pn, sand_nn/
 qed-.
 
-lemma sand_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd â\80¦ (λf2. f1 â\8b\92 f2 â\89¡ f).
+lemma sand_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd â\80¦ (λf2. f1 â\8b\92 f2 â\89\98 f).
 #f1 #f @eq_repl_sym /2 width=3 by sand_eq_repl_back2/
 qed-.
 
-corec lemma sand_eq_repl_back3: â\88\80f1,f2. eq_repl_back â\80¦ (λf. f1 â\8b\92 f2 â\89¡ f).
+corec lemma sand_eq_repl_back3: â\88\80f1,f2. eq_repl_back â\80¦ (λf. f1 â\8b\92 f2 â\89\98 f).
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H0) try cases (eq_inv_nx … Hx … H0) -g
 /3 width=7 by sand_pp, sand_np, sand_pn, sand_nn/
 qed-.
 
-lemma sand_eq_repl_fwd3: â\88\80f1,f2. eq_repl_fwd â\80¦ (λf. f1 â\8b\92 f2 â\89¡ f).
+lemma sand_eq_repl_fwd3: â\88\80f1,f2. eq_repl_fwd â\80¦ (λf. f1 â\8b\92 f2 â\89\98 f).
 #f1 #f2 @eq_repl_sym /2 width=3 by sand_eq_repl_back3/
 qed-.
 
-corec lemma sand_refl: â\88\80f. f â\8b\92 f â\89¡ f.
+corec lemma sand_refl: â\88\80f. f â\8b\92 f â\89\98 f.
 #f cases (pn_split f) * #g #H
 [ @(sand_pp … H H H) | @(sand_nn … H H H) ] -H //
 qed.
 
-corec lemma sand_sym: â\88\80f1,f2,f. f1 â\8b\92 f2 â\89¡ f â\86\92 f2 â\8b\92 f1 â\89¡ f.
+corec lemma sand_sym: â\88\80f1,f2,f. f1 â\8b\92 f2 â\89\98 f â\86\92 f2 â\8b\92 f1 â\89\98 f.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf * * * -g1 -g2 -g
 [ @sand_pp | @sand_pn | @sand_np | @sand_nn ] /2 width=7 by/
index 864f3dcb91aa67f6fa17819f48070aaf2c415398..a461157d60256cccfc21128db5fa054b9575fe47 100644 (file)
@@ -28,8 +28,8 @@ interpretation "union (rtmap)"
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma sor_inv_ppx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
-                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89¡ f & ↑f = g.
+lemma sor_inv_ppx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 →
+                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89\98 f & ↑f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -39,8 +39,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sor_inv_npx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 →
-                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89¡ f & ⫯f = g.
+lemma sor_inv_npx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 →
+                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -50,8 +50,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sor_inv_pnx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
-                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89¡ f & ⫯f = g.
+lemma sor_inv_pnx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 →
+                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -61,8 +61,8 @@ try elim (discr_push_next … Hx2) try elim (discr_next_push … Hx2)
 /2 width=3 by ex2_intro/
 qed-.
 
-lemma sor_inv_nnx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f1,f2. ⫯f1 = g1 → ⫯f2 = g2 →
-                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89¡ f & ⫯f = g.
+lemma sor_inv_nnx: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f1,f2. ⫯f1 = g1 → ⫯f2 = g2 →
+                   â\88\83â\88\83f. f1 â\8b\93 f2 â\89\98 f & ⫯f = g.
 #g1 #g2 #g * -g1 -g2 -g
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x1 #x2 #Hx1 #Hx2 destruct
 try (>(injective_push … Hx1) -x1) try (>(injective_next … Hx1) -x1)
@@ -74,14 +74,14 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma sor_inv_ppn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_ppn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f1,f2,f. ↑f1 = g1 → ↑f2 = g2 → ⫯f = g → ⊥.
 #g1 #g2 #g #H #f1 #f2 #f #H1 #H2 #H0
 elim (sor_inv_ppx … H … H1 H2) -g1 -g2 #x #_ #H destruct
 /2 width=3 by discr_push_next/
 qed-.
 
-lemma sor_inv_nxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_nxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f1,f. ⫯f1 = g1 → ↑f = g → ⊥.
 #g1 #g2 #g #H #f1 #f #H1 #H0
 elim (pn_split g2) * #f2 #H2
@@ -91,7 +91,7 @@ elim (pn_split g2) * #f2 #H2
 /2 width=3 by discr_next_push/
 qed-.
 
-lemma sor_inv_xnp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_xnp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f2,f. ⫯f2 = g2 → ↑f = g → ⊥.
 #g1 #g2 #g #H #f2 #f #H2 #H0
 elim (pn_split g1) * #f1 #H1
@@ -101,37 +101,37 @@ elim (pn_split g1) * #f1 #H1
 /2 width=3 by discr_next_push/
 qed-.
 
-lemma sor_inv_ppp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                   â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 â\8b\93 f2 â\89¡ f.
+lemma sor_inv_ppp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                   â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â\86\91f = g â\86\92 f1 â\8b\93 f2 â\89\98 f.
 #g1 #g2 #g #H #f1 #f2 #f #H1 #H2 #H0
 elim (sor_inv_ppx … H … H1 H2) -g1 -g2 #x #Hx #H destruct
 <(injective_push … H) -f //
 qed-.
 
-lemma sor_inv_npn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                   â\88\80f1,f2,f. â«¯f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89¡ f.
+lemma sor_inv_npn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                   â\88\80f1,f2,f. â«¯f1 = g1 â\86\92 â\86\91f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89\98 f.
 #g1 #g2 #g #H #f1 #f2 #f #H1 #H2 #H0
 elim (sor_inv_npx … H … H1 H2) -g1 -g2 #x #Hx #H destruct
 <(injective_next … H) -f //
 qed-.
 
-lemma sor_inv_pnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                   â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89¡ f.
+lemma sor_inv_pnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                   â\88\80f1,f2,f. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89\98 f.
 #g1 #g2 #g #H #f1 #f2 #f #H1 #H2 #H0
 elim (sor_inv_pnx … H … H1 H2) -g1 -g2 #x #Hx #H destruct
 <(injective_next … H) -f //
 qed-.
 
-lemma sor_inv_nnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                   â\88\80f1,f2,f. â«¯f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89¡ f.
+lemma sor_inv_nnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                   â\88\80f1,f2,f. â«¯f1 = g1 â\86\92 â«¯f2 = g2 â\86\92 â«¯f = g â\86\92 f1 â\8b\93 f2 â\89\98 f.
 #g1 #g2 #g #H #f1 #f2 #f #H1 #H2 #H0
 elim (sor_inv_nnx … H … H1 H2) -g1 -g2 #x #Hx #H destruct
 <(injective_next … H) -f //
 qed-.
 
-lemma sor_inv_pxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_pxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f1,f. ↑f1 = g1 → ↑f = g →
-                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89¡ f & ↑f2 = g2.
+                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89\98 f & ↑f2 = g2.
 #g1 #g2 #g #H #f1 #f #H1 #H0
 elim (pn_split g2) * #f2 #H2
 [ /3 width=7 by sor_inv_ppp, ex2_intro/
@@ -139,9 +139,9 @@ elim (pn_split g2) * #f2 #H2
 ]
 qed-.
 
-lemma sor_inv_xpp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_xpp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f2,f. ↑f2 = g2 → ↑f = g →
-                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89¡ f & ↑f1 = g1.
+                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89\98 f & ↑f1 = g1.
 #g1 #g2 #g #H #f2 #f #H2 #H0
 elim (pn_split g1) * #f1 #H1
 [ /3 width=7 by sor_inv_ppp, ex2_intro/
@@ -149,9 +149,9 @@ elim (pn_split g1) * #f1 #H1
 ]
 qed-.
 
-lemma sor_inv_pxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_pxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f1,f. ↑f1 = g1 → ⫯f = g →
-                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89¡ f & ⫯f2 = g2.
+                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89\98 f & ⫯f2 = g2.
 #g1 #g2 #g #H #f1 #f #H1 #H0
 elim (pn_split g2) * #f2 #H2
 [ elim (sor_inv_ppn … H … H1 H2 H0)
@@ -159,9 +159,9 @@ elim (pn_split g2) * #f2 #H2
 ]
 qed-.
 
-lemma sor_inv_xpn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_xpn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f2,f. ↑f2 = g2 → ⫯f = g →
-                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89¡ f & ⫯f1 = g1.
+                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89\98 f & ⫯f1 = g1.
 #g1 #g2 #g #H #f2 #f #H2 #H0
 elim (pn_split g1) * #f1 #H1
 [ elim (sor_inv_ppn … H … H1 H2 H0)
@@ -169,8 +169,8 @@ elim (pn_split g1) * #f1 #H1
 ]
 qed-.
 
-lemma sor_inv_xxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f. ↑f = g →
-                   â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ↑f1 = g1 & ↑f2 = g2.
+lemma sor_inv_xxp: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f. ↑f = g →
+                   â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ↑f1 = g1 & ↑f2 = g2.
 #g1 #g2 #g #H #f #H0
 elim (pn_split g1) * #f1 #H1
 [ elim (sor_inv_pxp … H … H1 H0) -g /2 width=5 by ex3_2_intro/
@@ -178,26 +178,26 @@ elim (pn_split g1) * #f1 #H1
 ]
 qed-.
 
-lemma sor_inv_nxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_nxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f1,f. ⫯f1 = g1 → ⫯f = g →
-                   (â\88\83â\88\83f2. f1 â\8b\93 f2 â\89¡ f & ↑f2 = g2) ∨
-                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89¡ f & ⫯f2 = g2.
+                   (â\88\83â\88\83f2. f1 â\8b\93 f2 â\89\98 f & ↑f2 = g2) ∨
+                   â\88\83â\88\83f2. f1 â\8b\93 f2 â\89\98 f & ⫯f2 = g2.
 #g1 #g2 elim (pn_split g2) *
 /4 width=7 by sor_inv_npn, sor_inv_nnn, ex2_intro, or_intror, or_introl/
 qed-.
 
-lemma sor_inv_xnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
+lemma sor_inv_xnn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
                    ∀f2,f. ⫯f2 = g2 → ⫯f = g →
-                   (â\88\83â\88\83f1. f1 â\8b\93 f2 â\89¡ f & ↑f1 = g1) ∨
-                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89¡ f & ⫯f1 = g1.
+                   (â\88\83â\88\83f1. f1 â\8b\93 f2 â\89\98 f & ↑f1 = g1) ∨
+                   â\88\83â\88\83f1. f1 â\8b\93 f2 â\89\98 f & ⫯f1 = g1.
 #g1 elim (pn_split g1) *
 /4 width=7 by sor_inv_pnn, sor_inv_nnn, ex2_intro, or_intror, or_introl/
 qed-.
 
-lemma sor_inv_xxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f. ⫯f = g →
-                   â\88¨â\88¨ â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ⫯f1 = g1 & ↑f2 = g2
-                    | â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ↑f1 = g1 & ⫯f2 = g2
-                    | â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ⫯f1 = g1 & ⫯f2 = g2.
+lemma sor_inv_xxn: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f. ⫯f = g →
+                   â\88¨â\88¨ â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ⫯f1 = g1 & ↑f2 = g2
+                    | â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ↑f1 = g1 & ⫯f2 = g2
+                    | â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ⫯f1 = g1 & ⫯f2 = g2.
 #g1 #g2 #g #H #f #H0
 elim (pn_split g1) * #f1 #H1
 [ elim (sor_inv_pxn … H … H1 H0) -g
@@ -209,7 +209,7 @@ qed-.
 
 (* Main inversion lemmas ****************************************************)
 
-corec theorem sor_mono: â\88\80f1,f2,x,y. f1 â\8b\93 f2 â\89¡ x â\86\92 f1 â\8b\93 f2 â\89¡ y → x ≗ y.
+corec theorem sor_mono: â\88\80f1,f2,x,y. f1 â\8b\93 f2 â\89\98 x â\86\92 f1 â\8b\93 f2 â\89\98 y → x ≗ y.
 #f1 #f2 #x #y * -f1 -f2 -x
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #H
 [ cases (sor_inv_ppx … H … H1 H2)
@@ -222,45 +222,45 @@ qed-.
 
 (* Basic properties *********************************************************)
 
-corec lemma sor_eq_repl_back1: â\88\80f2,f. eq_repl_back â\80¦ (λf1. f1 â\8b\93 f2 â\89¡ f).
+corec lemma sor_eq_repl_back1: â\88\80f2,f. eq_repl_back â\80¦ (λf1. f1 â\8b\93 f2 â\89\98 f).
 #f2 #f #f1 * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H1) try cases (eq_inv_nx … Hx … H1) -g1
 /3 width=7 by sor_pp, sor_np, sor_pn, sor_nn/
 qed-.
 
-lemma sor_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd â\80¦ (λf1. f1 â\8b\93 f2 â\89¡ f).
+lemma sor_eq_repl_fwd1: â\88\80f2,f. eq_repl_fwd â\80¦ (λf1. f1 â\8b\93 f2 â\89\98 f).
 #f2 #f @eq_repl_sym /2 width=3 by sor_eq_repl_back1/
 qed-.
 
-corec lemma sor_eq_repl_back2: â\88\80f1,f. eq_repl_back â\80¦ (λf2. f1 â\8b\93 f2 â\89¡ f).
+corec lemma sor_eq_repl_back2: â\88\80f1,f. eq_repl_back â\80¦ (λf2. f1 â\8b\93 f2 â\89\98 f).
 #f1 #f #f2 * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H2) try cases (eq_inv_nx … Hx … H2) -g2
 /3 width=7 by sor_pp, sor_np, sor_pn, sor_nn/
 qed-.
 
-lemma sor_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd â\80¦ (λf2. f1 â\8b\93 f2 â\89¡ f).
+lemma sor_eq_repl_fwd2: â\88\80f1,f. eq_repl_fwd â\80¦ (λf2. f1 â\8b\93 f2 â\89\98 f).
 #f1 #f @eq_repl_sym /2 width=3 by sor_eq_repl_back2/
 qed-.
 
-corec lemma sor_eq_repl_back3: â\88\80f1,f2. eq_repl_back â\80¦ (λf. f1 â\8b\93 f2 â\89¡ f).
+corec lemma sor_eq_repl_back3: â\88\80f1,f2. eq_repl_back â\80¦ (λf. f1 â\8b\93 f2 â\89\98 f).
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H #H2 #H0 #x #Hx
 try cases (eq_inv_px … Hx … H0) try cases (eq_inv_nx … Hx … H0) -g
 /3 width=7 by sor_pp, sor_np, sor_pn, sor_nn/
 qed-.
 
-lemma sor_eq_repl_fwd3: â\88\80f1,f2. eq_repl_fwd â\80¦ (λf. f1 â\8b\93 f2 â\89¡ f).
+lemma sor_eq_repl_fwd3: â\88\80f1,f2. eq_repl_fwd â\80¦ (λf. f1 â\8b\93 f2 â\89\98 f).
 #f1 #f2 @eq_repl_sym /2 width=3 by sor_eq_repl_back3/
 qed-.
 
-corec lemma sor_idem: â\88\80f. f â\8b\93 f â\89¡ f.
+corec lemma sor_idem: â\88\80f. f â\8b\93 f â\89\98 f.
 #f cases (pn_split f) * #g #H
 [ @(sor_pp … H H H) | @(sor_nn … H H H) ] -H //
 qed.
 
-corec lemma sor_comm: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f â\86\92 f2 â\8b\93 f1 â\89¡ f.
+corec lemma sor_comm: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f â\86\92 f2 â\8b\93 f1 â\89\98 f.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf * * * -g1 -g2 -g
 [ @sor_pp | @sor_pn | @sor_np | @sor_nn ] /2 width=7 by/
@@ -268,7 +268,7 @@ qed-.
 
 (* Properties with tail *****************************************************)
 
-lemma sor_tl: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f â\86\92 â«±f1 â\8b\93 â«±f2 â\89¡ ⫱f.
+lemma sor_tl: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f â\86\92 â«±f1 â\8b\93 â«±f2 â\89\98 ⫱f.
 #f1 cases (pn_split f1) * #g1 #H1
 #f2 cases (pn_split f2) * #g2 #H2
 #f #Hf
@@ -279,22 +279,22 @@ lemma sor_tl: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ⫱f1 ⋓ ⫱f2 ≡ ⫱f.
 ] -Hf #g #Hg #H destruct //
 qed.
 
-lemma sor_xxn_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f. ⫯f = g →
-                  (â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ⫯f1 = g1 & ⫱g2 = f2) ∨
-                  (â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89¡ f & ⫱g1 = f1 & ⫯f2 = g2).
+lemma sor_xxn_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f. ⫯f = g →
+                  (â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ⫯f1 = g1 & ⫱g2 = f2) ∨
+                  (â\88\83â\88\83f1,f2. f1 â\8b\93 f2 â\89\98 f & ⫱g1 = f1 & ⫯f2 = g2).
 #g1 #g2 #g #H #f #H0 elim (sor_inv_xxn … H … H0) -H -H0 *
 /3 width=5 by ex3_2_intro, or_introl, or_intror/
 qed-.
 
-lemma sor_xnx_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f2. ⫯f2 = g2 →
-                  â\88\83â\88\83f1,f. f1 â\8b\93 f2 â\89¡ f & ⫱g1 = f1 & ⫯f = g.
+lemma sor_xnx_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f2. ⫯f2 = g2 →
+                  â\88\83â\88\83f1,f. f1 â\8b\93 f2 â\89\98 f & ⫱g1 = f1 & ⫯f = g.
 #g1 elim (pn_split g1) * #f1 #H1 #g2 #g #H #f2 #H2
 [ elim (sor_inv_pnx … H … H1 H2) | elim (sor_inv_nnx … H … H1 H2) ] -g2
 /3 width=5 by ex3_2_intro/
 qed-.
 
-lemma sor_nxx_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g → ∀f1. ⫯f1 = g1 →
-                  â\88\83â\88\83f2,f. f1 â\8b\93 f2 â\89¡ f & ⫱g2 = f2 & ⫯f = g.
+lemma sor_nxx_tl: â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g → ∀f1. ⫯f1 = g1 →
+                  â\88\83â\88\83f2,f. f1 â\8b\93 f2 â\89\98 f & ⫱g2 = f2 & ⫯f = g.
 #g1 #g2 elim (pn_split g2) * #f2 #H2 #g #H #f1 #H1
 [ elim (sor_inv_npx … H … H1 H2) | elim (sor_inv_nnx … H … H1 H2) ] -g1
 /3 width=5 by ex3_2_intro/
@@ -302,71 +302,71 @@ qed-.
 
 (* Properties with iterated tail ********************************************)
 
-lemma sor_tls: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f →
-               â\88\80n. â«±*[n]f1 â\8b\93 â«±*[n]f2 â\89¡ ⫱*[n]f.
+lemma sor_tls: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f →
+               â\88\80n. â«±*[n]f1 â\8b\93 â«±*[n]f2 â\89\98 ⫱*[n]f.
 #f1 #f2 #f #Hf #n elim n -n /2 width=1 by sor_tl/
 qed.
 
 (* Properies with test for identity *****************************************)
 
-corec lemma sor_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 â\8b\93 f2 â\89¡ f2.
+corec lemma sor_isid_sn: â\88\80f1. ð\9d\90\88â¦\83f1â¦\84 â\86\92 â\88\80f2. f1 â\8b\93 f2 â\89\98 f2.
 #f1 * -f1
 #f1 #g1 #Hf1 #H1 #f2 cases (pn_split f2) *
 /3 width=7 by sor_pp, sor_pn/
 qed.
 
-corec lemma sor_isid_dx: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. f1 â\8b\93 f2 â\89¡ f1.
+corec lemma sor_isid_dx: â\88\80f2. ð\9d\90\88â¦\83f2â¦\84 â\86\92 â\88\80f1. f1 â\8b\93 f2 â\89\98 f1.
 #f2 * -f2
 #f2 #g2 #Hf2 #H2 #f1 cases (pn_split f1) *
 /3 width=7 by sor_pp, sor_np/
 qed.
 
-lemma sor_isid: â\88\80f1,f2,f. ð\9d\90\88â¦\83f1â¦\84 â\86\92 ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\88â¦\83fâ¦\84 â\86\92 f1 â\8b\93 f2 â\89¡ f.
+lemma sor_isid: â\88\80f1,f2,f. ð\9d\90\88â¦\83f1â¦\84 â\86\92 ð\9d\90\88â¦\83f2â¦\84 â\86\92 ð\9d\90\88â¦\83fâ¦\84 â\86\92 f1 â\8b\93 f2 â\89\98 f.
 /4 width=3 by sor_eq_repl_back2, sor_eq_repl_back1, isid_inv_eq_repl/ qed.
 
 (* Inversion lemmas with tail ***********************************************)
 
-lemma sor_inv_tl_sn: â\88\80f1,f2,f. â«±f1 â\8b\93 f2 â\89¡ f â\86\92 f1 â\8b\93 â«¯f2 â\89¡ ⫯f.
+lemma sor_inv_tl_sn: â\88\80f1,f2,f. â«±f1 â\8b\93 f2 â\89\98 f â\86\92 f1 â\8b\93 â«¯f2 â\89\98 ⫯f.
 #f1 #f2 #f elim (pn_split f1) *
 #g1 #H destruct /2 width=7 by sor_pn, sor_nn/
 qed-.
 
-lemma sor_inv_tl_dx: â\88\80f1,f2,f. f1 â\8b\93 â«±f2 â\89¡ f â\86\92 â«¯f1 â\8b\93 f2 â\89¡ ⫯f.
+lemma sor_inv_tl_dx: â\88\80f1,f2,f. f1 â\8b\93 â«±f2 â\89\98 f â\86\92 â«¯f1 â\8b\93 f2 â\89\98 ⫯f.
 #f1 #f2 #f elim (pn_split f2) *
 #g2 #H destruct /2 width=7 by sor_np, sor_nn/
 qed-.
 
 (* Inversion lemmas with test for identity **********************************)
 
-lemma sor_isid_inv_sn: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐈⦃f1⦄ → f2 ≗ f.
+lemma sor_isid_inv_sn: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐈⦃f1⦄ → f2 ≗ f.
 /3 width=4 by sor_isid_sn, sor_mono/
 qed-.
 
-lemma sor_isid_inv_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐈⦃f2⦄ → f1 ≗ f.
+lemma sor_isid_inv_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐈⦃f2⦄ → f1 ≗ f.
 /3 width=4 by sor_isid_dx, sor_mono/
 qed-.
 
-corec lemma sor_fwd_isid1: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f1⦄.
+corec lemma sor_fwd_isid1: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f1⦄.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H #Hg
 [ /4 width=6 by isid_inv_push, isid_push/ ]
 cases (isid_inv_next … Hg … H)
 qed-.
 
-corec lemma sor_fwd_isid2: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
+corec lemma sor_fwd_isid2: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f2⦄.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H #Hg
 [ /4 width=6 by isid_inv_push, isid_push/ ]
 cases (isid_inv_next … Hg … H)
 qed-.
 
-lemma sor_inv_isid3: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐈⦃f⦄ → 𝐈⦃f1⦄ ∧ 𝐈⦃f2⦄.
+lemma sor_inv_isid3: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐈⦃f⦄ → 𝐈⦃f1⦄ ∧ 𝐈⦃f2⦄.
 /3 width=4 by sor_fwd_isid2, sor_fwd_isid1, conj/ qed-.
 
 (* Properties with finite colength assignment *******************************)
 
-lemma sor_fcla_ex: â\88\80f1,n1. ð\9d\90\82â¦\83f1â¦\84 â\89¡ n1 â\86\92 â\88\80f2,n2. ð\9d\90\82â¦\83f2â¦\84 â\89¡ n2 →
-                   â\88\83â\88\83f,n. f1 â\8b\93 f2 â\89¡ f & ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & (n1 ∨ n2) ≤ n & n ≤ n1 + n2.
+lemma sor_fcla_ex: â\88\80f1,n1. ð\9d\90\82â¦\83f1â¦\84 â\89\98 n1 â\86\92 â\88\80f2,n2. ð\9d\90\82â¦\83f2â¦\84 â\89\98 n2 →
+                   â\88\83â\88\83f,n. f1 â\8b\93 f2 â\89\98 f & ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & (n1 ∨ n2) ≤ n & n ≤ n1 + n2.
 #f1 #n1 #Hf1 elim Hf1 -f1 -n1 /3 width=6 by sor_isid_sn, ex4_2_intro/
 #f1 #n1 #Hf1 #IH #f2 #n2 * -f2 -n2 /3 width=6 by fcla_push, fcla_next, ex4_2_intro, sor_isid_dx/
 #f2 #n2 #Hf2 elim (IH … Hf2) -IH -Hf2 -Hf1 [2,4: #f #n <plus_n_Sm ] (**) (* full auto fails *)
@@ -377,16 +377,16 @@ lemma sor_fcla_ex: ∀f1,n1. 𝐂⦃f1⦄ ≡ n1 → ∀f2,n2. 𝐂⦃f2⦄ ≡
 ]
 qed-.
 
-lemma sor_fcla: â\88\80f1,n1. ð\9d\90\82â¦\83f1â¦\84 â\89¡ n1 â\86\92 â\88\80f2,n2. ð\9d\90\82â¦\83f2â¦\84 â\89¡ n2 â\86\92 â\88\80f. f1 â\8b\93 f2 â\89¡ f →
-                â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n & (n1 ∨ n2) ≤ n & n ≤ n1 + n2.
+lemma sor_fcla: â\88\80f1,n1. ð\9d\90\82â¦\83f1â¦\84 â\89\98 n1 â\86\92 â\88\80f2,n2. ð\9d\90\82â¦\83f2â¦\84 â\89\98 n2 â\86\92 â\88\80f. f1 â\8b\93 f2 â\89\98 f →
+                â\88\83â\88\83n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n & (n1 ∨ n2) ≤ n & n ≤ n1 + n2.
 #f1 #n1 #Hf1 #f2 #n2 #Hf2 #f #Hf elim (sor_fcla_ex … Hf1 … Hf2) -Hf1 -Hf2
 /4 width=6 by sor_mono, fcla_eq_repl_back, ex3_intro/
 qed-.
 
 (* Forward lemmas with finite colength **************************************)
 
-lemma sor_fwd_fcla_sn_ex: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f →
-                          â\88\83â\88\83n1.  ð\9d\90\82â¦\83f1â¦\84 â\89¡ n1 & n1 ≤ n.
+lemma sor_fwd_fcla_sn_ex: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f →
+                          â\88\83â\88\83n1.  ð\9d\90\82â¦\83f1â¦\84 â\89\98 n1 & n1 ≤ n.
 #f #n #H elim H -f -n
 [ /4 width=4 by sor_fwd_isid1, fcla_isid, ex2_intro/
 | #f #n #_ #IH #f1 #f2 #H
@@ -398,90 +398,90 @@ lemma sor_fwd_fcla_sn_ex: ∀f,n. 𝐂⦃f⦄ ≡ n → ∀f1,f2. f1 ⋓ f2 ≡
 ]
 qed-.
 
-lemma sor_fwd_fcla_dx_ex: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89¡ n â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f →
-                          â\88\83â\88\83n2.  ð\9d\90\82â¦\83f2â¦\84 â\89¡ n2 & n2 ≤ n.
+lemma sor_fwd_fcla_dx_ex: â\88\80f,n. ð\9d\90\82â¦\83fâ¦\84 â\89\98 n â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f →
+                          â\88\83â\88\83n2.  ð\9d\90\82â¦\83f2â¦\84 â\89\98 n2 & n2 ≤ n.
 /3 width=4 by sor_fwd_fcla_sn_ex, sor_comm/ qed-.
 
 (* Properties with test for finite colength *********************************)
 
-lemma sor_isfin_ex: â\88\80f1,f2. ð\9d\90\85â¦\83f1â¦\84 â\86\92 ð\9d\90\85â¦\83f2â¦\84 â\86\92 â\88\83â\88\83f. f1 â\8b\93 f2 â\89¡ f & 𝐅⦃f⦄.
+lemma sor_isfin_ex: â\88\80f1,f2. ð\9d\90\85â¦\83f1â¦\84 â\86\92 ð\9d\90\85â¦\83f2â¦\84 â\86\92 â\88\83â\88\83f. f1 â\8b\93 f2 â\89\98 f & 𝐅⦃f⦄.
 #f1 #f2 * #n1 #H1 * #n2 #H2 elim (sor_fcla_ex … H1 … H2) -H1 -H2
 /3 width=4 by ex2_intro, ex_intro/
 qed-.
 
-lemma sor_isfin: â\88\80f1,f2. ð\9d\90\85â¦\83f1â¦\84 â\86\92 ð\9d\90\85â¦\83f2â¦\84 â\86\92 â\88\80f. f1 â\8b\93 f2 â\89¡ f → 𝐅⦃f⦄.
+lemma sor_isfin: â\88\80f1,f2. ð\9d\90\85â¦\83f1â¦\84 â\86\92 ð\9d\90\85â¦\83f2â¦\84 â\86\92 â\88\80f. f1 â\8b\93 f2 â\89\98 f → 𝐅⦃f⦄.
 #f1 #f2 #Hf1 #Hf2 #f #Hf elim (sor_isfin_ex … Hf1 … Hf2) -Hf1 -Hf2
 /3 width=6 by sor_mono, isfin_eq_repl_back/
 qed-.
 
 (* Forward lemmas with test for finite colength *****************************)
 
-lemma sor_fwd_isfin_sn: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f → 𝐅⦃f1⦄.
+lemma sor_fwd_isfin_sn: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f → 𝐅⦃f1⦄.
 #f * #n #Hf #f1 #f2 #H
 elim (sor_fwd_fcla_sn_ex … Hf … H) -f -f2 /2 width=2 by ex_intro/
 qed-.
 
-lemma sor_fwd_isfin_dx: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f → 𝐅⦃f2⦄.
+lemma sor_fwd_isfin_dx: â\88\80f. ð\9d\90\85â¦\83fâ¦\84 â\86\92 â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f → 𝐅⦃f2⦄.
 #f * #n #Hf #f1 #f2 #H
 elim (sor_fwd_fcla_dx_ex … Hf … H) -f -f1 /2 width=2 by ex_intro/
 qed-.
 
 (* Inversion lemmas with test for finite colength ***************************)
 
-lemma sor_inv_isfin3: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → 𝐅⦃f⦄ → 𝐅⦃f1⦄ ∧ 𝐅⦃f2⦄.
+lemma sor_inv_isfin3: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → 𝐅⦃f⦄ → 𝐅⦃f1⦄ ∧ 𝐅⦃f2⦄.
 /3 width=4 by sor_fwd_isfin_dx, sor_fwd_isfin_sn, conj/ qed-.
 
 (* Inversion lemmas with inclusion ******************************************)
 
-corec lemma sor_inv_sle_sn: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → f1 ⊆ f.
+corec lemma sor_inv_sle_sn: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → f1 ⊆ f.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0
 /3 width=5 by sle_push, sle_next, sle_weak/
 qed-.
 
-corec lemma sor_inv_sle_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → f2 ⊆ f.
+corec lemma sor_inv_sle_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → f2 ⊆ f.
 #f1 #f2 #f * -f1 -f2 -f
 #f1 #f2 #f #g1 #g2 #g #Hf #H1 #H2 #H0
 /3 width=5 by sle_push, sle_next, sle_weak/
 qed-.
 
-lemma sor_inv_sle_sn_trans: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → ∀g. g ⊆ f1 → g ⊆ f.
+lemma sor_inv_sle_sn_trans: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → ∀g. g ⊆ f1 → g ⊆ f.
 /3 width=4 by sor_inv_sle_sn, sle_trans/ qed-.
 
-lemma sor_inv_sle_dx_trans: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → ∀g. g ⊆ f2 → g ⊆ f.
+lemma sor_inv_sle_dx_trans: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → ∀g. g ⊆ f2 → g ⊆ f.
 /3 width=4 by sor_inv_sle_dx, sle_trans/ qed-.
 
-axiom sor_inv_sle: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f → ∀g. f1 ⊆ g → f2 ⊆ g → f ⊆ g.
+axiom sor_inv_sle: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f → ∀g. f1 ⊆ g → f2 ⊆ g → f ⊆ g.
 
 (* Properties with inclusion ************************************************)
 
-corec lemma sor_sle_dx: â\88\80f1,f2. f1 â\8a\86 f2 â\86\92 f1 â\8b\93 f2 â\89¡ f2.
+corec lemma sor_sle_dx: â\88\80f1,f2. f1 â\8a\86 f2 â\86\92 f1 â\8b\93 f2 â\89\98 f2.
 #f1 #f2 * -f1 -f2 /3 width=7 by sor_pp, sor_nn, sor_pn/
 qed.
 
-corec lemma sor_sle_sn: â\88\80f1,f2. f1 â\8a\86 f2 â\86\92 f2 â\8b\93 f1 â\89¡ f2.
+corec lemma sor_sle_sn: â\88\80f1,f2. f1 â\8a\86 f2 â\86\92 f2 â\8b\93 f1 â\89\98 f2.
 #f1 #f2 * -f1 -f2 /3 width=7 by sor_pp, sor_nn, sor_np/
 qed.
 
 (* Main properties **********************************************************)
 
 axiom monotonic_sle_sor: ∀f1,g1. f1 ⊆ g1 → ∀f2,g2. f2 ⊆ g2 →
-                         â\88\80f. f1 â\8b\93 f2 â\89¡ f â\86\92 â\88\80g. g1 â\8b\93 g2 â\89¡ g → f ⊆ g.
+                         â\88\80f. f1 â\8b\93 f2 â\89\98 f â\86\92 â\88\80g. g1 â\8b\93 g2 â\89\98 g → f ⊆ g.
 
-axiom sor_assoc_dx: â\88\80f0,f3,f4. f0 â\8b\93 f3 â\89¡ f4 →
-                    â\88\80f1,f2. f1 â\8b\93 f2 â\89¡ f0 →
-                    â\88\80f. f2 â\8b\93 f3 â\89¡ f â\86\92 f1 â\8b\93 f â\89¡ f4.
+axiom sor_assoc_dx: â\88\80f0,f3,f4. f0 â\8b\93 f3 â\89\98 f4 →
+                    â\88\80f1,f2. f1 â\8b\93 f2 â\89\98 f0 →
+                    â\88\80f. f2 â\8b\93 f3 â\89\98 f â\86\92 f1 â\8b\93 f â\89\98 f4.
 
-axiom sor_assoc_sn: â\88\80f1,f0,f4. f1 â\8b\93 f0 â\89¡ f4 →
-                    â\88\80f2, f3. f2 â\8b\93 f3 â\89¡ f0 →
-                    â\88\80f. f1 â\8b\93 f2 â\89¡ f â\86\92 f â\8b\93 f3 â\89¡ f4.
+axiom sor_assoc_sn: â\88\80f1,f0,f4. f1 â\8b\93 f0 â\89\98 f4 →
+                    â\88\80f2, f3. f2 â\8b\93 f3 â\89\98 f0 →
+                    â\88\80f. f1 â\8b\93 f2 â\89\98 f â\86\92 f â\8b\93 f3 â\89\98 f4.
 
 lemma sor_comm_23: ∀f0,f1,f2,f3,f4,f.
-                   f0â\8b\93f4 â\89¡ f1 â\86\92 f1â\8b\93f2 â\89¡ f â\86\92 f0â\8b\93f2 â\89¡ f3 â\86\92 f3â\8b\93f4 â\89¡ f.
+                   f0â\8b\93f4 â\89\98 f1 â\86\92 f1â\8b\93f2 â\89\98 f â\86\92 f0â\8b\93f2 â\89\98 f3 â\86\92 f3â\8b\93f4 â\89\98 f.
 /4 width=6 by sor_comm, sor_assoc_dx/ qed-.
 
-corec theorem sor_comm_23_idem: â\88\80f0,f1,f2. f0 â\8b\93 f1 â\89¡ f2 →
-                                â\88\80f. f1 â\8b\93 f2 â\89¡ f â\86\92 f1 â\8b\93 f0 â\89¡ f.
+corec theorem sor_comm_23_idem: â\88\80f0,f1,f2. f0 â\8b\93 f1 â\89\98 f2 →
+                                â\88\80f. f1 â\8b\93 f2 â\89\98 f â\86\92 f1 â\8b\93 f0 â\89\98 f.
 #f0 #f1 #f2 * -f0 -f1 -f2
 #f0 #f1 #f2 #g0 #g1 #g2 #Hf2 #H0 #H1 #H2 #g #Hg
 [ cases (sor_inv_ppx … Hg … H1 H2)
@@ -492,8 +492,8 @@ corec theorem sor_comm_23_idem: ∀f0,f1,f2. f0 ⋓ f1 ≡ f2 →
 /3 width=7 by sor_nn, sor_np, sor_pn, sor_pp/
 qed-.
 
-corec theorem sor_coll_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89¡ f â\86\92 â\88\80g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                           â\88\80g0. g1 â\8b\93 g0 â\89¡ f1 â\86\92 g2 â\8b\93 g0 â\89¡ f2 â\86\92 g â\8b\93 g0 â\89¡ f.
+corec theorem sor_coll_dx: â\88\80f1,f2,f. f1 â\8b\93 f2 â\89\98 f â\86\92 â\88\80g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                           â\88\80g0. g1 â\8b\93 g0 â\89\98 f1 â\86\92 g2 â\8b\93 g0 â\89\98 f2 â\86\92 g â\8b\93 g0 â\89\98 f.
 #f1 #f2 #f cases (pn_split f) * #x #Hx #Hf #g1 #g2 #g #Hg #g0 #Hf1 #Hf2
 [ cases (sor_inv_xxp … Hf … Hx) -Hf #x1 #x2 #Hf #Hx1 #Hx2
   cases (sor_inv_xxp … Hf1 … Hx1) -f1 #y1 #y0 #Hf1 #Hy1 #Hy0
@@ -522,9 +522,9 @@ corec theorem sor_coll_dx: ∀f1,f2,f. f1 ⋓ f2 ≡ f → ∀g1,g2,g. g1 ⋓ g2
 ]
 qed-.
 
-corec theorem sor_distr_dx: â\88\80g0,g1,g2,g. g1 â\8b\93 g2 â\89¡ g →
-                            â\88\80f1,f2,f. g1 â\8b\93 g0 â\89¡ f1 â\86\92 g2 â\8b\93 g0 â\89¡ f2 â\86\92 g â\8b\93 g0 â\89¡ f →
-                            f1 â\8b\93 f2 â\89¡ f.
+corec theorem sor_distr_dx: â\88\80g0,g1,g2,g. g1 â\8b\93 g2 â\89\98 g →
+                            â\88\80f1,f2,f. g1 â\8b\93 g0 â\89\98 f1 â\86\92 g2 â\8b\93 g0 â\89\98 f2 â\86\92 g â\8b\93 g0 â\89\98 f →
+                            f1 â\8b\93 f2 â\89\98 f.
 #g0 cases (pn_split g0) * #y0 #H0 #g1 #g2 #g
 [ * -g1 -g2 -g #y1 #y2 #y #g1 #g2 #g #Hy #Hy1 #Hy2 #Hy #f1 #f2 #f #Hf1 #Hf2 #Hf
   [ cases (sor_inv_ppx … Hf1 … Hy1 H0) -g1
index 5f45b1f2889ff777a82f174b8e262e402cd591b7..247311b3ed0359a5f159effbfa052172383b960d 100644 (file)
@@ -73,7 +73,7 @@ lemma uni_inv_isid: ∀f. 𝐔❴0❵ ≗ f → 𝐈⦃f⦄.
 
 (* Properties with finite colength assignment ***************************)
 
-lemma fcla_uni: â\88\80n. ð\9d\90\82â¦\83ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89¡ n.
+lemma fcla_uni: â\88\80n. ð\9d\90\82â¦\83ð\9d\90\94â\9d´nâ\9dµâ¦\84 â\89\98 n.
 #n elim n -n /2 width=1 by fcla_isid, fcla_next/
 qed.
 
index b42fb82e4915c46ffea8a812fc03d2b718e5c0cb..a6c9bb60637c17c724d65aeacd766f25ea5d263d 100644 (file)
@@ -22,18 +22,18 @@ table {
         [ { "" * } {
              [ "rtmap" "rtmap_eq ( ? ≗ ? )" "rtmap_pushs ( ↑*[?]? )" "rtmap_nexts ( ⫯*[?]? )" 
                "rtmap_tl ( ⫱? )" "rtmap_tls ( ⫱*[?]? )" "rtmap_isid ( 𝐈⦃?⦄ )" "rtmap_id" "rtmap_isdiv ( 𝛀⦃?⦄ )"
-               "rtmap_fcla ( ð\9d\90\82â¦\83?â¦\84 â\89¡ ? )" "rtmap_isfin ( 𝐅⦃?⦄ )" "rtmap_isuni ( 𝐔⦃?⦄ )" "rtmap_uni ( 𝐔❴?❵ )"
-               "rtmap_sle ( ? â\8a\86 ? )" "rtmap_sdj ( ? â\88¥ ? )" "rtmap_sand ( ? â\8b\92 ? â\89¡ ? )" "rtmap_sor ( ? â\8b\93 ? â\89¡ ? )"
-               "rtmap_at ( @â¦\83?,?â¦\84 â\89¡ ? )" "rtmap_istot ( ð\9d\90\93â¦\83?â¦\84 )" "rtmap_after ( ? â\8a\9a ? â\89¡ ? )" "rtmap_coafter ( ? ~â\8a\9a ? â\89¡ ? )"
+               "rtmap_fcla ( ð\9d\90\82â¦\83?â¦\84 â\89\98 ? )" "rtmap_isfin ( 𝐅⦃?⦄ )" "rtmap_isuni ( 𝐔⦃?⦄ )" "rtmap_uni ( 𝐔❴?❵ )"
+               "rtmap_sle ( ? â\8a\86 ? )" "rtmap_sdj ( ? â\88¥ ? )" "rtmap_sand ( ? â\8b\92 ? â\89\98 ? )" "rtmap_sor ( ? â\8b\93 ? â\89\98 ? )"
+               "rtmap_at ( @â¦\83?,?â¦\84 â\89\98 ? )" "rtmap_istot ( ð\9d\90\93â¦\83?â¦\84 )" "rtmap_after ( ? â\8a\9a ? â\89\98 ? )" "rtmap_coafter ( ? ~â\8a\9a ? â\89\98 ? )"
              * ]
              [ "nstream ( ↑? ) ( ⫯? )" "nstream_eq" "" "" "" "" "nstream_isid" "nstream_id ( 𝐈𝐝 )" ""
                "" "" "" "" "" "" "" "nstream_sor" "" "nstream_istot ( ?@❴?❵ )" "nstream_after ( ? ∘ ? )" "nstream_coafter ( ? ~∘ ? )"
              * ]
 (*
-             [ "trace ( â\88¥?â\88¥ )" "trace_at ( @â¦\83?,?â¦\84 â\89¡ ? )" "trace_after ( ? â\8a\9a ? â\89¡ ? )" "trace_isid ( 𝐈⦃?⦄ )" "trace_isun ( 𝐔⦃?⦄ )"
-               "trace_sle ( ? â\8a\86 ? )" "trace_sor ( ? â\8b\93 ? â\89¡ ? )" "trace_snot ( ∁ ? )" * ]
+             [ "trace ( â\88¥?â\88¥ )" "trace_at ( @â¦\83?,?â¦\84 â\89\98 ? )" "trace_after ( ? â\8a\9a ? â\89\98 ? )" "trace_isid ( 𝐈⦃?⦄ )" "trace_isun ( 𝐔⦃?⦄ )"
+               "trace_sle ( ? â\8a\86 ? )" "trace_sor ( ? â\8b\93 ? â\89\98 ? )" "trace_snot ( ∁ ? )" * ]
 *)
-             [ "mr2" "mr2_at ( @â¦\83?,?â¦\84 â\89¡ ? )" "mr2_plus ( ? + ? )" "mr2_minus ( ? â\96­ ? â\89¡ ? )" * ]
+             [ "mr2" "mr2_at ( @â¦\83?,?â¦\84 â\89\98 ? )" "mr2_plus ( ? + ? )" "mr2_minus ( ? â\96­ ? â\89\98 ? )" * ]
           }
         ]
      }