+
+
+ +
+
+
+
+
+
+ + home + | ++ news + | ++ specification + | +
+ + |
+
+ + |
+ + documentation + | ++ implementation + | +
+ + |
+
+ foreword + | ++ milestones + | ++ version 2 + | +(background - core - applications) | +
+ + |
+ + version 2 + | ++ library + | +(static LDDL directory) | +
+ citations + | ++ visibility + | ++ version 1 + | +(background - core) | +(static HELM directory) | ++ version 1 + | ++ helena + | +
+ + |
+
Summary of the Specification
+
+ ![lambdadelta butterfly [spacer]](http://lambdadelta.info/images/b4.png)
Here is a numerical account of the specification's contents
and its timeline.
- Nodes are counted according to the "intrinsinc complexity measure"
- [F. Guidi: "Procedural Representation of CIC Proof Terms"
- Journal of Automated Reasoning 44(1-2), Springer (February 2010),
- pp. 53-78].
-
+
-
category | -objects | -+ | category | +objects | +
|
- + |
|
- + |
|
- + |
|
- + |
|
sizes | -files | -350 | -characters | -634336 | -nodes | -1755676 | +sizes | +files | +102 | +characters | +69295 | +nodes | +245853 |
propositions | -theorems | -119 | -lemmas | -1270 | -total | -1389 | +propositions | +theorems | +34 | +lemmas | +256 | +total | +290 |
concepts | -declared | -54 | -defined | -81 | -total | -135 | +concepts | +declared | +21 | +defined | +29 | +total | +50 |
-
+
- - In progress. + Ongoing. Context-sensitive subject equivalence for native type assignment.
- + 2015 October 9. + λδ version 2A2 is started. + +
- - In progress. - Closure of native validity - for context-sensitive extended computation. + 2015 August 27. + λδ version 2A1 appears too complex and is dismissed.
- - 2014 April 16. - lazy equivalence on local environments - serves as irrelevant step in "big tree" computation + 2014 October 28. + λδ version 2A1 is released. + +
- + 2014 September 9. + Iterated static type assignment defined (more elegantly) + as a primitive notion. + +
- + 2014 June 18. + Preservation of stratified native validity + for context-sensitive computation on terms. + +
- + 2014 June 9. + Strong qrst-normalization + for simply typed terms. + +
- + 2014 April 16. + Lazy equivalence on local environments + added as q-step to rst-computation on closures (anniversary milestone).
- - 2014 January 20. - Parametrized slicing for local environments + 2014 January 20. + Parametrized slicing of local environments comprises both versions of this operation (one from basic_1, the other used in basic_2 till now).
- - 2013 August 7. + 2013 August 7. Passive support for global environments.
- - 2013 July 27. - Reaxiomatized β-reductum as in extended β-reduction + 2013 July 27. + Reaxiomatized β-reductum as in rt-reduction.
- - 2013 July 20. - Context-sensitive extended strong normalization + 2013 July 20. + Context-sensitive strong rt-normalization for simply typed terms.
- - 2013 April 16. + 2013 April 16. Reaxiomatized substitution and reduction commute with respect to subclosure (anniversary milestone).
- - 2013 March 16. + 2013 March 16. Mutual recursive preservation of stratified native validity - for "big tree" computation on closures. + for rst-computation on closures.
- - 2012 October 16. + 2012 October 16. Confluence for context-free parallel reduction on closures.
- - 2012 July 26. + 2012 July 26. Term binders polarized to control ζ-reduction (not released).
- - 2012 April 16. + 2012 April 16. Context-sensitive subject equivalence for atomic arity assignment (anniversary milestone).
- - 2012 March 15. + 2012 March 15. Context-sensitive strong normalization for simply typed terms.
- - 2012 January 27. + 2012 January 27. Support for abstract candidates of reducibility.
- - 2011 September 21. + 2011 September 21. Confluence for context-sensitive parallel reduction on terms.
- - 2011 September 6. + 2011 September 6. Confluence for context-free parallel reduction on terms.
- - 2011 April 17. - Specification starts. + 2011 April 17. + λδ version 2 is started.
Stage "B"
+ -
+
Stage "A2": "Extending the Applicability Condition"
+ -
+
Stage "A1": "Extending the Applicability Condition"
+ -
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Logical Structure of the Specification
- The source files are grouped in planes and components
- according to the following table.
- 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).
+
Logical Structure of the Specification
+
+ ![lambdadelta butterfly [spacer]](http://lambdadelta.info/images/b4.png)
This table reports the specification's components and their planes.
-
+
-
-
component | -plane | -files | -
- - |
-
- - |
-
- - |
- ||||||
dynamic typing | -local env. ref. for stratified native validity | -lsubsv ( ? ⢠? ¡â«[?,?] ? ) | -lsubsv_ldrop lsubsv_lsubd lsubsv_lsuba lsubsv_lsstas lsubsv_cpds lsubsv_cpcs lsubsv_snv | -
- - |
-
- - |
- ||||||
- - |
- stratified native validity | -snv ( �,?⦠⢠? ¡[?,?] ) | -snv_lift snv_da_lpr snv_aaa snv_lsstas snv_lsstas_lpr snv_lpr snv_cpcs | -
- - |
-
- - |
- ||||||
equivalence | -decomposed extended equivalence | -cpes ( â¦?,?⦠⢠? â¢*â¬*[?,?] ? ) | -cpes_cpds | -
- - |
-
- - |
- ||||||
- - |
- context-sensitive equivalence | -cpcs ( â¦?,?⦠⢠? â¬* ? ) | -cpcs_aaa cpcs_cprs cpcs_cpcs | -
- - |
-
- - |
- ||||||
conversion | -context-sensitive conversion | -cpc ( �,?⦠⢠? ⬠? ) | -cpc_cpc | -
- - |
-
- - |
- ||||||
computation | -evaluation for context-sensitive extended reduction | -cpxe ( â¦?,?⦠⢠â¡*[?,?] ðâ¦?⦠) | -
- - |
-
- - |
-
- - |
- ||||||
- - |
- evaluation for context-sensitive reduction | -cpre ( â¦?,?⦠⢠â¡* ðâ¦?⦠) | -cpre_cpre | -
- - |
-
- - |
- ||||||
- - |
- strongly normalizing "big tree" computation | -fsb ( �,?⦠⢠⦥[?,?] ? ) | -fsb_alt ( �,?⦠⢠⦥⦥[?,?] ? ) | -fsb_aaa fsb_csx | -
- - |
- ||||||
+ | component | +plane | +files | +
|
- strongly normalizing extended computation | -lcosx ( ? ⢠~â¬*[?,?,?] ? ) | -lcosx_cpx | -+ |
|
- + |
|
+ | static typing | +parameters | +sh | +sd | +
|
-
- - |
- lsx ( ? ⢠â¬*[?,?,?,?] ? ) | -lsx_alt ( ? ⢠â¬â¬*[?,?,?,?] ? ) | -lsx_ldrop lsx_lpx lsx_lpxs llsx_csx | -+ |
|
- - |
- + |
|
- csx_vector ( â¦?,?⦠⢠â¬*[?,?] ? ) | -csx_tstc_vector csx_aaa | -+ | restricted ref. for local env. | +lsubr ( ? â« ? ) | +lsubr_length lsubr_drops lsubr_lsubr | +
|
- + |
|
+ |
|
- + | ranged equivalence for closures | +freq ( �,?,?⦠⡠�,?,?⦠) | +freq_freq | +
|
- csx ( â¦?,?⦠⢠â¬*[?,?] ? ) | -csx_alt ( â¦?,?⦠⢠â¬â¬*[?,?] ? ) | -csx_lift csx_lleq csx_lpx csx_lpxs csx_fpbs | -+ |
|
+ |
|
- "big tree" parallel computation | -fpbg ( â¦?,?,?⦠>â[?,?] â¦?,?,?⦠) | -fpbg_lift fpbg_fleq fpbg_fpbg | -+ | context-sensitive free variables | +frees ( ? ⢠ð *â¦?⦠⡠? ) | +frees_weight frees_lreq frees_frees | +
|
- + |
|
+ | s-computation | ++ |
|
- + |
|
- fpbc ( â¦?,?,?⦠â»â[?,?] â¦?,?,?⦠) | -fpbc_fleq fpbc_fpbs | -+ |
|
- + |
|
+ | s-transition | +structural successor for closures | +fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) | +fquq_length fquq_weight | +
|
-
- - |
- fpbu ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) | -fpbu_lift fpbu_lleq | -fpbu_fleq | -+ |
|
+ |
|
- + |
|
- fpbs ( â¦?,?,?⦠â¥[?,?] â¦?,?,?⦠) | -fpbs_alt ( â¦?,?,?⦠â¥â¥[?,?] â¦?,?,?⦠) | -fpbs_lift fpbs_fleq fpbs_aaa fpbs_fpbs fpbs_ext | -+ | fqu ( â¦?,?,?⦠â â¦?,?,?⦠) | +fqu_length fqu_weight | +
|
- |
- - |
- decomposed extended computation | -cpds ( â¦?,?⦠⢠? â¢*â¡*[?,?] ? ) | -cpds_lift cpds_aaa cpds_cpds | -
- - |
- + |
|
|||||
+ | relocation | +generic slicing for local environments | +drops_vector ( â¬*[?,?] ? â¡ ? ) | +
|
- context-sensitive extended computation | -lpxs ( â¦?,?⦠⢠â¡*[?,?] ? ) | -lpxs_ldrop lpxs_lleq lpxs_aaa lpxs_cpxs lpxs_lpxs | -+ |
|
- + |
|
+ |
|
- + |
|
- cpxs ( â¦?,?⦠⢠? â¡*[?,?] ? ) | -cpxs_tstc cpxs_tstc_vector cpxs_leq cpxs_lift cpxs_lleq cpxs_aaa cpxs_cpxs | -+ | drops ( â¬*[?,?] ? â¡ ? ) | +drops_lstar drops_weight drops_length drops_ceq drops_lexs drops_lreq drops_drops | +
|
- + |
|
+ |
|
- context-sensitive computation | -lprs ( â¦?,?⦠⢠â¡* ? ) | -lprs_ldrop lprs_cprs lprs_lprs | -+ | generic relocation for terms | +lifts_vector ( â¬*[?] ? â¡ ? ) | +lifts_lifts_vector | +
|
- + |
|
+ |
|
- + |
|
- cprs ( â¦?,?⦠⢠? â¡* ?) | -cprs_lift cprs_cprs | -+ | lifts ( â¬*[?] ? â¡ ? ) | +lifts_simple lifts_weight lifts_lifts | +
|
- + |
|
+ |
|
- local env. ref. for abstract candidates of reducibility | -lsubc ( ? ⢠? â«[?] ? ) | -lsubc_ldrop lsubc_ldrops lsubc_lsuba | -+ | ranged equivalence for local environments | +lreq ( ? â¡[?] ? ) | +lreq_length lreq_lreq | +
|
- + |
|
- - |
- support for abstract computation properties | -acp | -acp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) | -acp_aaa | -+ |
|
- |||||
reduction | -"big tree" parallel reduction | -fpb ( â¦?,?,?⦠â½[?,?] â¦?,?,?⦠) | -fpb_lift fpb_aaa | -+ | generic entrywise extension of context-sensitive relations for terma | +lexs ( ? ⦻*[?,?,?] ? ) | +lexs_length lexs_lexs | +
|
- + |
|
|
- - |
- normal forms for context-sensitive extended reduction | -cnx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cnx_lift cnx_crx cnx_cix | -+ | grammar | +append for local environments | +append ( ? @@ ? ) | +append_length | +
|
- + |
|
+ |
|
- context-sensitive extended reduction | -lpx ( â¦?,?⦠⢠â¡[?,?] ? ) | -lpx_ldrop lpx_lleq lpx_aaa | -+ | context-sensitive equivalences for terms | +ceq | +ceq_ceq | +
|
- + |
|
+ |
|
- + | same top term structure | +tsts ( ? â ? ) | +tsts_tsts tsts_vector | +
|
- cpx ( â¦?,?⦠⢠? â¡[?,?] ? ) | -cpx_leq cpx_lift cpx_llpx_sn cpx_lleq cpx_cix | -
- - |
- + |
|
+ |
|
- irreducible forms for context-sensitive extended reduction | -cix ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cix_lift | -+ | closures | +cl_weight ( â¯{?,?,?} ) | +cl_restricted_weight ( â¯{?,?} ) | +
|
- + |
|
+ |
|
- reducible forms for context-sensitive extended reduction | -crx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -crx_lift | -+ | internal syntax | +genv | +
|
- + |
|
- |
- - |
- normal forms for context-sensitive reduction | -cnr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cnr_lift cnr_crr cnr_cir | -
- - |
-
- - |
- ||||||
- - |
- context-sensitive reduction | -lpr ( �,?⦠⢠⡠? ) | -lpr_ldrop lpr_lpr | -
- - |
- + |
|
|||||
- - |
- + |
|
- cpr ( �,?⦠⢠? ⡠? ) | -cpr_lift cpr_llpx_sn cpr_cir | -+ |
|
- + | lenv | +lenv_weight ( â¯{?} ) | +lenv_length ( |?| ) | +
|
- - |
- irreducible forms for context-sensitive reduction | -cir ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cir_lift | -+ |
|
- + |
|
+ term | +term_weight ( â¯{?} ) | +term_simple ( ðâ¦?⦠) | +term_vector ( â¶?.? ) |
+ |
|
- reducible forms for context-sensitive reduction | -crr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -crr_lift | -+ |
|
-
- - |
- ||||
unfold | -unfold | -unfold ( �,?⦠⢠? ⧫* ? ) | -+ | item | +
|
- + |
|
- + |
|
||
+ |
|
- iterated static type assignment | -lsstas ( â¦?,?⦠⢠? â¢*[?,?,?] ? ) | -lsstas_alt ( â¦?,?⦠⢠? â¢â¢*[?,?,?] ? ) | -lsstas_lift lsstas_aaa lsstas_lsstas | -+ | external syntax | +aarity | +
|
- ||
static typing | -local env. ref. for atomic arity assignment | -lsuba ( ? ⢠? ââ« ? ) | -lsuba_ldrop lsuba_aaa lsuba_lsuba | -+ |
|
-
- - |
- |||||
- - |
- atomic arity assignment | -aaa ( â¦?,?⦠⢠? â ? ) | -aaa_lift aaa_lifts aaa_fqus aaa_lleq aaa_da aaa_ssta aaa_aaa | -
- - |
-
- - |
- ||||||
- - |
- stratified static type assignment | -ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) | -ssta_lift ssta_lpx_sn ssta_ssta | -
- - |
-
- - |
- ||||||
- - |
- local env. ref. for degree assignment | -lsubd ( ? ⢠? âªâ« ? ) | -lsubd_da lsubd_lsubd | -
- - |
-
- - |
- ||||||
- - |
- degree assignment | -da ( â¦?,?⦠⢠? âª[?,?] ? ) | -da_lift da_da | -
- - |
-
- - |
- ||||||
- - |
- parameters | -sh | -sd | -
- - |
-
- - |
- ||||||
- - |
- restricted local env. ref. | -lsubr ( ? â« ? ) | -lsubr_lsubr | -
- - |
-
- - |
- ||||||
substitution | -lazy equivalence | -fleq ( â¦?,?,?⦠â[?] â¦?,?,?⦠) | -fleq_fleq | -
- - |
-
- - |
- ||||||
- - |
-
- - |
- lleq ( ? â[?,?] ? ) | -lleq_alt lleq_alt_rec lleq_leq lleq_ldrop lleq_fqus 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_ldrop llpx_sn_lpx_sn | -
- - |
-
- - |
- ||||||
- - |
- pointwise union for local environments | -llor ( ? â©[?] ? â¡ ? ) | -llor_alt | -
- - |
-
- - |
- ||||||
- - |
- context-sensitive exclusion from free variables | -cofrees ( ? ⢠? ~ϵ ð *[?]â¦?⦠) | -cofrees_alt cofrees_lift | -
- - |
-
- - |
- ||||||
- - |
- contxt-sensitive extended multiple substitution | -cpys ( â¦?,?⦠⢠? â¶*[?,?] ? ) | -cpys_alt ( â¦?,?⦠⢠? â¶â¶*[?,?] ? ) | -cpys_lift cpys_cpys | -
- - |
- ||||||
- - |
- iterated structural successor for closures | -fqus ( â¦?,?,?⦠â* â¦?,?,?⦠) | -fqus_alt fqus_fqus | -
- - |
-
- - |
- ||||||
- - |
-
- - |
- fqup ( â¦?,?,?⦠â+ â¦?,?,?⦠) | -fqup_fqup | -
- - |
-
- - |
- ||||||
- - |
- iterated local env. slicing | -ldrops ( â©*[?,?] ? â¡ ? ) | -ldrops_ldrop ldrops_ldrops | -
- - |
-
- - |
- ||||||
- - |
- generic term relocation | -lifts_vector ( â§*[?] ? â¡ ? ) | -lifts_lift_vector | -
- - |
-
- - |
- ||||||
- - |
-
- - |
- lifts ( â§*[?] ? â¡ ? ) | -lifts_lift lifts_lifts | -
- - |
-
- - |
- ||||||
- - |
- support for generic relocation | -gr2 ( @â¦?,?⦠⡠? ) | -gr2_plus ( ? + ? ) | -gr2_minus ( ? â ? â¡ ? ) | -gr2_gr2 | -||||||
relocation | -structural successor for closures | -fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) | -fquq_alt ( â¦?,?,?⦠ââ⸮ â¦?,?,?⦠) | -
- - |
-
- - |
- ||||||
- - |
-
- - |
- fqu ( â¦?,?,?⦠â â¦?,?,?⦠) | -
- - |
-
- - |
-
- - |
- ||||||
- - |
- global env. slicing | -gget ( â©[?] ? â¡ ? ) | -gget_gget | -
- - |
-
- - |
- ||||||
- - |
- contxt-sensitive extended ordinary substitution | -cpy ( â¦?,?⦠⢠? â¶[?,?] ? ) | -cpy_lift cpy_nlift cpy_cpy | -
- - |
-
- - |
- ||||||
- - |
- local env. ref. for extended substitution | -lsuby ( ? âÃ[?,?] ? ) | -lsuby_lsuby | -
- - |
-
- - |
- ||||||
- - |
- pointwise extension of a relation | -lpx_sn | -lpx_sn_alt lpx_sn_tc lpx_sn_ldrop lpx_sn_lpx_sn | -
- - |
-
- - |
- ||||||
- - |
- basic local env. slicing | -ldrop ( â©[?,?,?] ? â¡ ? ) | -ldrop_leq ldrop_ldrop | -
- - |
-
- - |
- ||||||
- - |
- basic term relocation | -lift_vector ( â§[?,?] ? â¡ ? ) | -lift_lift_vector | -
- - |
-
- - |
- ||||||
- - |
-
- - |
- lift ( â§[?,?] ? â¡ ? ) | -lift_neq lift_lift | -
- - |
-
- - |
- ||||||
grammar | -equivalence for local environments | -leq ( ? â[?,?] ? ) | -leq_leq | -
- - |
-
- - |
- ||||||
- - |
- same top term constructor | -tstc ( ? â ? ) | -tstc_tstc tstc_vector | -
- - |
-
- - |
- ||||||
- - |
- closures | -cl_weight ( â¯{?,?,?} ) | -cl_restricted_weight ( â¯{?,?} ) | -
- - |
-
- - |
- ||||||
- - |
- internal syntax | -genv | -
- - |
-
- - |
-
- - |
- ||||||
- - |
-
- - |
- lenv | -lenv_weight ( â¯{?} ) | -lenv_length ( |?| ) | -lenv_append ( ? @@ ? ) | -||||||
- - |
-
- - |
- term | -term_weight ( â¯{?} ) | -term_simple ( ðâ¦?⦠) | -term_vector | -||||||
- - |
-
- - |
- item | -
- - |
-
- - |
-
- - |
- ||||||
- - |
- external syntax | -aarity | -
- - |
-
- - |
- + |
|
Physical Structure of the Specification
- The source files are grouped in directories,
- one for each component.
-
-
+
![lambdadelta rainbow rule [Spacer]](http://lambdadelta.info/images/rainbow.png)
@@ -1267,6 +687,6 @@
-
Last update: Sun, 25 May 2014 22:06:53 +0200
-