@@ -277,7 +211,7 @@
Logical Structure of the Specification
The source files are grouped in planes and components
according to the following table.
- A notation file covering the whole specification is provided.
+ Notation files covering the whole specification are provided.
The notation for the relations or functions introduced in each file
is shown in parentheses (? are placeholders).
@@ -294,34 +228,15 @@
|
-
-
- |
|
dynamic typing |
- "big tree" parallel computation |
- yprs ( ? ⢠â¦?,?⦠â¥[g] â¦?,?⦠) |
- yprs_yprs |
- ygt ( ? ⢠�,?⦠>[g] �,?⦠) |
- ygt_ygt |
-
-
- |
-
-
-
-
- |
- "big tree" parallel reduction |
- ypr ( ? ⢠â¦?,?⦠â½[g] â¦?,?⦠) |
- ysc ( ? ⢠â¦?,?⦠â»[g] â¦?,?⦠) |
-
-
- |
+ local env. ref. for stratified native validity |
+ lsubsv ( ? ⢠? ¡â«[?,?] ? ) |
+ lsubsv_lsuba lsubsv_lsubd lsubsv_lstas lsubsv_cpds lsubsv_cpcs lsubsv_snv |
|
@@ -333,12 +248,9 @@
|
- local env. ref. for stratified native validity |
- lsubsv ( ? ⢠? ¡â[?] ? ) |
- lsubsv_ldrop lsubsv_lsuba lsubsv_ssta lsubsv_dxprs lsubsv_cpcs lsubsv_snv |
-
-
- |
+ stratified native validity |
+ snv ( �,?⦠⢠? ¡[?,?] ) |
+ snv_lift snv_aaa snv_da_lpr snv_lstas snv_lstas_lpr snv_lpr snv_cpcs snv_preserve |
|
@@ -347,30 +259,24 @@
-
-
- |
- stratified native validity |
- snv ( �,?⦠⢠? ¡[?] ) |
- snv_lift snv_ltpss_dx snv_ltpss_sn snv_aaa snv_ssta snv_sstas snv_ssta_ltpr snv_ltpr snv_cpcs |
-
-
- |
-
+ | equivalence |
+ decomposed extended equivalence |
+ cpes ( â¦?,?⦠⢠? â¢*â¬*[?,?] ? ) |
+ cpes_cpds |
+
|
-
+ |
|
- equivalence |
- focalized equivalence |
- lfpcs ( â¦?⦠â¬* â¦?⦠) |
- lfpcs_aaa lfpcs_fpcs lfpcs_lfprs lfpcs_lfpcs |
-
+ |
|
+ context-sensitive equivalence |
+ cpcs ( â¦?,?⦠⢠? â¬* ? ) |
+ cpcs_aaa cpcs_cprs cpcs_cpcs |
|
@@ -379,117 +285,122 @@
-
+ | conversion |
+ context-sensitive conversion |
+ cpc ( �,?⦠⢠? ⬠? ) |
+ cpc_cpc |
+
|
-
+ |
|
- fpcs ( â¦?,?⦠â¬* â¦?,?⦠) |
- fpcs_aaa fpcs_cpcs fpcs_fprs fpcs_fpcs |
-
+ |
+
+ computation |
+ evaluation for context-sensitive extended reduction |
+ cpxe ( â¦?,?⦠⢠â¡*[?,?] ðâ¦?⦠) |
+
|
-
+ |
|
-
+ |
|
-
-
- |
- local env. ref. for stratified static type assignment |
- lsubss ( ? â¢â[?] ? ) |
- lsubss_ldrop lsubss_ssta lsubss_cpcs |
-
+ |
|
-
+ | evaluation for context-sensitive reduction |
+ cpre ( â¦?,?⦠⢠â¡* ðâ¦?⦠) |
+ cpre_cpre |
+
|
-
+ |
|
-
+ |
|
- context-sensitive equivalence |
- cpcs ( ? ⢠? â¬* ? ) |
- cpcs_ltpss_dx cpcs_ltpss_sn cpcs_delift cpcs_aaa cpcs_ltpr cpcs_cprs cpcs_cpcs |
-
+ | strongly normalizing "big tree" computation |
+ fsb ( �,?⦠⢠⦥[?,?] ? ) |
+ fsb_alt ( �,?⦠⢠⦥⦥[?,?] ? ) |
+ fsb_aaa fsb_csx |
+
|
-
+ |
+
+
|
-
+ | strongly normalizing extended computation |
+ lcosx ( ? ⢠~â¬*[?,?,?] ? ) |
+ lcosx_cpx |
+
+
+ |
+
|
- conversion |
- focalized conversion |
- lfpc ( �⦠⬠�⦠) |
- lfpc_lfpc |
-
+ |
|
-
+ |
|
-
+ | lsx ( ? ⢠â¬*[?,?,?,?] ? ) |
+ lsx_alt ( ? ⢠â¬â¬*[?,?,?,?] ? ) |
+ lsx_drop lsx_lpx lsx_lpxs llsx_csx |
+
|
-
-
- |
-
+ |
|
- fpc ( �,?⦠⬠�,?⦠) |
- fpc_fpc |
-
+ |
|
-
+ | csx_vector ( â¦?,?⦠⢠â¬*[?,?] ? ) |
+ csx_tstc_vector csx_aaa |
+
|
-
+ |
|
-
-
- |
- context-sensitive conversion |
- cpc ( ? ⢠? ⬠? ) |
- cpc_cpc |
-
+ |
|
-
+ |
|
-
+ | csx ( â¦?,?⦠⢠â¬*[?,?] ? ) |
+ csx_alt ( â¦?,?⦠⢠â¬â¬*[?,?] ? ) |
+ csx_lift csx_lleq csx_lpx csx_lpxs csx_fpbs |
+
|
- computation |
- focalized computation |
- lfprs ( â¦?⦠â¡* â¦?⦠) |
- lfprs_aaa lfprs_ltprs lfprs_cprs lfprs_fprs lfprs_lfprs |
-
+ |
|
+ "big tree" parallel computation |
+ fpbg ( â¦?,?,?⦠>â¡[?,?] â¦?,?,?⦠) |
+ fpbg_lift fpbg_fleq fpbg_fpbg |
|
@@ -504,11 +415,8 @@
|
- fprs ( â¦?,?⦠â¡* â¦?,?⦠) |
- fprs_aaa fprs_fprs |
-
-
- |
+ fpbc ( â¦?,?,?⦠â»â¡[?,?] â¦?,?,?⦠) |
+ fpbc_fleq fpbc_fpbs |
|
@@ -520,15 +428,12 @@
|
- decomposed extended computation |
- dxprs ( â¦?,?⦠⢠? â¢*â¡*[?] ? ) |
- dxprs_lift dxprs_ltpss_dx dxprs_ltpss_sn dxprs_aaa dxprs_dxprs |
-
-
- |
-
+ |
|
+ fpbu ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) |
+ fpbu_lift fpbu_lleq |
+ fpbu_fleq |
|
@@ -537,15 +442,12 @@
|
- weakly normalizing computation |
- cpe ( ? ⢠â¡* ðâ¦?⦠) |
- cpe_cpe |
-
-
- |
-
+ |
|
+ fpbs ( â¦?,?,?⦠â¥[?,?] â¦?,?,?⦠) |
+ fpbs_alt ( â¦?,?,?⦠â¥â¥[?,?] â¦?,?,?⦠) |
+ fpbs_lift fpbs_fleq fpbs_aaa fpbs_fpbs fpbs_ext |
|
@@ -554,12 +456,9 @@
|
- strongly normalizing computation |
- csn_vector ( ? ⢠â¬* ? ) |
- csn_cpr_vector csn_tstc_vector csn_aaa |
-
-
- |
+ decomposed extended computation |
+ cpds ( â¦?,?⦠⢠? â¢*â¡*[?,?] ? ) |
+ cpds_lift cpds_aaa cpds_cpds |
|
@@ -571,12 +470,9 @@
|
-
-
- |
- csn ( ? ⢠â¬* ? ) |
- csn_alt ( ? ⢠â¬â¬* ? ) |
- csn_lift csn_cpr csn_lfpr |
+ context-sensitive extended computation |
+ lpxs ( â¦?,?⦠⢠â¡*[?,?] ? ) |
+ lpxs_drop lpxs_lleq lpxs_aaa lpxs_cpxs lpxs_lpxs |
|
@@ -588,12 +484,11 @@
|
- context-sensitive computation |
- cprs (? ⢠? â¡* ?) |
- cprs_lift cprs_tpss cprs_ltpss_dx cprs_ltpss_sn cprs_delift cprs_aaa cprs_ltpr cprs_lfpr cprs_cprs cprs_lfprs cprs_tstc cprs_tstc_vector |
-
+ |
|
+ cpxs ( â¦?,?⦠⢠? â¡*[?,?] ? ) |
+ cpxs_tstc cpxs_tstc_vector cpxs_leq cpxs_lift cpxs_lleq cpxs_aaa cpxs_cpxs |
|
@@ -605,10 +500,9 @@
|
- context-free computation |
- ltprs ( ? â¡* ? ) |
- ltprs_alt ( ? â¡â¡* ? ) |
- ltprs_ldrop ltprs_ltprs |
+ context-sensitive computation |
+ lprs ( â¦?,?⦠⢠â¡* ? ) |
+ lprs_drop lprs_cprs lprs_lprs |
|
@@ -623,11 +517,8 @@
|
- tprs ( ? â¡* ?) |
- tprs_lift tprs_tprs |
-
-
- |
+ cprs ( â¦?,?⦠⢠? â¡* ?) |
+ cprs_lift cprs_cprs |
|
@@ -640,11 +531,8 @@
local env. ref. for abstract candidates of reducibility |
- lsubc ( ? â[?] ? ) |
- lsubc_ldrop lsubc_ldrops lsubc_lsuba |
-
-
- |
+ lsubc ( ? ⢠? â«[?] ? ) |
+ lsubc_drop lsubc_drops lsubc_lsuba |
|
@@ -658,23 +546,31 @@
support for abstract computation properties |
acp |
- acp_cr ( â¦?,?⦠ϵ[?] ã?ã ) |
+ acp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) |
acp_aaa |
-
-
- |
|
reduction |
- context-sensitive normal forms |
- cnf ( ? ⢠ðâ¦?⦠) |
- cnf_liftt cnf_crf cnf_cif |
+ "big tree" parallel reduction |
+ fpb ( â¦?,?,?⦠â½[?,?] â¦?,?,?⦠) |
+ fpb_lift fpb_aaa |
|
+
+
+ |
+
+
+
+
+ |
+ normal forms for context-sensitive extended reduction |
+ cnx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ cnx_lift cnx_crx cnx_cix |
|
@@ -682,6 +578,18 @@
+
+
+
+ |
+ context-sensitive extended reduction |
+ lpx ( â¦?,?⦠⢠â¡[?,?] ? ) |
+ lpx_drop lpx_frees |
+ lpx_lleq lpx_aaa |
+
+
+ |
+
@@ -689,13 +597,36 @@
|
|
- chnf ( ? ⢠ððâ¦?⦠) |
+ cpx ( â¦?,?⦠⢠? â¡[?,?] ? ) |
+ cpx_leq cpx_lift cpx_llpx_sn cpx_lleq cpx_cix |
|
+
+
+ |
+
+
+
+
+ |
+ irreducible forms for context-sensitive extended reduction |
+ cix ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ cix_lift |
|
+
+
+ |
+
+
+
+
+ |
+ reducible forms for context-sensitive extended reduction |
+ crx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ crx_lift |
|
@@ -707,12 +638,23 @@
|
- context-sensitive reduction |
- lpr ( ? ⢠⡠? ) |
- lpr_ldrop lpr_cpss lpr_lpss lpr_aaa lpr_cpr lpr_lpr |
+ normal forms for context-sensitive reduction |
+ cnr ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ cnr_lift cnr_crr cnr_cir |
|
+
+
+ |
+
+
+
+
+ |
+ context-sensitive reduction |
+ lpr ( �,?⦠⢠⡠? ) |
+ lpr_drop lpr_lpr |
|
@@ -727,11 +669,22 @@
|
- cpr ( ? ⢠? ⡠? ) |
- lpr_tshf cpr_lift cpr_cif |
+ cpr ( �,?⦠⢠? ⡠? ) |
+ cpr_lift cpr_llpx_sn cpr_cir |
|
+
+
+ |
+
+
+
+
+ |
+ irreducible forms for context-sensitive reduction |
+ cir ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ cir_lift |
|
@@ -743,20 +696,20 @@
|
- context-sensitive reducible forms |
- crf ( ? ⢠ðâ¦?⦠) |
- crf_append |
- cif ( ? ⢠ðâ¦?⦠) |
- cif_append |
+ reducible forms for context-sensitive reduction |
+ crr ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ crr_lift |
+
+
+ |
|
unfold |
- restricted parallel computation |
- lpqs ( ? ⢠â¤* ? ) |
- lpqs_ldrop lpqs_cpqs lpqs_lpqs |
+ unfold |
+ unfold ( �,?⦠⢠? ⧫* ? ) |
|
@@ -771,65 +724,61 @@
|
-
-
- |
- cpqs ( ? ⢠? â¤* ? ) |
- cpqs_lift |
-
-
- |
-
-
- |
+ iterated static type assignment |
+ lstas ( â¦?,?⦠⢠? â¢*[?,?] ? ) |
+ lstas_alt ( â¦?,?⦠⢠? â¢â¢*[?,?] ? ) |
+ lstas_lift lstas_aaa lstas_da lstas_lstas |
|
-
+ | static typing |
+ local env. ref. for degree assignment |
+ lsubd ( ? ⢠? âªâ« ? ) |
+ lsubd_da lsubd_lsubd |
+
|
- unfold |
- unfold ( ? ⢠? ⧫* ? ) |
-
+ |
|
-
+ |
+
+
|
-
+ | degree assignment |
+ da ( â¦?,?⦠⢠? âª[?,?] ? ) |
+ da_lift da_aaa da_sta da_da |
+
|
-
+ |
|
-
-
- |
- iterated stratified static type assignment |
- sstas ( â¦?,?⦠⢠? â¢*[?] ? ) |
- sstas_lift sstas_lpss sstas_aaa sstas_sstas |
-
+ |
|
-
+ | static type assignment |
+ sta ( â¦?,?⦠⢠? â¢[?] ? ) |
+ sta_lift sta_lpx_sn sta_aaa sta_sta |
+
|
-
+ |
|
- static typing |
- stratified static type assignment |
- ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) |
- ssta_lift ssta_lpss ssta_aaa ssta_ssta |
-
+ |
|
+ parameters |
+ sh |
+ sd |
|
@@ -842,11 +791,8 @@
local env. ref. for atomic arity assignment |
- lsuba ( ? ââ ? ) |
- lsuba_ldrop lsuba_aaa lsuba_lsuba |
-
-
- |
+ lsuba ( ? ⢠? ââ« ? ) |
+ lsuba_aaa lsuba_lsuba |
|
@@ -859,11 +805,8 @@
atomic arity assignment |
- aaa ( ? ⢠? â ? ) |
- aaa_lift aaa_lifts aaa_lpss aaa_aaa |
-
-
- |
+ aaa ( â¦?,?⦠⢠? â ? ) |
+ aaa_lift aaa_lifts aaa_fqus aaa_lleq aaa_aaa |
|
@@ -875,12 +818,9 @@
|
- parameters |
- sh |
- sd |
-
-
- |
+ restricted local env. ref. |
+ lsubr ( ? â« ? ) |
+ lsubr_lsubr |
|
@@ -889,13 +829,10 @@
- substitution |
- parallel substitution |
- lpss ( ? ⢠â¶* ? ) |
- lpss_ldrop lpss_cpss lpss_lpss |
-
-
- |
+ multiple substitution |
+ lazy equivalence |
+ fleq ( â¦?,?,?⦠â¡[?] â¦?,?,?⦠) |
+ fleq_fleq |
|
@@ -910,11 +847,22 @@
|
- cpss ( ? ⢠? â¶* ? ) |
- cpss_lift |
+ lleq ( ? â¡[?,?] ? ) |
+ lleq_alt lleq_alt_rec lleq_leq lleq_drop lleq_fqus lleq_llor lleq_lleq |
|
+
+
+ |
+
+
+
+
+ |
+ lazy pointwise extension of a relation |
+ llpx_sn |
+ llpx_sn_alt llpx_sn_alt_rec llpx_sn_tc llpx_sn_leq llpx_sn_drop llpx_sn_lpx_sn llpx_sn_frees llpx_sn_llor |
|
@@ -926,12 +874,23 @@
|
- iterated structural successor for closures |
- fsups ( â¦?,?⦠â* â¦?,?⦠) |
- fsups_fsups |
+ pointwise union for local environments |
+ llor ( ? â©[?,?] ? â¡ ? ) |
+ llor_alt llor_drop |
|
+
+
+ |
+
+
+
+
+ |
+ context-sensitive exclusion from free variables |
+ frees ( ? ⢠? ϵ ð
*[?]�⦠) |
+ frees_append frees_leq frees_lift |
|
@@ -943,14 +902,21 @@
|
-
+ | contxt-sensitive extended multiple substitution |
+ cpys ( â¦?,?⦠⢠? â¶*[?,?] ? ) |
+ cpys_alt ( â¦?,?⦠⢠? â¶â¶*[?,?] ? ) |
+ cpys_lift cpys_cpys |
+
|
- fsupp ( â¦?,?⦠â+ â¦?,?⦠) |
- fsupp_fsupp |
-
+ |
+
+
|
+ iterated structural successor for closures |
+ fqus ( â¦?,?,?⦠â* â¦?,?,?⦠) |
+ fqus_alt fqus_fqus |
|
@@ -962,12 +928,25 @@
|
- generic local env. slicing |
- ldrops ( â©*[?] ? â¡ ? ) |
- ldrops_ldrop ldrops_ldrops |
+
+
+ |
+ fqup ( â¦?,?,?⦠â+ â¦?,?,?⦠) |
+ fqup_fqup |
|
+
+
+ |
+
+
+
+
+ |
+ iterated local env. slicing |
+ drops ( â©*[?,?] ? â¡ ? ) |
+ drops_drop drops_drops |
|
@@ -985,9 +964,6 @@
|
-
-
- |
|
@@ -1004,9 +980,6 @@
|
-
-
- |
|
@@ -1019,18 +992,28 @@
gr2 ( @�,?⦠⡠? ) |
gr2_plus ( ? + ? ) |
gr2_minus ( ? â ? â¡ ? ) |
- gr2_gr2 |
-
-
- |
+ gr2_gr2 |
- relocation |
+ substitution |
structural successor for closures |
- fsup ( â¦?,?⦠â â¦?,?⦠) |
+ fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) |
+ fquq_alt ( â¦?,?,?⦠ââ⸮ â¦?,?,?⦠) |
|
+
+
+ |
+
+
+
+
+ |
+
+
+ |
+ fqu ( â¦?,?,?⦠â â¦?,?,?⦠) |
|
@@ -1046,11 +1029,22 @@
global env. slicing |
- gdrop ( â©[?] ? â¡ ? ) |
- gdrop_gdrop |
+ gget ( â©[?] ? â¡ ? ) |
+ gget_gget |
|
+
+
+ |
+
+
+
+
+ |
+ contxt-sensitive extended ordinary substitution |
+ cpy ( â¦?,?⦠⢠? â¶[?,?] ? ) |
+ cpy_lift cpy_nlift cpy_cpy |
|
@@ -1062,12 +1056,23 @@
|
- basic local env. slicing |
- ldrop ( â©[?,?] ? â¡ ? ) |
- ldrop_append ldrop_lpx ldrop_lpx_sn ldrop_lbotr ldrop_ldrop |
+ local env. ref. for extended substitution |
+ lsuby ( ? âÃ[?,?] ? ) |
+ lsuby_lsuby |
|
+
+
+ |
+
+
+
+
+ |
+ pointwise extension of a relation |
+ lpx_sn |
+ lpx_sn_alt lpx_sn_tc lpx_sn_drop lpx_sn_lpx_sn |
|
@@ -1079,10 +1084,9 @@
|
- local env. ref. for substitution |
- lsubr ( ? â[?,?] ? ) |
- (lsubr_lsubr) |
- lsubr_lbotr ( â[?,?] ? ) |
+ basic local env. slicing |
+ drop ( â©[?,?,?] ? â¡ ? ) |
+ drop_append drop_leq drop_drop |
|
@@ -1100,9 +1104,6 @@
|
-
-
- |
|
@@ -1115,10 +1116,7 @@
lift ( â§[?,?] ? â¡ ? ) |
- lift_lift |
-
-
- |
+ lift_neq lift_lift |
|
@@ -1128,12 +1126,9 @@
grammar |
- same head term form |
- tshf ( ? â ? ) |
- (tshf_tshf) |
-
-
- |
+ equivalence for local environments |
+ leq ( ? ⩬[?,?] ? ) |
+ leq_leq |
|
@@ -1146,14 +1141,11 @@
same top term constructor |
- tstc ( ? â ? ) |
+ tstc ( ? â ? ) |
tstc_tstc tstc_vector |
|
-
-
- |
|
@@ -1163,11 +1155,8 @@
closures |
- cl_shift ( ? @@ ? ) |
- cl_weight ( â¯{?,?} ) |
-
-
- |
+ cl_weight ( â¯{?,?,?} ) |
+ cl_restricted_weight ( â¯{?,?} ) |
|
@@ -1187,9 +1176,6 @@
|
-
-
- |
|
@@ -1204,8 +1190,7 @@
lenv |
lenv_weight ( â¯{?} ) |
lenv_length ( |?| ) |
- lenv_append ( ? @@ ? ) |
- lenv_px lenv_px_sn lenv_px_bi |
+ lenv_append ( ? @@ ? ) |
@@ -1217,10 +1202,7 @@
| term |
term_weight ( â¯{?} ) |
term_simple ( ðâ¦?⦠) |
- term_vector |
-
-
- |
+ term_vector |
@@ -1236,9 +1218,6 @@
|
|
-
-
- |
|
@@ -1255,9 +1234,6 @@
|
-
-
- |
|
@@ -1296,6 +1272,6 @@
- Last update: Sun, 21 Apr 2013 17:53:32 +0200
+ Last update: Sat, 28 Jun 2014 20:29:31 +0200