+
+
+ +
+
+
+
+
+
+ + home + | ++ news + | ++ specification + | +
+ + |
+
+ + |
+ + documentation + | ++ implementation + | +
+ + |
+
+ foreword + | ++ milestones + | ++ version 2 + | +(background - core - applications) | +
+ + |
+ + version 2 + | ++ helena + | ++ Open Symbolic Notation (OSN) + | +
+ citations + | ++ visibility + | ++ version 1 + | +(background - core) | +(static HELM directory) | ++ version 1 + | ++ library + | +(static LDDL directory) | +
Summary of the Specification
+
+ 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 | +177 | +characters | +181483 | +nodes | +952913 |
propositions | -theorems | -119 | -lemmas | -1270 | -total | -1389 | +propositions | +theorems | +49 | +lemmas | +633 | +total | +682 |
concepts | -declared | -54 | -defined | -81 | -total | -135 | +concepts | +declared | +24 | +defined | +42 | +total | +66 |
-
+
- - In progress. + Ongoing. Context-sensitive subject equivalence for native type assignment.
- + 2017 January 17. + Confluence for parallel r-transition on referred entries of local environments. + +
- + 2016 September 15. + Confluence for context-sensitive parallel r-transition on terms. + +
- + 2016 April 16. + Grammatical component reconstructed: + grammar, relocation, s_transition, s_computation, static + (anniversary milestone). + +
- + 2016 March 25. + Relocation with reference transforming maps (rtmap). + +
- + 2015 October 9. + λδ version 2A2 is started. + +
- + 2015 August 27. + λδ version 2A1 appears too complex and is dismissed. + +
- - In progress. - Closure of native validity - for context-sensitive extended computation. + 2014 October 28. + λδ version 2A1 is released.
- - 2014 April 16. - lazy equivalence on local environments - serves as irrelevant step in "big tree" computation + 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
+
+ This table reports the specification's components and their planes.
-
+
-
-
component | -plane | -files | -+ | 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 | -+ | rt-transition | +t-bound context-sensitive rt-transition | +lfpr ( â¦?,?⦠⢠â¡[?,?] ? ) | +lfpr_length lfpr_drops lfpr_fqup lfpr_frees lfpr_aaa lfpr_lfpx lfpr_lfpr | +
|
- + |
|
+ |
|
- stratified native validity | -snv ( �,?⦠⢠? ¡[?,?] ) | -snv_lift snv_da_lpr snv_aaa snv_lsstas snv_lsstas_lpr snv_lpr snv_cpcs | -+ |
|
- + | cpr ( â¦?,?⦠⢠? â¡[?] ? ) | +cpr_drops | +
|
- |
equivalence | -decomposed extended equivalence | -cpes ( â¦?,?⦠⢠? â¢*â¬*[?,?] ? ) | -cpes_cpds | -
- - |
- + |
|
|||||
- - |
- context-sensitive equivalence | -cpcs ( â¦?,?⦠⢠? â¬* ? ) | -cpcs_aaa cpcs_cprs cpcs_cpcs | -+ |
|
- + |
|
- ||||
conversion | -context-sensitive conversion | -cpc ( â¦?,?⦠⢠? ⬠? ) | -cpc_cpc | -+ | cpm ( â¦?,?⦠⢠? â¡[?,?] ? ) | +cpm_simple cpm_drops cpm_lsubr cpm_cpx | +
|
- + |
|
||
computation | -evaluation for context-sensitive extended reduction | -cpxe ( â¦?,?⦠⢠â¡*[?,?] ðâ¦?⦠) | -+ |
|
- + | uncounted context-sensitive rt-transition | +lfpx ( â¦?,?⦠⢠â¬[?,?] ? ) | +lfpx_length lfpx_drops lfpx_fqup lfpx_frees lfpx_aaa | +
|
- + |
|
- - |
- evaluation for context-sensitive reduction | -cpre ( â¦?,?⦠⢠â¡* ðâ¦?⦠) | -cpre_cpre | -+ |
|
- + |
|
- ||||
+ | cpx ( â¦?,?⦠⢠? â¬[?] ? ) | +cpx_simple cpx_drops cpx_lsubr | +
|
- strongly normalizing "big tree" computation | -fsb ( �,?⦠⢠⦥[?,?] ? ) | -fsb_alt ( �,?⦠⢠⦥⦥[?,?] ? ) | -fsb_aaa fsb_csx | -+ |
|
||
+ |
|
- strongly normalizing extended computation | -lcosx ( ? ⢠~â¬*[?,?,?] ? ) | -lcosx_cpx | -+ | counted context-sensitive rt-transition | +cpg ( â¦?,?⦠⢠? â¬[?,?] ? ) | +cpg_simple cpg_drops cpg_lsubr | +
|
- + |
|
+ | 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 atomic arity assignment | +lsuba ( ? ⢠? â«â ? ) | +lsuba_drops lsuba_lsubr lsuba_aaa lsuba_lsuba | +
|
- + |
|
+ |
|
- + | atomic arity assignment | +aaa ( â¦?,?⦠⢠? â ? ) | +aaa_drops aaa_fqus aaa_lfeq aaa_aaa | +
|
- csx ( â¦?,?⦠⢠â¬*[?,?] ? ) | -csx_alt ( â¦?,?⦠⢠â¬â¬*[?,?] ? ) | -csx_lift csx_lleq csx_lpx csx_lpxs csx_fpbs | -+ |
|
+ |
|
- "big tree" parallel computation | -fpbg ( â¦?,?,?⦠>â[?,?] â¦?,?,?⦠) | -fpbg_lift fpbg_fleq fpbg_fpbg | -+ | equivalence for closures on referred entries | +ffeq ( â¦?,?,?⦠⡠â¦?,?,?⦠) | +ffeq_freq | +
|
- + |
|
- - |
- + |
|
- fpbc ( â¦?,?,?⦠â»â[?,?] â¦?,?,?⦠) | -fpbc_fleq fpbc_fpbs | -+ | equivalence for local environments on referred entries | +lfeq ( ? â¡[?] ? ) | +lfeq_length lfeq_lreq lfeq_fqup lfeq_lfeq | +
|
- + |
|
+ |
|
- + | generic extension on referred entries | +lfxs ( ? ⦻*[?,?] ? ) | +lfxs_length lfxs_drops lfxs_fqup lfxs_lfxs | +
|
- fpbu ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) | -fpbu_lift fpbu_lleq | -fpbu_fleq | -+ |
|
+ |
|
- + | restricted ref. for context-sensitive free variables | +lsubf ( â¦?,?⦠â«ð * â¦?,?⦠) | +lsubf_frees | +
|
- fpbs ( â¦?,?,?⦠â¥[?,?] â¦?,?,?⦠) | -fpbs_alt ( â¦?,?,?⦠â¥â¥[?,?] â¦?,?,?⦠) | -fpbs_lift fpbs_fleq fpbs_aaa fpbs_fpbs fpbs_ext | -+ |
|
+ |
|
- decomposed extended computation | -cpds ( â¦?,?⦠⢠? â¢*â¡*[?,?] ? ) | -cpds_lift cpds_aaa cpds_cpds | -+ | context-sensitive free variables | +frees ( ? ⢠ð *â¦?⦠⡠? ) | +frees_weight frees_lreq frees_drops frees_fqup frees_frees | +
|
- + |
|
+ |
|
- context-sensitive extended computation | -lpxs ( â¦?,?⦠⢠â¡*[?,?] ? ) | -lpxs_ldrop lpxs_lleq lpxs_aaa lpxs_cpxs lpxs_lpxs | -+ | restricted ref. for local env. | +lsubr ( ? â« ? ) | +lsubr_length lsubr_drops lsubr_lsubr | +
|
- + |
|
+ | s-computation | +iterated structural successor for closures | +fqus ( â¦?,?,?⦠â* â¦?,?,?⦠) | +fqus_weight fqus_drops fqus_fqup fqus_fqus | +
|
-
- - |
- cpxs ( â¦?,?⦠⢠? â¡*[?,?] ? ) | -cpxs_tstc cpxs_tstc_vector cpxs_leq cpxs_lift cpxs_lleq cpxs_aaa cpxs_cpxs | -
- - |
- + |
|
+ |
|
- context-sensitive computation | -lprs ( â¦?,?⦠⢠â¡* ? ) | -lprs_ldrop lprs_cprs lprs_lprs | -+ |
|
- + | fqup ( â¦?,?,?⦠â+ â¦?,?,?⦠) | +fqup_weight fqup_drops fqup_fqup | +
|
- |
- - |
-
- - |
- cprs ( â¦?,?⦠⢠? â¡* ?) | -cprs_lift cprs_cprs | -
- - |
- + |
|
|||||
- - |
- local env. ref. for abstract candidates of reducibility | -lsubc ( ? ⢠? â«[?] ? ) | -lsubc_ldrop lsubc_ldrops lsubc_lsuba | -+ | s-transition | +structural successor for closures | +fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) | +fquq_length fquq_weight | +
|
- + |
|
+ |
|
- support for abstract computation properties | -acp | -acp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) | -acp_aaa | -+ |
|
- ||||
reduction | -"big tree" parallel reduction | -fpb ( â¦?,?,?⦠â½[?,?] â¦?,?,?⦠) | -fpb_lift fpb_aaa | -+ | fqu ( â¦?,?,?⦠â â¦?,?,?⦠) | +fqu_length fqu_weight | +
|
- + |
|
||
+ | relocation | +generic slicing for local environments | +drops_vector ( â¬*[?,?] ? â¡ ? ) ( â¬*[?] ? â¡ ? ) | +
|
- normal forms for context-sensitive extended reduction | -cnx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cnx_lift cnx_crx cnx_cix | -+ |
|
- + |
|
+ |
|
- context-sensitive extended reduction | -lpx ( â¦?,?⦠⢠â¡[?,?] ? ) | -lpx_ldrop lpx_lleq lpx_aaa | -+ |
|
- + | drops ( â¬*[?,?] ? â¡ ? ) ( â¬*[?] ? â¡ ? ) | +drops_lstar drops_weight drops_length drops_ceq drops_lexs drops_lreq drops_drops | +
|
- |
- - |
-
- - |
- cpx ( â¦?,?⦠⢠? â¡[?,?] ? ) | -cpx_leq cpx_lift cpx_llpx_sn cpx_lleq cpx_cix | -
- - |
- + |
|
|||||
+ |
|
- irreducible forms for context-sensitive extended reduction | -cix ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cix_lift | -+ | generic relocation for terms | +lifts_vector ( â¬*[?] ? â¡ ? ) | +lifts_lifts_vector | +
|
- + |
|
- - |
- reducible forms for context-sensitive extended reduction | -crx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -crx_lift | -
- - |
- + |
|
- |||||
+ |
|
- normal forms for context-sensitive reduction | -cnr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cnr_lift cnr_crr cnr_cir | -+ | lifts ( â¬*[?] ? â¡ ? ) | +lifts_simple lifts_weight lifts_lifts | +
|
- + |
|
|
+ |
|
- context-sensitive reduction | -lpr ( â¦?,?⦠⢠⡠? ) | -lpr_ldrop lpr_lpr | -+ | ranged equivalence for local environments | +lreq ( ? â¡[?] ? ) | +lreq_length lreq_lreq | +
|
- + |
|
- - |
- + |
|
- cpr ( �,?⦠⢠? ⡠? ) | -cpr_lift cpr_llpx_sn cpr_cir | -+ | generic entrywise extension | +lexs ( ? ⦻*[?,?,?] ? ) | +lexs_length lexs_lexs | +
|
- + |
|
- - |
- irreducible forms for context-sensitive reduction | -cir ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cir_lift | -+ | grammar | +append for local environments | +append ( ? @@ ? ) | +append_length | +
|
- + |
|
+ |
|
- reducible forms for context-sensitive reduction | -crr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -crr_lift | -+ | context-sensitive equivalences for terms | +ceq | +ceq_ceq | +
|
- + |
|
unfold | -unfold | -unfold ( �,?⦠⢠? ⧫* ? ) | -+ |
|
- + | same top term structure | +tsts ( ? â ? ) | +tsts_tsts tsts_vector | +
|
- + |
|
+ |
|
- iterated static type assignment | -lsstas ( â¦?,?⦠⢠? â¢*[?,?,?] ? ) | -lsstas_alt ( â¦?,?⦠⢠? â¢â¢*[?,?,?] ? ) | -lsstas_lift lsstas_aaa lsstas_lsstas | -+ | closures | +cl_weight ( â¯{?,?,?} ) | +cl_restricted_weight ( â¯{?,?} ) | +
|
- |
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 | -+ | internal syntax | +genv | +
|
- + |
|
- |
- - |
- stratified static type assignment | -ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) | -ssta_lift ssta_lpx_sn ssta_ssta | -
- - |
- + |
|
|||||
+ |
|
- local env. ref. for degree assignment | -lsubd ( ? ⢠? âªâ« ? ) | -lsubd_da lsubd_lsubd | -+ |
|
- + | lenv | +lenv_weight ( â¯{?} ) | +lenv_length ( |?| ) | +
|
- - |
- degree assignment | -da ( â¦?,?⦠⢠? âª[?,?] ? ) | -da_lift da_da | -+ |
|
- + |
|
+ term | +term_weight ( â¯{?} ) | +term_simple ( ðâ¦?⦠) | +term_vector ( â¶?.? ) |
+ |
|
- parameters | -sh | -sd | -+ |
|
- + | item | +
|
- ||
+ |
|
- restricted local env. ref. | -lsubr ( ? â« ? ) | -lsubr_lsubr | -
- - |
- + |
|
||||
substitution | -lazy equivalence | -fleq ( â¦?,?,?⦠â[?] â¦?,?,?⦠) | -fleq_fleq | -+ |
|
- + | external syntax | +aarity | +
|
- ||
- - |
- + |
|
- 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.
-
-
-
+
@@ -1267,6 +883,6 @@
-
+
@@ -1267,6 +883,6 @@
Last update: Sun, 25 May 2014 22:06:53 +0200
-
+ Last update: Sat, 21 Jan 2017 15:35:26 +0100
+