@@ -269,7 +301,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).
@@ -286,387 +318,309 @@
|
-
-
- |
|
- dynamic typing |
- "big tree" parallel computation |
- yprs ( ? ⢠â¦?,?⦠â¥[g] â¦?,?⦠) |
- yprs_yprs |
- ygt ( ? ⢠�,?⦠>[g] �,?⦠) |
- ygt_ygt |
-
-
- |
-
-
-
-
- |
- "big tree" parallel reduction |
- ypr ( ? ⢠â¦?,?⦠â½[g] â¦?,?⦠) |
- ysc ( ? ⢠â¦?,?⦠â»[g] â¦?,?⦠) |
-
-
- |
-
+ | dynamic typing |
+ local env. ref. for stratified native validity |
+ lsubsv ( ? ⢠? ¡â[?,?] ? ) |
+ lsubsv_ldrop lsubsv_lsubd lsubsv_lsuba lsubsv_lsstas lsubsv_cpds lsubsv_cpcs lsubsv_snv |
+
|
-
+ |
|
-
-
- |
- 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_da_lpr snv_aaa snv_lsstas snv_lsstas_lpr snv_lpr snv_cpcs |
+
|
-
+ |
|
-
-
- |
- 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 |
+
|
-
+ |
|
-
-
- |
-
-
- |
- fpcs ( â¦?,?⦠â¬* â¦?,?⦠) |
- fpcs_aaa fpcs_cpcs fpcs_fprs fpcs_fpcs |
-
-
- |
-
+ | conversion |
+ context-sensitive conversion |
+ cpc ( �,?⦠⢠? ⬠? ) |
+ cpc_cpc |
+
|
-
+ |
|
-
-
- |
- local env. ref. for stratified static type assignment |
- lsubss ( ? â¢â[?] ? ) |
- lsubss_ldrop lsubss_ssta lsubss_cpcs |
-
+ | computation |
+ evaluation for context-sensitive extended reduction |
+ cpxe ( â¦?,?⦠⢠â¡*[?,?] ðâ¦?⦠) |
+
|
-
+ |
|
-
+ |
|
-
-
- |
- context-sensitive equivalence |
- cpcs ( ? ⢠? â¬* ? ) |
- cpcs_ltpss_dx cpcs_ltpss_sn cpcs_delift cpcs_aaa cpcs_ltpr cpcs_cprs cpcs_cpcs |
-
+ |
|
-
+ | evaluation for context-sensitive reduction |
+ cpre ( â¦?,?⦠⢠â¡* ðâ¦?⦠) |
+ cpre_cpre |
+
|
-
+ |
|
- conversion |
- focalized conversion |
- lfpc ( �⦠⬠�⦠) |
- lfpc_lfpc |
-
-
- |
-
+ |
|
-
+ | strongly normalizing "big tree" computation |
+ fsb ( �,?⦠⢠⦥[?,?] ? ) |
+ fsb_alt ( �,?⦠⢠⦥⦥[?,?] ? ) |
+ fsb_aaa fsb_csx |
+
|
-
-
- |
-
-
- |
- fpc ( �,?⦠⬠�,?⦠) |
- fpc_fpc |
-
+ |
|
-
+ | strongly normalizing extended computation |
+ lsx ( ? ⢠â¬*[?,?,?] ? ) |
+ lsx_cpxs lsx_csx |
+
|
-
+ |
|
-
+ |
|
- context-sensitive conversion |
- cpc ( ? ⢠? ⬠? ) |
- cpc_cpc |
-
+ |
|
-
+ | csx_vector ( â¦?,?⦠⢠â¬*[?,?] ? ) |
+ csx_tstc_vector csx_aaa |
+
|
-
+ |
|
- computation |
- focalized computation |
- lfprs ( â¦?⦠â¡* â¦?⦠) |
- lfprs_aaa lfprs_ltprs lfprs_cprs lfprs_fprs lfprs_lfprs |
-
+ |
|
-
+ |
|
-
+ | csx ( â¦?,?⦠⢠â¬*[?,?] ? ) |
+ csx_alt ( â¦?,?⦠⢠â¬â¬*[?,?] ? ) |
+ csx_lift csx_lpx csx_fpbs |
+
|
-
-
- |
-
-
- |
- fprs ( â¦?,?⦠â¡* â¦?,?⦠) |
- fprs_aaa fprs_fprs |
-
+ |
|
-
+ | "big tree" parallel computation |
+ fpbg ( â¦?,?,?⦠>â[?,?] â¦?,?,?⦠) |
+ fpbg_lift fpbg_fpns fpbg_fpbg |
+
|
-
+ |
|
-
+ |
|
- decomposed extended computation |
- dxprs ( â¦?,?⦠⢠? â¢*â¡*[?] ? ) |
- dxprs_lift dxprs_ltpss_dx dxprs_ltpss_sn dxprs_aaa dxprs_dxprs |
-
+ |
|
-
+ | fpbc ( â¦?,?,?⦠â»â[?,?] â¦?,?,?⦠) |
+ fpbc_fpns fpbc_fpbs |
+
|
-
+ |
|
-
+ |
|
- weakly normalizing computation |
- cpe ( ? ⢠â¡* ðâ¦?⦠) |
- cpe_cpe |
-
+ |
|
-
+ | fpbu ( â¦?,?,?⦠â»[?,?] â¦?,?,?⦠) |
+ fpbu_lift fpbu_fpns |
+
|
-
+ |
|
-
-
- |
- strongly normalizing computation |
- csn_vector ( ? ⢠â¬* ? ) |
- csn_cpr_vector csn_tstc_vector csn_aaa |
-
+ |
|
-
+ |
|
-
+ | fpbs ( â¦?,?,?⦠â¥[?,?] â¦?,?,?⦠) |
+ fpbs_alt ( â¦?,?,?⦠â¥â¥[?,?] â¦?,?,?⦠) |
+ fpbs_lift fpbs_aaa fpbs_fpns fpbs_fpbs |
+
|
-
-
- |
-
+ |
|
- csn ( ? ⢠â¬* ? ) |
- csn_alt ( ? ⢠â¬â¬* ? ) |
- csn_lift csn_cpr csn_lfpr |
-
+ | parallel computation for "big tree" normal forms |
+ fpns ( â¦?,?,?⦠⢠ââ¡*[?,?] â¦?,?,?⦠) |
+ fpns_fpns |
+
|
-
+ |
|
-
-
- |
- 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 |
-
+ |
|
-
+ | decomposed extended computation |
+ cpds ( â¦?,?⦠⢠? â¢*â¡*[?,?] ? ) |
+ cpds_lift cpds_aaa cpds_cpds |
+
|
-
+ |
|
-
-
- |
- context-free computation |
- ltprs ( ? â¡* ? ) |
- ltprs_alt ( ? â¡â¡* ? ) |
- ltprs_ldrop ltprs_ltprs |
-
+ |
|
-
+ | context-sensitive extended computation |
+ lpxs ( â¦?,?⦠⢠â¡*[?,?] ? ) |
+ lpxs_alt ( â¦?,?⦠⢠â¡â¡*[?,?] ? ) |
+ lpxs_ldrop lpxs_cpye lpxs_lleq lpxs_aaa lpxs_cpxs lpxs_lpxs |
+
|
-
-
- |
-
+ |
|
- tprs ( ? â¡* ?) |
- tprs_lift tprs_tprs |
-
+ |
|
-
+ | cpxs ( â¦?,?⦠⢠? â¡*[?,?] ? ) |
+ cpxs_tstc cpxs_tstc_vector cpxs_lift cpxs_lleq cpxs_aaa cpxs_cpxs |
+
|
-
+ |
|
-
-
- |
- local env. ref. for abstract candidates of reducibility |
- lsubc ( ? â[?] ? ) |
- lsubc_ldrop lsubc_ldrops lsubc_lsuba |
-
-
- |
-
+ |
|
-
+ | context-sensitive computation |
+ lprs ( â¦?,?⦠⢠â¡* ? ) |
+ lprs_alt ( â¦?,?⦠⢠â¡â¡* ? ) |
+ lprs_ldrop lprs_cprs lprs_lprs |
+
|
-
+ |
|
- support for abstract computation properties |
- acp |
- acp_cr ( â¦?,?⦠ϵ[?] ã?ã ) |
- acp_aaa |
-
+ |
|
-
+ | cprs ( â¦?,?⦠⢠? â¡* ?) |
+ cprs_lift cprs_cprs |
+
+
+ |
+
|
- reducibility |
- context-sensitive focalized reduction |
- cfpr ( ? ⢠�,?⦠⡠�,?⦠) |
- cnfpr_ltpss cfpr_aaa cfpr_cpr cfpr_cfpr |
-
+ |
|
+ local env. ref. for abstract candidates of reducibility |
+ lsubc ( ? ⢠? â[?] ? ) |
+ lsubc_ldrop lsubc_ldrops lsubc_lsuba |
|
@@ -678,146 +632,149 @@
|
- context-free focalized reduction |
- lfpr ( �⦠⡠�⦠) |
- lfpr_alt ( â¦?⦠â¡â¡ â¦?⦠) |
- lfpr_aaa lfpr_cpr lfpr_fpr lfpr_lfpr |
-
-
- |
+ support for abstract computation properties |
+ acp |
+ acp_cr ( â¦?,?,?⦠ϵ[?] ã?ã ) |
+ acp_aaa |
|
-
+ | reduction |
+ "big tree" parallel reduction |
+ fpb ( â¦?,?,?⦠â½[?,?] â¦?,?,?⦠) |
+ fpb_lift fpb_aaa |
+
|
-
+ |
|
- fpr ( �,?⦠⡠�,?⦠) |
- fpr_cpr fpr_fpr |
-
+ |
+
+
|
-
+ | normal forms for context-sensitive extended reduction |
+ cnx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ cnx_lift cnx_crx cnx_cix |
+
|
-
+ |
|
-
-
- |
- context-sensitive normal forms |
- cnf ( ? ⢠ðâ¦?⦠) |
- cnf_lift cnf_cif |
-
+ |
|
-
+ | context-sensitive extended reduction |
+ lpx ( â¦?,?⦠⢠â¡[?,?] ? ) |
+ lpx_ldrop lpx_cpys lpx_cpye lpx_lleq lpx_aaa |
+
|
-
+ |
|
-
+ |
|
- context-sensitive reduction |
- cpr ( ? ⢠? ⡠? ) |
- cpr_lift cpr_tpss cpr_ltpss_dx cpr_ltpss_sn cpr_delift cpr_aaa cpr_ltpr cpr_cpr |
-
+ |
|
-
+ | cpx ( â¦?,?⦠⢠? â¡[?,?] ? ) |
+ cpx_lift cpx_cpys cpx_lleq cpx_cix |
+
|
-
+ |
|
-
+ |
|
- context-sensitive reducible forms |
- crf ( ? ⢠ðâ¦?⦠) |
- crf_append |
- cif ( ? ⢠ðâ¦?⦠) |
- cif_append |
-
+ | irreducible forms for context-sensitive extended reduction |
+ cix ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ cix_append cix_lift |
+
+
+ |
+
|
-
+ |
|
- context-free normal forms |
- thnf ( ððâ¦?⦠) |
-
+ | reducible forms for context-sensitive extended reduction |
+ crx ( â¦?,?⦠⢠â¡[?,?] ðâ¦?⦠) |
+ crx_append crx_lift |
+
|
-
+ |
|
-
+ |
+
+
|
-
+ | normal forms for context-sensitive reduction |
+ cnr ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ cnr_lift cnr_crr cnr_cir |
+
|
-
-
-
+ |
|
- context-free reduction |
- ltpr ( ? â¡ ? ) |
- ltpr_ldrop ltpr_tps ltpr_tpss ltpr_ltpss_dx ltpr_ltpss_sn ltpr_aaa ltpr_ltpr |
-
+ |
+
+
|
-
+ | context-sensitive reduction |
+ lpr ( �,?⦠⢠⡠? ) |
+ lpr_ldrop lpr_lpr |
+
|
-
+ |
|
-
-
- |
-
+ |
|
- tpr ( ? â¡ ? ) |
- tpr_lift tpr_delift tpr_tpr |
-
+ |
|
-
+ | cpr ( �,?⦠⢠? ⡠? ) |
+ cpr_lift cpr_cir |
+
|
-
+ |
|
- restricted computation |
- restricted parallel computation |
- lpqs ( ? ⢠â¤* ? ) |
- lpqs_ldrop lpqs_cpqs lpqs_lpqs |
-
+ |
|
+ irreducible forms for context-sensitive reduction |
+ cir ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ cir_append cir_lift |
|
@@ -829,14 +786,9 @@
|
-
-
- |
- cpqs ( ? ⢠? â¤* ? ) |
- cpqs_lift |
-
-
- |
+ reducible forms for context-sensitive reduction |
+ crr ( â¦?,?⦠⢠⡠ðâ¦?⦠) |
+ crr_append crr_lift |
|
@@ -845,10 +797,9 @@
- unwind |
- iterated stratified static type assignment |
- sstas ( â¦?,?⦠⢠? â¢*[?] ? ) |
- sstas_lift sstas_ltpss_dx sstas_ltpss_sn sstas_aaa sstas_sstas |
+ unfold |
+ unfold |
+ unfold ( �,?⦠⢠? ⧫* ? ) |
|
@@ -860,33 +811,25 @@
- static typing |
- stratified static type assignment |
- ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) |
- ssta_lift ssta_ltpss_dx ssta_ltpss_sn ssta_aaa ssta_ssta |
-
+ |
|
-
-
- |
-
+ | iterated static type assignment |
+ lsstas ( â¦?,?⦠⢠? â¢*[?,?,?] ? ) |
+ lsstas_alt ( â¦?,?⦠⢠? â¢â¢*[?,?,?] ? ) |
+ lsstas_lift lsstas_aaa lsstas_lsstas |
+
|
-
-
- |
+ static typing |
local env. ref. for atomic arity assignment |
- lsuba ( ? ââ ? ) |
+ lsuba ( ? ⢠? ââ ? ) |
lsuba_ldrop lsuba_aaa lsuba_lsuba |
|
-
-
- |
|
@@ -896,11 +839,8 @@
atomic arity assignment |
- aaa ( ? ⢠? â ? ) |
- aaa_lift aaa_lifts aaa_ltpss_dx aaa_ltpss_sn aaa_aaa |
-
-
- |
+ aaa ( â¦?,?⦠⢠? â ? ) |
+ aaa_lift aaa_lifts aaa_fqus aaa_da aaa_ssta aaa_aaa |
|
@@ -912,12 +852,9 @@
|
- parameters |
- sh |
- sd |
-
-
- |
+ stratified static type assignment |
+ ssta ( â¦?,?⦠⢠? â¢[?,?] ? ) |
+ ssta_lift ssta_ssta |
|
@@ -926,67 +863,53 @@
- unfold |
- basic local env. thinning |
- thin ( ? â¼*[?,?] â¡ ? ) |
- thin_ldrop thin_delift |
-
+ |
|
-
+ | local env. ref. for degree assignment |
+ lsubd ( ? ⢠? âªâ ? ) |
+ lsubd_da lsubd_lsubd |
+
|
-
+ |
|
-
+ |
|
- inverse basic term relocation |
- delift ( ? ⢠? â¼*[?,?] â¡ ? ) |
- delift_alt ( ? ⢠? â¼â¼*[?,?] â¡ ? ) |
- delift_lift delift_tpss delift_ltpss delift_delift |
-
+ | degree assignment |
+ da ( â¦?,?⦠⢠? âª[?,?] ? ) |
+ da_lift da_da |
+
|
-
+ |
|
-
-
- |
- revised parallel substitution |
- lpss ( ? ⢠â¶* ? ) |
- lpss_ldrop lpss_cpss lpss_lpss |
-
+ |
|
-
+ | parameters |
+ sh |
+ sd |
+
|
-
+ |
|
-
-
- |
-
-
- |
- cpss ( ? ⢠? â¶* ? ) |
- cpss_lift |
-
-
- |
-
-
- |
+ substitution |
+ lazy equivalence for local environments |
+ lleq ( ? â[?,?] ? ) |
+ lleq_alt ( ? ââ[?,?] ? ) |
+ lleq_ldrop lleq_fqus lleq_cpye lleq_lleq lleq_ext |
|
@@ -995,13 +918,10 @@
|
- partial unfold |
- ltpss_sn ( ? ⢠â¶*[?,?] ? ) |
- ltpss_sn_alt ( ? ⢠â¶â¶*[?,?] ? ) |
- ltpss_sn_ldrop ltpss_sn_tps ltpss_sn_tpss ltpss_sn_ltpss_sn |
-
-
- |
+ evaluation for contxt-sensitive extended substitution |
+ cpye ( â¦?,?⦠⢠? â¶*[?,?] ðâ¦?⦠) |
+ cpye_alt ( â¦?,?⦠⢠? â¶â¶*[?,?] ðâ¦?⦠) |
+ cpye_lift cpye_cpye |
|
@@ -1010,17 +930,10 @@
|
-
-
- |
- ltpss_dx ( ? â¶*[?,?] ? ) |
- ltpss_dx_ldrop ltpss_dx_tps ltpss_dx_tpss ltpss_dx_ltpss_dx |
-
-
- |
-
-
- |
+ contxt-sensitive extended multiple substitution |
+ cpys ( â¦?,?⦠⢠? â¶*[?,?] ? ) |
+ cpys_alt ( â¦?,?⦠⢠? â¶â¶*[?,?] ? ) |
+ cpys_lift cpys_cny cpys_cpys |
|
@@ -1029,13 +942,12 @@
|
-
+ | iterated structural successor for closures |
+ fqus ( â¦?,?,?⦠â* â¦?,?,?⦠) |
+ fqus_alt fqus_fqus |
+
|
- tpss ( ? ⢠? â¶*[?,?] ? ) |
- tpss_alt ( ? ⢠? â¶â¶*[?,?] ? ) |
- tpss_lift |
- tpss_tpss |
|
@@ -1044,12 +956,11 @@
|
- iterated structural successor for closures |
- fsupp ( â¦?,?⦠â+ â¦?,?⦠) |
- fsupp_fsupp |
-
+ |
|
+ fqup ( â¦?,?,?⦠â+ â¦?,?,?⦠) |
+ fqup_fqup |
|
@@ -1061,15 +972,12 @@
|
- generic local env. slicing |
- ldrops ( â©*[?] ? â¡ ? ) |
+ iterated local env. slicing |
+ ldrops ( â©*[?,?] ? â¡ ? ) |
ldrops_ldrop ldrops_ldrops |
|
-
-
- |
|
@@ -1084,9 +992,6 @@
|
-
-
- |
|
@@ -1103,9 +1008,6 @@
|
-
-
- |
|
@@ -1118,19 +1020,27 @@
gr2 ( @�,?⦠⡠? ) |
gr2_plus ( ? + ? ) |
gr2_minus ( ? â ? â¡ ? ) |
- gr2_gr2 |
-
+ | gr2_gr2 |
+
+
+ relocation |
+ normal forms for context-sensitive extended substitution |
+ cny ( â¦?,?⦠⢠â¶[?,?] ðâ¦?⦠) |
+ cny_lift |
+
+
+ |
+
|
- substitution |
- parallel substitution |
- tps ( ? ⢠? â¶[?,?] ? ) |
- tps_lift tps_tps |
-
+ |
|
+ contxt-sensitive extended ordinary substitution |
+ cpy ( â¦?,?⦠⢠? â¶[?,?] ? ) |
+ cpy_lift cpy_cpy |
|
@@ -1142,14 +1052,37 @@
|
- structural successor for closures |
- fsup ( â¦?,?⦠â â¦?,?⦠) |
+ local env. ref. for extended substitution |
+ lsuby ( ? âÃ[?,?] ? ) |
+ lsuby_lsuby |
|
+
+
+ |
+
+
+
+
+ |
+ restricted local env. ref. |
+ lsubr ( ? â ? ) |
+ lsubr_lsubr |
|
+
+
+ |
+
+
+
+
+ |
+ structural successor for closures |
+ fquq ( â¦?,?,?⦠â⸮ â¦?,?,?⦠) |
+ fquq_alt ( â¦?,?,?⦠ââ⸮ â¦?,?,?⦠) |
|
@@ -1161,9 +1094,10 @@
|
- global env. slicing |
- gdrop ( â©[?] ? â¡ ? ) |
- gdrop_gdrop |
+
+
+ |
+ fqu ( â¦?,?,?⦠â â¦?,?,?⦠) |
|
@@ -1178,12 +1112,9 @@
|
- basic local env. slicing |
- ldrop ( â©[?,?] ? â¡ ? ) |
- ldrop_append ldrop_lpx ldrop_lpx_sn ldrop_lbotr ldrop_ldrop |
-
-
- |
+ global env. slicing |
+ gdrop ( â©[?] ? â¡ ? ) |
+ gdrop_gdrop |
|
@@ -1195,10 +1126,9 @@
|
- local env. ref. for substitution |
- lsubr ( ? â[?,?] ? ) |
- (lsubr_lsubr) |
- lsubr_lbotr ( â[?,?] ? ) |
+ basic local env. slicing |
+ ldrop ( â©[?,?,?] ? â¡ ? ) |
+ ldrop_append ldrop_lpx_sn ldrop_ldrop |
|
@@ -1216,9 +1146,6 @@
|
-
-
- |
|
@@ -1235,21 +1162,15 @@
|
-
-
- |
|
grammar |
- same head term form |
- tshf ( ? â ? ) |
- (tshf_tshf) |
-
-
- |
+ pointwise extension of a relation |
+ lpx_sn |
+ lpx_sn_tc lpx_sn_lpx_sn |
|
@@ -1267,9 +1188,6 @@
|
-
-
- |
|
@@ -1280,10 +1198,7 @@
closures |
cl_shift ( ? @@ ? ) |
- cl_weight ( â¯{?,?} ) |
-
-
- |
+ cl_weight ( â¯{?,?,?} ) |
|
@@ -1303,9 +1218,6 @@
|
-
-
- |
|
@@ -1320,8 +1232,7 @@
lenv |
lenv_weight ( â¯{?} ) |
lenv_length ( |?| ) |
- lenv_append ( ? @@ ? ) |
- lenv_px lenv_px_sn lenv_px_bi |
+ lenv_append ( ? @@ ? ) |
@@ -1333,10 +1244,7 @@
| term |
term_weight ( â¯{?} ) |
term_simple ( ðâ¦?⦠) |
- term_vector |
-
-
- |
+ term_vector |
@@ -1352,9 +1260,6 @@
|
|
-
-
- |
|
@@ -1371,9 +1276,6 @@
|
-
-
- |
|
@@ -1412,6 +1314,6 @@
- Last update: Sun, 07 Apr 2013 23:37:37 +0200
+ Last update: Tue, 11 Feb 2014 22:11:38 +0100