+
+
+ +
+
+
+
+
+
+ + 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 | +221 | +characters | +212835 | +nodes | +1046738 |
propositions | -theorems | -119 | -lemmas | -1270 | -total | -1389 | +propositions | +theorems | +49 | +lemmas | +693 | +total | +742 |
concepts | -declared | -54 | -defined | -81 | -total | -135 | +concepts | +declared | +29 | +defined | +62 | +total | +91 |
-
+
- - In progress. + Ongoing. Context-sensitive subject equivalence for native type assignment.
- - In progress. - Closure of native validity - for context-sensitive extended computation. + 2017 February 19. + Generic candidates of reducibility.
- - 2014 April 16. - lazy equivalence on local environments - serves as irrelevant step in "big tree" computation + 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. + +
- - 2014 January 20. - Parametrized slicing for local environments + 2015 August 27. + λδ version 2A1 appears too complex and is dismissed. + +
- + 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 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. - Support for abstract candidates of reducibility. + 2012 January 27. + Generic 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 | -
- - |
-
- - |
-
- - |
- ||||
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 | -
- - |
- ||||
- - |
- strongly normalizing extended computation | -lcosx ( ? ⢠~â¬*[?,?,?] ? ) | -lcosx_cpx | -
- - |
-
- - |
- ||||
- - |
-
- - |
- lsx ( ? ⢠â¬*[?,?,?,?] ? ) | -lsx_alt ( ? ⢠â¬â¬*[?,?,?,?] ? ) | -lsx_ldrop lsx_lpx lsx_lpxs llsx_csx | -
- - |
- ||||
- - |
-
- - |
- csx_vector ( â¦?,?⦠⢠â¬*[?,?] ? ) | -csx_tstc_vector csx_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 | -
- - |
-
- - |
- ||||
- - |
-
- - |
- fpbc ( â¦?,?,?⦠â»â[?,?] â¦?,?,?⦠) | -fpbc_fleq fpbc_fpbs | -
- - |
-
- - |
- ||||
- - |
-
- - |
- fpbu ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) | -fpbu_lift fpbu_lleq | -fpbu_fleq | -
- - |
- ||||
- - |
-
- - |
- fpbs ( â¦?,?,?⦠â¥[?,?] â¦?,?,?⦠) | -fpbs_alt ( â¦?,?,?⦠â¥â¥[?,?] â¦?,?,?⦠) | -fpbs_lift fpbs_fleq fpbs_aaa fpbs_fpbs fpbs_ext | -
- - |
- ||||
- - |
- decomposed extended computation | -cpds ( â¦?,?⦠⢠? â¢*â¡*[?,?] ? ) | -cpds_lift cpds_aaa cpds_cpds | -
- - |
- + | component | +plane | +files | +
|
- - |
- context-sensitive extended computation | -lpxs ( â¦?,?⦠⢠â¡*[?,?] ? ) | -lpxs_ldrop lpxs_lleq lpxs_aaa lpxs_cpxs lpxs_lpxs | -
- - |
- + | rt-computation | +uncounted context-sensitive rt-transition | +cpxs ( â¦?,?⦠⢠? â¬*[?] ? ) | +
|
- - |
-
- - |
- cpxs ( â¦?,?⦠⢠? â¡*[?,?] ? ) | -cpxs_tstc cpxs_tstc_vector cpxs_leq cpxs_lift cpxs_lleq cpxs_aaa cpxs_cpxs | -
- - |
- + | rt-transition | +parallel qrst-rtransition | +fpb ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) | +
|
- - |
- context-sensitive computation | -lprs ( â¦?,?⦠⢠â¡* ? ) | -lprs_ldrop lprs_cprs lprs_lprs | -
- - |
- + |
|
+ t-bound context-sensitive rt-transition | +lfpr ( â¦?,?⦠⢠â¡[?,?] ? ) | +lfpr_length lfpr_drops lfpr_fqup lfpr_frees lfpr_aaa lfpr_lfpx lfpr_lfpr |
- - |
- + |
|
- cprs ( â¦?,?⦠⢠? â¡* ?) | -cprs_lift cprs_cprs | -
- - |
- + |
|
+ cpr ( â¦?,?⦠⢠? â¡[?] ? ) | +cpr_drops |
+ |
|
- local env. ref. for abstract candidates of reducibility | -lsubc ( ? ⢠? â«[?] ? ) | -lsubc_ldrop lsubc_ldrops lsubc_lsuba | -
- - |
- + |
|
+ cpm ( â¦?,?⦠⢠? â¡[?,?] ? ) | +cpm_simple cpm_drops cpm_lsubr cpm_lfxs cpm_cpx |
- - |
- support for abstract computation properties | -acp | -acp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) | -acp_aaa | -+ |
|
+ uncounted context-sensitive rt-transition | +cnx ( â¦?,?⦠⢠â¬[?,?] ðâ¦?⦠) | +cnx_simple cnx_drops |
reduction | -"big tree" parallel reduction | -fpb ( â¦?,?,?⦠â½[?,?] â¦?,?,?⦠) | -fpb_lift fpb_aaa | -+ |
|
- + |
|
+ lfpx ( â¦?,?⦠⢠â¬[?,?] ? ) | +lfpx_length lfpx_drops lfpx_fqup lfpx_frees lfpx_aaa |
+ |
|
- normal forms for context-sensitive extended reduction | -cnx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cnx_lift cnx_crx cnx_cix | -
- - |
- + |
|
+ cpx ( â¦?,?⦠⢠? â¬[?] ? ) | +cpx_simple cpx_drops cpx_fqus cpx_lsubr cpx_lfxs cpx_lfdeq |
- - |
- context-sensitive extended reduction | -lpx ( â¦?,?⦠⢠â¡[?,?] ? ) | -lpx_ldrop lpx_lleq lpx_aaa | -
- - |
- + |
|
+ counted context-sensitive rt-transition | +cpg ( â¦?,?⦠⢠? â¬[?,?] ? ) | +cpg_simple cpg_drops cpg_lsubr |
- - |
-
- - |
- cpx ( â¦?,?⦠⢠? â¡[?,?] ? ) | -cpx_leq cpx_lift cpx_llpx_sn cpx_lleq cpx_cix | -
- - |
-
- - |
+ static typing | +generic reducibility | +lsubc ( ? ⢠? â«[?] ? ) | +lsubc_drop lsubc_drops lsubc_lsubr lsubc_lsuba |
- - |
- irreducible forms for context-sensitive extended reduction | -cix ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -cix_lift | -+ |
|
- + |
|
+ gcp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) | +gcp_aaa |
+ |
|
- reducible forms for context-sensitive extended reduction | -crx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) | -crx_lift | -+ |
|
- + | gcp | +
|
- - |
- normal forms for context-sensitive reduction | -cnr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cnr_lift cnr_crr cnr_cir | -
- - |
- + |
|
+ atomic arity assignment | +lsuba ( ? ⢠? â«â ? ) | +lsuba_drops lsuba_lsubr lsuba_aaa lsuba_lsuba |
- - |
- context-sensitive reduction | -lpr ( �,?⦠⢠⡠? ) | -lpr_ldrop lpr_lpr | -+ |
|
- + |
|
+ aaa ( â¦?,?⦠⢠? â ? ) | +aaa_drops aaa_fqus aaa_lfdeq aaa_aaa |
- - |
-
- - |
- cpr ( �,?⦠⢠? ⡠? ) | -cpr_lift cpr_llpx_sn cpr_cir | -
- - |
- + |
|
+ degree-based equivalence on referred entries | +ffdeq ( â¦?,?,?⦠â¡[?,?] â¦?,?,?⦠) | +ffdeq_fqup ffdeq_ffdeq |
+ |
|
- irreducible forms for context-sensitive reduction | -cir ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -cir_lift | -
- - |
- + |
|
+ lfdeq ( ? â¡[?,?,?] ? ) | +lfdeq_length lfdeq_fqup lfdeq_lfdeq |
- - |
- reducible forms for context-sensitive reduction | -crr ( â¦?,?⦠⢠⡠ðâ¦?⦠) | -crr_lift | -
- - |
- + |
|
+ generic extension on referred entries | +lfxs ( ? ⦻*[?,?] ? ) | +lfxs_length lfxs_drops lfxs_fqup lfxs_lfxs |
unfold | -unfold | -unfold ( �,?⦠⢠? ⧫* ? ) | -
- - |
-
- - |
- + |
|
+ context-sensitive free variables | +lsubf ( â¦?,?⦠â«ð * â¦?,?⦠) | +lsubf_frees |
+ |
|
- iterated static type assignment | -lsstas ( â¦?,?⦠⢠? â¢*[?,?,?] ? ) | -lsstas_alt ( â¦?,?⦠⢠? â¢â¢*[?,?,?] ? ) | -lsstas_lift lsstas_aaa lsstas_lsstas | -+ |
|
+ frees ( ? ⢠ð *â¦?⦠⡠? ) | +frees_weight frees_drops frees_fqup frees_frees |
static typing | -local env. ref. for atomic arity assignment | -lsuba ( ? ⢠? ââ« ? ) | -lsuba_ldrop lsuba_aaa lsuba_lsuba | -
- - |
- + |
|
+ restricted ref. for local env. | +lsubr ( ? â« ? ) | +lsubr_length lsubr_drops lsubr_lsubr |
- - |
- atomic arity assignment | -aaa ( â¦?,?⦠⢠? â ? ) | -aaa_lift aaa_lifts aaa_fqus aaa_lleq aaa_da aaa_ssta aaa_aaa | -
- - |
-
- - |
+ s-computation | +iterated structural successor for closures | +fqus ( â¦?,?,?⦠â* â¦?,?,?⦠) | +fqus_weight fqus_drops fqus_fqup fqus_fqus |
- - |
- stratified static type assignment | -ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) | -ssta_lift ssta_lpx_sn ssta_ssta | -+ |
|
- + |
|
+ fqup ( â¦?,?,?⦠â+ â¦?,?,?⦠) | +fqup_weight fqup_drops fqup_fqup |
- - |
- local env. ref. for degree assignment | -lsubd ( ? ⢠? âªâ« ? ) | -lsubd_da lsubd_lsubd | -
- - |
-
- - |
+ s-transition | +structural successor for closures | +fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) | +fquq_length fquq_weight |
+ |
|
- degree assignment | -da ( â¦?,?⦠⢠? âª[?,?] ? ) | -da_lift da_da | -
- - |
- + |
|
+ fqu ( â¦?,?,?⦠â â¦?,?,?⦠) | +fqu_length fqu_weight |
- - |
- parameters | -sh | -sd | -
- - |
- + | relocation | +generic slicing for local environments | +drops_vector ( â¬*[?,?] ? â¡ ? ) ( â¬*[?] ? â¡ ? ) | +
|
+ |
|
- restricted local env. ref. | -lsubr ( ? â« ? ) | -lsubr_lsubr | -
- - |
- + |
|
+ drops ( â¬*[?,?] ? â¡ ? ) ( â¬*[?] ? â¡ ? ) | +drops_lstar drops_weight drops_length drops_ceq drops_lexs drops_lreq drops_drops |
substitution | -lazy equivalence | -fleq ( â¦?,?,?⦠â[?] â¦?,?,?⦠) | -fleq_fleq | -
- - |
- + |
|
+ generic relocation for terms | +lifts_vector ( â¬*[?] ? â¡ ? ) | +lifts_lifts_vector |
- - |
- + |
|
- lleq ( ? â[?,?] ? ) | -lleq_alt lleq_alt_rec lleq_leq lleq_ldrop lleq_fqus lleq_lleq | -
- - |
- + |
|
+ lifts ( â¬*[?] ? â¡ ? ) | +lifts_simple lifts_weight lifts_tdeq lifts_lifts |
- - |
- 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 | -
- - |
- + |
|
+ ranged equivalence for local environments | +lreq ( ? â¡[?] ? ) | +lreq_length lreq_lreq |
- - |
- 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 | -
- - |
- + |
|
+ generic entrywise extension | +lexs ( ? ⦻*[?,?,?] ? ) | +lexs_length lexs_lexs |
- - |
-
- - |
- lifts ( â§*[?] ? â¡ ? ) | -lifts_lift lifts_lifts | -
- - |
-
- - |
+ syntax | +append for local environments | +append ( ? @@ ? ) | +append_length |
+ |
|
- support for generic relocation | -gr2 ( @â¦?,?⦠⡠? ) | -gr2_plus ( ? + ? ) | -gr2_minus ( ? â ? â¡ ? ) | -gr2_gr2 | +degree-based equivalence for terms | +deq ( ? â¡[?,?] ? ) | +deq_deq |
relocation | -structural successor for closures | -fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) | -fquq_alt ( â¦?,?,?⦠ââ⸮ â¦?,?,?⦠) | -
- - |
- + |
|
+ same top term structure | +tsts ( ? â ? ) | +tsts_tsts tsts_vector |
+ |
|
-
- - |
- fqu ( â¦?,?,?⦠â â¦?,?,?⦠) | -
- - |
-
- - |
- + | closures | +cl_weight ( â¯{?,?,?} ) | +
|
+ |
|
- global env. slicing | -gget ( â©[?] ? â¡ ? ) | -gget_gget | -+ |
|
- + | cl_restricted_weight ( â¯{?,?} ) | +
|
- - |
- contxt-sensitive extended ordinary substitution | -cpy ( â¦?,?⦠⢠? â¶[?,?] ? ) | -cpy_lift cpy_nlift cpy_cpy | -+ |
|
- + | global environments | +genv | +
|
- - |
- local env. ref. for extended substitution | -lsuby ( ? âÃ[?,?] ? ) | -lsuby_lsuby | -+ |
|
- + | local environments | +lenv_length ( |?| ) | +
|
+ |
|
- pointwise extension of a relation | -lpx_sn | -lpx_sn_alt lpx_sn_tc lpx_sn_ldrop lpx_sn_lpx_sn | -+ |
|
- + | lenv_weight ( â¯{?} ) | +
|
+ |
|
- basic local env. slicing | -ldrop ( â©[?,?,?] ? â¡ ? ) | -ldrop_leq ldrop_ldrop | -+ |
|
- + | lenv | +
|
+ |
|
- basic term relocation | -lift_vector ( â§[?,?] ? â¡ ? ) | -lift_lift_vector | -
- - |
- + | terms | +term_vector ( �.? ) | +
|
- - |
-
- - |
- lift ( â§[?,?] ? â¡ ? ) | -lift_neq lift_lift | -+ |
|
-
- - |
- |||
grammar | -equivalence for local environments | -leq ( ? â[?,?] ? ) | -leq_leq | -+ |
|
- + | term_simple ( ðâ¦?⦠) | +
|
|
+ |
|
- same top term constructor | -tstc ( ? â ? ) | -tstc_tstc tstc_vector | -+ |
|
- + | term_weight ( â¯{?} ) | +
|
+ |
|
- closures | -cl_weight ( â¯{?,?,?} ) | -cl_restricted_weight ( â¯{?,?} ) | -+ |
|
- + | term | +
|
+ |
|
- internal syntax | -genv | -
- - |
-
- - |
- + | items | +item_sd | +
|
+ |
|
- + |
|
- lenv | -lenv_weight ( â¯{?} ) | -lenv_length ( |?| ) | -lenv_append ( ? @@ ? ) | -||
+ | item_sh | +
|
-
- - |
- term | -term_weight ( â¯{?} ) | -term_simple ( ðâ¦?⦠) | -term_vector | ||
- - |
-
- - |
- item | -+ |
|
- + |
|
- + | item | +
|
+ |
|
- external syntax | -aarity | -
- - |
-
- - |
- + | atomic arities | +aarity | +
|
Physical Structure of the Specification
- The source files are grouped in directories,
- one for each component.
-
-
-
+
@@ -1267,6 +837,6 @@
-
+
@@ -1267,6 +837,6 @@
Last update: Sun, 25 May 2014 22:06:53 +0200
-
+ Last update: Sun, 19 Feb 2017 19:57:19 +0100
+