]> matita.cs.unibo.it Git - helm.git/commitdiff
planned dehyphenation of lambdadelta eventually took place!
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 1 Dec 2012 17:01:11 +0000 (17:01 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 1 Dec 2012 17:01:11 +0000 (17:01 +0000)
74 files changed:
helm/www/lambdadelta/BTM.html [new file with mode: 0644]
helm/www/lambdadelta/Makefile [new file with mode: 0644]
helm/www/lambdadelta/apps_2.html [new file with mode: 0644]
helm/www/lambdadelta/basic_2.html [new file with mode: 0644]
helm/www/lambdadelta/bin/a.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/Makefile [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/Makefile.common [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/css.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/fold.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/matrix.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/options.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/pass1.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/pass2.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/pass3.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/table.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/textLexer.mll [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/textParser.mly [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/textUnparser.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/xhtbl.ml [new file with mode: 0644]
helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml [new file with mode: 0644]
helm/www/lambdadelta/css/ld_web.css [new file with mode: 0644]
helm/www/lambdadelta/css/lddl.css [new file with mode: 0644]
helm/www/lambdadelta/css/xhtbl.css [new file with mode: 0644]
helm/www/lambdadelta/documentation.html [new file with mode: 0644]
helm/www/lambdadelta/download/automath.sl [new file with mode: 0644]
helm/www/lambdadelta/download/cie_2007.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/cie_2010.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/helena.sl [new file with mode: 0644]
helm/www/lambdadelta/download/helena_0.8.0.tar.gz [new file with mode: 0644]
helm/www/lambdadelta/download/helena_0.8.1.tar.gz [new file with mode: 0644]
helm/www/lambdadelta/download/lambdadelta.bib [new file with mode: 0644]
helm/www/lambdadelta/download/lambdadelta.txt [new file with mode: 0644]
helm/www/lambdadelta/download/lambdadelta_1.tar.gz [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_1s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_2s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_3s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_4s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_5s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_6s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/ld_talk_7s.pdf [new file with mode: 0644]
helm/www/lambdadelta/download/lddl.tar.bz2 [new file with mode: 0644]
helm/www/lambdadelta/images/PNGnow2.png [new file with mode: 0644]
helm/www/lambdadelta/images/b3.png [new file with mode: 0644]
helm/www/lambdadelta/images/b4.png [new file with mode: 0644]
helm/www/lambdadelta/images/b5.png [new file with mode: 0644]
helm/www/lambdadelta/images/b9.png [new file with mode: 0644]
helm/www/lambdadelta/images/basic_32.png [new file with mode: 0644]
helm/www/lambdadelta/images/crux_16.ico [new file with mode: 0644]
helm/www/lambdadelta/images/crux_177.png [new file with mode: 0644]
helm/www/lambdadelta/images/crux_177.xcf [new file with mode: 0644]
helm/www/lambdadelta/images/crux_32.png [new file with mode: 0644]
helm/www/lambdadelta/images/globe_trans.png [new file with mode: 0644]
helm/www/lambdadelta/images/helena_32.png [new file with mode: 0644]
helm/www/lambdadelta/images/helena_label.png [new file with mode: 0644]
helm/www/lambdadelta/images/rainbow.png [new file with mode: 0644]
helm/www/lambdadelta/images/xml_xsl2.png [new file with mode: 0644]
helm/www/lambdadelta/implementation.html [new file with mode: 0644]
helm/www/lambdadelta/index.html [new file with mode: 0644]
helm/www/lambdadelta/news.html [new file with mode: 0644]
helm/www/lambdadelta/web/home/BTM.ldw.xml [new file with mode: 0644]
helm/www/lambdadelta/web/home/apps_2.ldw.xml [new file with mode: 0644]
helm/www/lambdadelta/web/home/apps_2_src.tbl [new file with mode: 0644]
helm/www/lambdadelta/web/home/basic_2.ldw.xml [new file with mode: 0644]
helm/www/lambdadelta/web/home/basic_2_blk.tbl [new file with mode: 0644]
helm/www/lambdadelta/web/home/basic_2_src.tbl [new file with mode: 0644]
helm/www/lambdadelta/xml/ld.dtd [new file with mode: 0644]
helm/www/lambdadelta/xslt/ld_web.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/ld_web_library.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/ld_web_root.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/lddl.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/lddl_entity.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/lddl_library.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/lddl_root.xsl [new file with mode: 0644]
helm/www/lambdadelta/xslt/lddl_term.xsl [new file with mode: 0644]

diff --git a/helm/www/lambdadelta/BTM.html b/helm/www/lambdadelta/BTM.html
new file mode 100644 (file)
index 0000000..ec1ba2d
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ld="http://lambdadelta.info">
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <meta name="author" content="Ferruccio Guidi"/>
+    <meta name="description" content="BTM"/>
+    <title>BTM</title>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/ld_web.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/lddl.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/xhtbl.css"/>
+    <link rel="shortcut icon" href="http://lambdadelta.info/images/crux_16.ico"/>
+  </head>
+  <body lang="en-US"><div class="spacer"><a href="http://lambdadelta.info/"><img class="icon32" alt="[lambdadelta home]" title="lambdadelta home" src="http://lambdadelta.info/images/crux_32.png"/></a></div><div class="head1">cic:/matita/BTM/</div><div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div>
+   <div class="head2">Character classes</div>
+   <div class="text">This table shows how the first 45 positive integers
+         are distributed in the four classes.
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns component grey">class</td><td class="snns text grey">contents</td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn number grey"><br/></td><td class="ssnn number grey"><br/></td></tr><tr><td class="snns component orange">p</td><td class="snns text orange"><br/></td><td class="snnn number orange">1</td><td class="snnn number orange">4</td><td class="snnn number orange">7</td><td class="snnn number orange">10</td><td class="snnn number orange">13</td><td class="snnn number orange">16</td><td class="snnn number orange">19</td><td class="snnn number orange">22</td><td class="snnn number orange">25</td><td class="snnn number orange">28</td><td class="snnn number orange">31</td><td class="snnn number orange">34</td><td class="snnn number orange">37</td><td class="snnn number orange">40</td><td class="ssnn number orange">43</td></tr><tr><td class="snns component green">q</td><td class="snns text green"><br/></td><td class="snnn number green">5</td><td class="snnn number green">11</td><td class="snnn number green">15</td><td class="snnn number green">17</td><td class="snnn number green">23</td><td class="snnn number green">29</td><td class="snnn number green">33</td><td class="snnn number green">35</td><td class="snnn number green">41</td><td class="snnn number green">45</td><td class="snnn number green"><br/></td><td class="snnn number green"><br/></td><td class="snnn number green"><br/></td><td class="snnn number green"><br/></td><td class="ssnn number green"><br/></td></tr><tr><td class="snns component sky">s</td><td class="snns text sky"><br/></td><td class="snnn number sky">2</td><td class="snnn number sky">6</td><td class="snnn number sky">8</td><td class="snnn number sky">14</td><td class="snnn number sky">18</td><td class="snnn number sky">20</td><td class="snnn number sky">24</td><td class="snnn number sky">26</td><td class="snnn number sky">32</td><td class="snnn number sky">38</td><td class="snnn number sky">42</td><td class="snnn number sky">44</td><td class="snnn number sky"><br/></td><td class="snnn number sky"><br/></td><td class="ssnn number sky"><br/></td></tr><tr><td class="snss component magenta">t</td><td class="snss text magenta"><br/></td><td class="snsn number magenta">3</td><td class="snsn number magenta">9</td><td class="snsn number magenta">12</td><td class="snsn number magenta">21</td><td class="snsn number magenta">27</td><td class="snsn number magenta">30</td><td class="snsn number magenta">36</td><td class="snsn number magenta">39</td><td class="snsn number magenta"><br/></td><td class="snsn number magenta"><br/></td><td class="snsn number magenta"><br/></td><td class="snsn number magenta"><br/></td><td class="snsn number magenta"><br/></td><td class="snsn number magenta"><br/></td><td class="sssn number magenta"><br/></td></tr></tbody></table></div>
+
+   <div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div><div class="spacer"><br/></div><div class="spacer"><a href="http://validator.w3.org/check?uri=referer"><img class="w3c" alt="[Valid XHTML 1.1]" title="Valid XHTML 1.1" src="http://www.w3.org/Icons/valid-xhtml11-blue"/></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="w3c" alt="[Valid CSS level 2]" title="Valid CSS level 2" src="http://www.w3.org/Icons/valid-css2-blue"/></a><a href="http://www.w3.org/XML/"><img class="w3c" alt="[Generated from XML via XSL]" title="Generated from XML via XSL" src="http://lambdadelta.info/images/xml_xsl2.png"/></a><a href="http://www.w3.org/Graphics/PNG/"><img class="w3c" alt="[PNG used here]" title="PNG used here" src="http://lambdadelta.info/images/PNGnow2.png"/></a><a href="http://www.anybrowser.org/campaign/"><img class="w3c" alt="[Viewable with any browser]" title="Viewable with any browser" src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"/></a></div><div class="spacer"><br/></div><div class="spacer">Last update: 2012-12-01T17:55:33+01:00</div>
+</body>
+</html>
diff --git a/helm/www/lambdadelta/Makefile b/helm/www/lambdadelta/Makefile
new file mode 100644 (file)
index 0000000..388070c
--- /dev/null
@@ -0,0 +1,98 @@
+H=@
+
+TAGS = www up \
+       lint-xml index lddl install-xml \
+       test-html html install-html \
+       install-jed install-bib \
+
+LDDLURL = http://lambdadelta.info/static/lddl
+
+ETCDIR   = etc
+DOWNDIR  = download
+XSLTDIR  = xslt
+XMLDIR   = xml
+HTMLDIR  = $(HOME)/public_html/lddl
+JEDDIR   = $(HOME)/mps/jed
+BIBDIR   = $(HOME)/texmf/bibtex/bib
+XHTBLDIR = bin/xhtbl
+
+REMOTE   = helm.cs.unibo.it
+RDIR     = /projects/helm/public_html/lambdadelta
+RXMLDIR  = $(REMOTE):$(RDIR)/xml
+RHTMLDIR = $(REMOTE):$(RDIR)/static/lddl
+
+SLS = helena.sl automath.sl
+BIB = lambdadelta.bib
+
+XMLS = brg_si/grundlagen/l/not.ld.xml \
+       brg_si/grundlagen/l/et.ld.xml \
+       brg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
+       brg_si/grundlagen/l/e/pairis1.ld.xml \
+       brg_si/grundlagen/l/e/st/eq/landau/n/327/t25.ld.xml \
+       crg_si/grundlagen/l/not.ld.xml \
+       crg_si/grundlagen/l/et.ld.xml \
+       crg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.xml \
+       crg_si/grundlagen/l/e/pairis1.ld.xml \
+       crg_si/grundlagen/l/e/st/eq/landau/n/327/t25.ld.xml \
+       brg_si/grundlagen/ccs.ldc.xml
+
+XMLLINT = xmllint --noout
+XSLT    = xsltproc
+
+all: www
+
+lint-xml: $(XMLS:%=$(XMLDIR)/%)
+       @echo XMLLINT --valid
+       $(H)$(XMLLINT) --valid $^ 
+
+$(ETCDIR)/make-html.sh $(XMLDIR)/index.txt index:
+       @echo "  GENERATE INDEXES"
+       $(H)find $(XMLDIR) -name "*.ld.xml" | sed s/.xml//g | sed s/xml/ld:/g > $(XMLDIR)/index.txt
+       $(H)sed "s/^/make --no-print-directory /" $(XMLDIR)/index.txt | sed s.ld:/.. > $(ETCDIR)/make_html.sh
+
+lddl: $(ETCDIR)/exclude.txt index
+       @echo "  GENERATE lddl.tar.bz2"
+       $(H)tar -cjf $(DOWNDIR)/lddl.tar.bz2 -X $< $(XMLDIR) 
+
+install-xml: $(XMLDIR)/index.txt
+       @echo "  INSTALL xml"
+       $(H)scp -r $< $(XMLDIR)/brg_si/ $(XMLDIR)/crg_si/ $(RXMLDIR)
+
+test-html:
+       @$(MAKE) --no-print-directory $(XMLS:%.xml=%)
+
+html: $(ETCDIR)/make_html.sh
+       @echo "  MAKE */*.ld"
+       $(H). $<
+
+install-html: $(ETCDIR)/make_html.sh
+       @echo "  INSTALL html"
+       $(H)scp -r $(HTMLDIR)/* $(RHTMLDIR)
+
+install-jed: $(SLS:%=$(JEDDIR)/%)
+       @echo "  INSTALL $(SLS)"
+       $(H)scp $^ $(DOWNDIR)
+
+install-bib: $(BIB:%=$(BIBDIR)/%)
+       @echo "  INSTALL $(BIB)"
+       $(H)scp $< $(DOWNDIR)
+       $(H)scp $< $(DOWNDIR)/$(BIB:%.bib=%.txt)
+
+www: 
+       $(H)$(MAKE) --no-print-directory -C $(XHTBLDIR) www
+
+up:
+       @echo "  UPDATE $(REMOTE):$(RDIR)"
+       $(H)ssh $(REMOTE) "svn up $(RDIR)"
+
+%.ld: BASEURL = --stringparam baseurl $(LDDLURL)
+
+%.ld:
+       @echo "  XSLT $@"
+       $(H)mkdir -p $(HTMLDIR)/$(@D)
+       $(H)$(XSLT) -o $(HTMLDIR)/$@.html $(BASEURL) $(XSLTDIR)/lddl.xsl $(XMLDIR)/$@.xml
+
+%.ldc:
+       @echo "  SKIP $@"
+
+.PHONY: $(TAGS)
diff --git a/helm/www/lambdadelta/apps_2.html b/helm/www/lambdadelta/apps_2.html
new file mode 100644 (file)
index 0000000..80c3d45
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ld="http://lambdadelta.info">
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <meta name="author" content="Ferruccio Guidi"/>
+    <meta name="description" content="applications of lambdadelta version 2"/>
+    <title>applications of lambdadelta version 2</title>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/ld_web.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/lddl.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/xhtbl.css"/>
+    <link rel="shortcut icon" href="http://lambdadelta.info/images/crux_16.ico"/>
+  </head>
+  <body lang="en-US"><div class="spacer"><a href="http://lambdadelta.info/"><img class="icon32" alt="[lambdadelta home]" title="lambdadelta home" src="http://lambdadelta.info/images/crux_32.png"/></a></div><div class="head1">cic:/matita/lambdadelta/apps_2/ (applications of λδ version 2)</div><div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div>
+   <div class="head2">Contents of the Specification</div>
+   <div class="text">This specification comprises a collection of checked
+         applications of λδ version 2.
+        In particular it contains the components below.
+   </div>
+   <ul><li><span class="date">MLTT1.</span>
+         Martin-Löf's Type Theory with one universe
+        using λδ as theory of expressions.
+   </li></ul>
+   <ul><li><span class="date">Functional.</span>
+         The validation algorithm for λδ as implemented in
+        <a href="http://lambdadelta.info/implementation.html#helena">Helena 0.8</a>.
+   </li></ul>
+   
+   <div class="head2">Summary of the Specification</div>
+   <div class="text">Here is a numerical acount of the specification's contents
+         and its timeline.
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns component grey">category</td><td class="snns plane grey">objects</td><td class="snnn number grey"><br/></td><td class="snnn plane grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn plane grey"><br/></td><td class="ssnn number grey"><br/></td></tr><tr><td class="snns component cyan">sizes</td><td class="snns plane cyan">files</td><td class="snnn number cyan">5</td><td class="snns plane cyan">bytes</td><td class="snnn number cyan">13143</td><td class="snns plane cyan"><br/></td><td class="ssnn number cyan"><br/></td></tr><tr><td class="snns component green">propositions</td><td class="snns plane green">theorems</td><td class="snnn number green">4</td><td class="snns plane green">lemmas</td><td class="snnn number green">1</td><td class="snns plane green">total</td><td class="ssnn number green">5</td></tr><tr><td class="snss component yellow">concepts</td><td class="snss plane yellow">declared</td><td class="snsn number yellow">3</td><td class="snss plane yellow">defined</td><td class="snsn number yellow">10</td><td class="snss plane yellow">total</td><td class="sssn number yellow">13</td></tr></tbody></table></div>
+   <ul><li><span class="date">2012 February 24.</span>
+         The Applications directory is started.
+   </li></ul>
+   <ul><li><span class="date">2011 December 20.</span>
+         The Functional component is started
+        inside the specification of λδ version 2.
+   </li></ul>
+   <ul><li><span class="date">2011 December 12.</span>
+         The MLTT1 component is started.
+   </li></ul>
+
+   <div class="head2">Logical Structure of the Specification</div>
+   <div class="text">The source files are grouped in planes and components
+         according to the following table.
+         Each component contains its own notation file.
+        The notation for the relations or functions introduced in each file
+        is shown in parentheses (? are placeholders).
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns component grey">component</td><td class="snns plane grey">plane</td><td class="snns file grey">files</td><td class="ssnn file grey"><br/></td></tr><tr><td class="snns component orange">MLTT1</td><td class="snns plane orange"/><td class="snns file orange">genv_primitive</td><td class="ssnn file orange">judgement</td></tr><tr><td class="snns component red">functional</td><td class="snns plane red">reduction and type machine</td><td class="snns file red">rtm</td><td class="ssnn file red">rtm_step ( ? ⇨ ? )</td></tr><tr><td class="nnss component red"><br/></td><td class="snss plane red">unfold</td><td class="snss file red">lift ( ↑[?,?] ? )</td><td class="sssn file red">subst ( [?←?] ? )</td></tr></tbody></table></div>
+
+   <div class="head2">Physical Structure of the Specification</div>
+   <div class="text">The source files are grouped in directories,
+         one for each component.
+   </div>
+   <div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div><div class="spacer"><br/></div><div class="spacer"><a href="http://validator.w3.org/check?uri=referer"><img class="w3c" alt="[Valid XHTML 1.1]" title="Valid XHTML 1.1" src="http://www.w3.org/Icons/valid-xhtml11-blue"/></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="w3c" alt="[Valid CSS level 2]" title="Valid CSS level 2" src="http://www.w3.org/Icons/valid-css2-blue"/></a><a href="http://www.w3.org/XML/"><img class="w3c" alt="[Generated from XML via XSL]" title="Generated from XML via XSL" src="http://lambdadelta.info/images/xml_xsl2.png"/></a><a href="http://www.w3.org/Graphics/PNG/"><img class="w3c" alt="[PNG used here]" title="PNG used here" src="http://lambdadelta.info/images/PNGnow2.png"/></a><a href="http://www.anybrowser.org/campaign/"><img class="w3c" alt="[Viewable with any browser]" title="Viewable with any browser" src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"/></a></div><div class="spacer"><br/></div><div class="spacer">Last update: 2012-12-01T17:55:33+01:00</div>
+</body>
+</html>
diff --git a/helm/www/lambdadelta/basic_2.html b/helm/www/lambdadelta/basic_2.html
new file mode 100644 (file)
index 0000000..8019b44
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ld="http://lambdadelta.info">
+  <head>
+    <meta http-equiv="Content-Language" content="en-us"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <meta name="author" content="Ferruccio Guidi"/>
+    <meta name="description" content="lambdadelta version 2"/>
+    <title>lambdadelta version 2</title>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/ld_web.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/lddl.css"/>
+    <link rel="stylesheet" type="text/css" href="http://lambdadelta.info/css/xhtbl.css"/>
+    <link rel="shortcut icon" href="http://lambdadelta.info/images/crux_16.ico"/>
+  </head>
+  <body lang="en-US"><div class="spacer"><a href="http://lambdadelta.info/"><img class="icon32" alt="[lambdadelta home]" title="lambdadelta home" src="http://lambdadelta.info/images/crux_32.png"/></a></div><div class="head1">cic:/matita/lambdadelta/basic_2/ (λδ version 2)</div><div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div>
+   <div class="head2">System's Syntax and Behavior</div>
+   <div class="text">This is a summary of the "block structure"
+         of the System's syntactic items and reductions.
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns text grey">domain</td><td class="snns plane grey">block</td><td class="snns text grey">leader</td><td class="snns text grey">applicator (with →θ)*</td><td class="snns text grey">reduction</td><td class="snns text grey">→ζ *</td><td class="ssns text grey">reference *</td></tr><tr><td class="snns text">{X | Γ ⊢ X : W}</td><td class="snns plane wine">local typed abstraction *</td><td class="snns text wine">Γ ⊢ +λW</td><td class="snns text wine">ⓐV</td><td class="snns text wine">→β</td><td class="snns text wine">no</td><td class="ssns text wine">#i</td></tr><tr><td class="nnns text"><br/></td><td class="snns plane magenta">local typed declaration **</td><td class="snns text magenta">Γ ⊢ -λW</td><td class="snns text magenta">ⓐV</td><td class="snns text magenta">→β</td><td class="snns text magenta">no</td><td class="ssns text magenta">#i</td></tr><tr><td class="nnns text"><br/></td><td class="snns plane prune">global typed declaration ***</td><td class="snns text prune">Γ ⊢ pλW</td><td class="snns text prune">no</td><td class="snns text prune">no</td><td class="snns text prune">no</td><td class="ssns text prune">$p</td></tr><tr><td class="nnns text"><br/></td><td class="snns plane blue">native type annotation *</td><td class="snns text blue">Γ ⊢ ⓝW</td><td class="snns text blue">no</td><td class="snns text blue">no</td><td class="snns text blue">yes</td><td class="ssns text blue">no</td></tr><tr><td class="snns text">{X | Γ ⊢ X = V}</td><td class="snns plane sky">local abbreviation *</td><td class="snns text sky">Γ ⊢ +δV</td><td class="snns text sky">no</td><td class="snns text sky">local →δ</td><td class="snns text sky">yes</td><td class="ssns text sky">#i</td></tr><tr><td class="nnns text"><br/></td><td class="snns plane cyan">local definition **</td><td class="snns text cyan">Γ ⊢ -δV</td><td class="snns text cyan">no</td><td class="snns text cyan">local →δ</td><td class="snns text cyan">no</td><td class="ssns text cyan">#i</td></tr><tr><td class="nnns text"><br/></td><td class="snns plane water">global definition ***</td><td class="snns text water">Γ ⊢ pδV</td><td class="snns text water">no</td><td class="snns text water">global →δ</td><td class="snns text water">no</td><td class="ssns text water">$p</td></tr><tr><td class="snss text">no</td><td class="snss plane green">sort ****</td><td class="snss text green">Γ ⊢ ⋆k</td><td class="snss text green">no</td><td class="snss text green">no</td><td class="snss text green">no</td><td class="ssss text green">no</td></tr></tbody></table></div>
+   <div class="text">* In terms only.
+        ** In terms and local environments only.
+         *** In global environments only.
+         **** Sort level k in terms only. 
+   </div>
+   
+   <div class="head2">Summary of the Specification</div>
+   <div class="text">Here is a numerical acount of the specification's contents
+         and its timeline.
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns component grey">category</td><td class="snns plane grey">objects</td><td class="snnn number grey"><br/></td><td class="snnn plane grey"><br/></td><td class="snnn number grey"><br/></td><td class="snnn plane grey"><br/></td><td class="ssnn number grey"><br/></td></tr><tr><td class="snns component cyan">sizes</td><td class="snns plane cyan">files</td><td class="snnn number cyan">226</td><td class="snns plane cyan">characters</td><td class="snnn number cyan">427252</td><td class="snns plane cyan"><br/></td><td class="ssnn number cyan"><br/></td></tr><tr><td class="snns component green">propositions</td><td class="snns plane green">theorems</td><td class="snnn number green">82</td><td class="snns plane green">lemmas</td><td class="snnn number green">981</td><td class="snns plane green">total</td><td class="ssnn number green">1063</td></tr><tr><td class="snss component yellow">concepts</td><td class="snss plane yellow">declared</td><td class="snsn number yellow">43</td><td class="snss plane yellow">defined</td><td class="snsn number yellow">76</td><td class="snss plane yellow">total</td><td class="sssn number yellow">119</td></tr></tbody></table></div>
+   <ul><li><span class="date">In progress.</span>
+         Context-sensitive subject equivalence
+        for native type assignment.
+   </li></ul>
+   <ul><li><span class="date">In progress.</span>
+         Closure of extended context-sensitive computation
+        for native validity.
+   </li></ul>
+   <ul><li><span class="date">In progress.</span>
+         Extended context-sensitive strong normalization
+        for simply typed terms.
+   </li></ul>
+   <ul><li><span class="date">2012 October 16.</span>
+         Confluence for context-free parallel reduction on closures.
+   </li></ul>
+   <ul><li><span class="date">2012 July 26.</span>
+         Term binders polarized to control ζ reduction.
+   </li></ul>   
+   <ul><li><span class="date">2012 April 16.</span>
+         Context-sensitive subject equivalence
+        for atomic arity assignment
+        (anniversary milestone).
+   </li></ul>
+   <ul><li><span class="date">2012 March 15.</span>
+         Context-sensitive strong normalization
+        for simply typed terms.
+   </li></ul>
+   <ul><li><span class="date">2012 January 27.</span>
+         Support for abstract candidates of reducibility.
+   </li></ul>
+   <ul><li><span class="date">2011 September 21.</span>
+         Confluence for context-sensitive parallel reduction on terms.
+   </li></ul>
+   <ul><li><span class="date">2011 September 6.</span>
+         Confluence for context-free parallel reduction on terms.
+   </li></ul>
+   <ul><li><span class="date">2011 April 17.</span>
+         Specification starts.
+   </li></ul>
+
+   <div class="head2">Logical Structure of the Specification</div>
+   <div class="text">The source files are grouped in planes and components
+         according to the following table.
+         A notation file covering the whole specification is provided.
+        The notation for the relations or functions introduced in each file
+        is shown in parentheses (? are placeholders).
+   </div>
+   <div class="text"><table cellpadding="4" cellspacing="0"><tbody><tr><td class="snns component grey">component</td><td class="snns plane grey">plane</td><td class="snns file grey">files</td><td class="snnn file grey"><br/></td><td class="snnn file grey"><br/></td><td class="snnn file grey"><br/></td><td class="ssnn file grey"><br/></td></tr><tr><td class="snns component prune">dynamic typing</td><td class="snns plane prune">stratified native validity</td><td class="snns file prune">snv ( ⦃?,?⦄ ⊩ ? :[?] )</td><td class="snnn file prune">snv_lift snv_aaa snv_ssta</td><td class="snnn file prune"><br/></td><td class="snnn file prune"><br/></td><td class="ssnn file prune"><br/></td></tr><tr><td class="snns component blue">equivalence</td><td class="snns plane blue">focalized equivalence</td><td class="snns file blue">lfpcs ( ⦃?⦄ ⬌* ⦃?⦄ )</td><td class="snnn file blue">lfpcs_aaa lfpcs_lfprs lfpcs_lfpcs</td><td class="snnn file blue"><br/></td><td class="snnn file blue"><br/></td><td class="ssnn file blue"><br/></td></tr><tr><td class="nnns component blue"><br/></td><td class="nnns plane blue"><br/></td><td class="snns file blue">fpcs ( ⦃?,?⦄ ⬌* ⦃?,?⦄ )</td><td class="snnn file blue">fpcs_aaa fpcs_cpcs fpcs_fprs fpcs_fpcs</td><td class="snnn file blue"><br/></td><td class="snnn file blue"><br/></td><td class="ssnn file blue"><br/></td></tr><tr><td class="nnns component blue"><br/></td><td class="snns plane blue">local env. ref. for context-sensitive equivalence</td><td class="snns file blue">lsubse ( ? ⊢•⊑[?] ? )</td><td class="snnn file blue">lsubse_ldrop lsubse_ssta lsubse_cpcs</td><td class="snnn file blue"><br/></td><td class="snnn file blue"><br/></td><td class="ssnn file blue"><br/></td></tr><tr><td class="nnns component blue"><br/></td><td class="snns plane blue">context-sensitive equivalence</td><td class="snns file blue">cpcs ( ? ⊢ ? ⬌* ? )</td><td class="snnn file blue">cpcs_ltpss cpcs_delift cpcs_aaa cpcs_ltpr cpcs_cprs cpcs_cpcs</td><td class="snnn file blue"><br/></td><td class="snnn file blue"><br/></td><td class="ssnn file blue"><br/></td></tr><tr><td class="snns component sky">conversion</td><td class="snns plane sky">focalized conversion</td><td class="snns file sky">lfpc ( ⦃?⦄ ⬌ ⦃?⦄ )</td><td class="snnn file sky">lfpc_lfpc</td><td class="snnn file sky"><br/></td><td class="snnn file sky"><br/></td><td class="ssnn file sky"><br/></td></tr><tr><td class="nnns component sky"><br/></td><td class="nnns plane sky"><br/></td><td class="snns file sky">fpc ( ⦃?,?⦄ ⬌ ⦃?,?⦄ )</td><td class="snnn file sky">fpc_fpc</td><td class="snnn file sky"><br/></td><td class="snnn file sky"><br/></td><td class="ssnn file sky"><br/></td></tr><tr><td class="nnns component sky"><br/></td><td class="snns plane sky">context-sensitive conversion</td><td class="snns file sky">cpc ( ? ⊢ ? ⬌ ? )</td><td class="snnn file sky">cpc_cpc</td><td class="snnn file sky"><br/></td><td class="snnn file sky"><br/></td><td class="ssnn file sky"><br/></td></tr><tr><td class="snns component cyan">computation</td><td class="snns plane cyan">extended computation</td><td class="snns file cyan">xprs ( ⦃?,?⦄ ⊢ ? •➡*[?] ? )</td><td class="snnn file cyan">xprs_lift xprs_aaa xpr_lsubss xprs_cprs xprs_xprs</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">weakly normalizing computation</td><td class="snns file cyan">cpe ( ? ⊢ ➡* 𝐍⦃?⦄ )</td><td class="snnn file cyan">cpe_cpe</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">strongly normalizing computation</td><td class="snns file cyan">csn_vector ( ? ⊢ ⬊* ? )</td><td class="snnn file cyan">csn_cpr_vector csn_tstc_vector csn_aaa</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="nnns plane cyan"><br/></td><td class="snns file cyan">csn ( ? ⊢ ⬊* ? )</td><td class="snnn file cyan">csn_alt ( ? ⊢ ⬊⬊* ? )</td><td class="snnn file cyan">csn_lift csn_cpr csn_lfpr</td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">focalized computation</td><td class="snns file cyan">lfprs ( ⦃?⦄ ➡* ⦃?⦄ )</td><td class="snnn file cyan">lfprs_aaa lfprs_cprs lfprs_lfprs</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="nnns plane cyan"><br/></td><td class="snns file cyan">fprs ( ⦃?,?⦄ ➡* ⦃?,?⦄ )</td><td class="snnn file cyan">fprs_aaa fprs_fprs</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">context-sensitive computation</td><td class="snns file cyan">cprs (? ⊢ ? ➡* ?)</td><td class="snnn file cyan">cprs_lift cprs_delift cprs_aaa cprs_ltpr cprs_lfpr cprs_cprs cprs_lfprs cprs_tstc cprs_tstc_vector</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">context-free computation</td><td class="snns file cyan">ltprs ( ? ➡* ? )</td><td class="snnn file cyan">ltprs_alt ( ? ➡➡* ? )</td><td class="snnn file cyan">ltprs_ldrop ltprs_ltprs</td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="nnns plane cyan"><br/></td><td class="snns file cyan">tprs ( ? ➡* ?)</td><td class="snnn file cyan">tprs_lift tprs_tprs</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">local env. ref. for abstract candidates of reducibility</td><td class="snns file cyan">lsubc ( ? ⊑[?] ? )</td><td class="snnn file cyan">lsubc_ldrop lsubc_ldrops lsubc_lsuba</td><td class="snnn file cyan"><br/></td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="nnns component cyan"><br/></td><td class="snns plane cyan">support for abstract computation properties</td><td class="snns file cyan">acp</td><td class="snnn file cyan">acp_cr ( ⦃?,?⦄ ϵ[?] 〚?〛 )</td><td class="snnn file cyan">acp_aaa</td><td class="snnn file cyan"><br/></td><td class="ssnn file cyan"><br/></td></tr><tr><td class="snns component water">reducibility</td><td class="snns plane water">extended reduction</td><td class="snns file water">xpr ( ⦃?,?⦄ ⊢ ? •➡[?] ? )</td><td class="snnn file water">xpr_lift xpr_aaa xpr_lsubss</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-sensitive focalized reduction</td><td class="snns file water">cfpr ( ? ⊢ ⦃?,?⦄ ➡ ⦃?,?⦄ )</td><td class="snnn file water">cnfpr_ltpss cfpr_aaa cfpr_cpr cfpr_cfpr</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-free focalized reduction</td><td class="snns file water">lfpr ( ⦃?⦄ ➡ ⦃?⦄ )</td><td class="snnn file water">lfpr_alt ( ⦃?⦄ ➡➡ ⦃?⦄ )</td><td class="snnn file water">lfpr_aaa lfpr_cpr lfpr_fpr lfpr_lfpr</td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="nnns plane water"><br/></td><td class="snns file water">fpr ( ⦃?,?⦄ ➡ ⦃?,?⦄ )</td><td class="snnn file water">fpr_cpr fpr_fpr</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-sensitive normal forms</td><td class="snns file water">cnf ( ? ⊢ 𝐍⦃?⦄ )</td><td class="snnn file water">cnf_lift cnf_cif</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-sensitive reduction</td><td class="snns file water">cpr ( ? ⊢ ? ➡ ? )</td><td class="snnn file water">cpr_lift cpr_tpss cpr_ltpss cpr_delift cpr_aaa cpr_ltpr cpr_cpr</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-sensitive reducible forms</td><td class="snns file water">crf ( ? ⊢ 𝐑⦃?⦄ )</td><td class="snnn file water">crf_append</td><td class="snnn file water">cif ( ? ⊢ 𝐈⦃?⦄ )</td><td class="snnn file water">cif_append</td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-free normal forms</td><td class="snns file water">thnf ( 𝐇𝐍⦃?⦄ )</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="snns plane water">context-free reduction</td><td class="snns file water">ltpr ( ? ➡ ? )</td><td class="snnn file water">ltpr_ldrop ltpr_tps ltpr_ltpss_dx ltpr_ltpss_sn ltpr_aaa ltpr_ltpr</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="nnns component water"><br/></td><td class="nnns plane water"><br/></td><td class="snns file water">tpr ( ? ➡ ? )</td><td class="snnn file water">tpr_lift tpr_tps tpr_tpss tpr_delift tpr_tpr</td><td class="snnn file water"><br/></td><td class="snnn file water"><br/></td><td class="ssnn file water"><br/></td></tr><tr><td class="snns component green">unwind</td><td class="snns plane green"/><td class="snns file green"/><td class="snnn file green"><br/></td><td class="snnn file green"><br/></td><td class="snnn file green"><br/></td><td class="ssnn file green"><br/></td></tr><tr><td class="snns component grass">static typing</td><td class="snns plane grass">local env. ref. for stratified static type assignment</td><td class="snns file grass">lsubss ( ? •⊑[?] ? )</td><td class="snnn file grass">lsubss_ldrop lsubss_ssta lsubss_lsubss</td><td class="snnn file grass"><br/></td><td class="snnn file grass"><br/></td><td class="ssnn file grass"><br/></td></tr><tr><td class="nnns component grass"><br/></td><td class="snns plane grass">stratified static type assignment</td><td class="snns file grass">ssta ( ⦃?,?⦄ ⊢ ? •[?,?] ? )</td><td class="snnn file grass">ssta_lift ssta_ltpss_dx ssta_ltpss_sn ssta_aaa ssta_ssta</td><td class="snnn file grass"><br/></td><td class="snnn file grass"><br/></td><td class="ssnn file grass"><br/></td></tr><tr><td class="nnns component grass"><br/></td><td class="snns plane grass">local env. ref. for atomic arity assignment</td><td class="snns file grass">lsuba ( ? ⁝⊑ ? )</td><td class="snnn file grass">lsuba_ldrop lsuba_aaa lsuba_lsuba</td><td class="snnn file grass"><br/></td><td class="snnn file grass"><br/></td><td class="ssnn file grass"><br/></td></tr><tr><td class="nnns component grass"><br/></td><td class="snns plane grass">atomic arity assignment</td><td class="snns file grass">aaa ( ? ⊢ ? ⁝ ? )</td><td class="snnn file grass">aaa_lift aaa_lifts aaa_ltpss_dx aaa_ltpss_sn aaa_aaa</td><td class="snnn file grass"><br/></td><td class="snnn file grass"><br/></td><td class="ssnn file grass"><br/></td></tr><tr><td class="nnns component grass"><br/></td><td class="snns plane grass">parameters</td><td class="snns file grass">sh</td><td class="snnn file grass">sd</td><td class="snnn file grass"><br/></td><td class="snnn file grass"><br/></td><td class="ssnn file grass"><br/></td></tr><tr><td class="snns component yellow">unfold</td><td class="snns plane yellow">basic local env. thinning</td><td class="snns file yellow">thin ( ? ▼*[?,?] ≡ ? )</td><td class="snnn file yellow">thin_ldrop thin_delift</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">inverse basic term relocation</td><td class="snns file yellow">delift ( ? ⊢ ? ▼*[?,?] ≡ ? )</td><td class="snnn file yellow">delift_alt ( ? ⊢ ? ▼▼*[?,?] ≡ ? )</td><td class="snnn file yellow">delift_lift delift_tpss delift_ltpss delift_delift</td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">partial unfold</td><td class="snns file yellow">ltpss_sn ( ? ⊢ ▶*[?,?] ? )</td><td class="snnn file yellow">ltpss_sn_alt ( ? ⊢ ▶▶*[?,?] ? )</td><td class="snnn file yellow">ltpss_sn_ldrop ltpss_sn_tps ltpss_sn_tpss ltpss_sn_ltpss_sn</td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="nnns plane yellow"><br/></td><td class="snns file yellow">ltpss_dx ( ? ▶*[?,?] ? )</td><td class="snnn file yellow">ltpss_dx_ldrop ltpss_dx_tps ltpss_dx_tpss ltpss_dx_ltpss_dx</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="nnns plane yellow"><br/></td><td class="snns file yellow">tpss ( ? ⊢ ? ▶*[?,?] ? )</td><td class="snnn file yellow">tpss_alt ( ? ⊢ ? ▶▶*[?,?] ? )</td><td class="snnn file yellow">tpss_lift</td><td class="snnn file yellow">tpss_tpss</td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">generic local env. slicing</td><td class="snns file yellow">ldrops ( ⇩*[?] ? ≡ ? )</td><td class="snnn file yellow">ldrops_ldrop ldrops_ldrops</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">iterated restricted structural predecessor for closures</td><td class="snns file yellow">frsups ( ⦃?,?⦄ ⧁* ⦃?,?⦄ )</td><td class="snnn file yellow">frsups_frsups</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="nnns plane yellow"><br/></td><td class="snns file yellow">frsupp ( ⦃?,?⦄ ⧁+ ⦃?,?⦄ )</td><td class="snnn file yellow">frsupp_frsupp</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">generic term relocation</td><td class="snns file yellow">lifts_vector ( ⇧*[?] ? ≡ ? )</td><td class="snnn file yellow">lifts_lift_vector</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="nnns plane yellow"><br/></td><td class="snns file yellow">lifts ( ⇧*[?] ? ≡ ? )</td><td class="snnn file yellow">lifts_lift lifts_lifts</td><td class="snnn file yellow"><br/></td><td class="snnn file yellow"><br/></td><td class="ssnn file yellow"><br/></td></tr><tr><td class="nnns component yellow"><br/></td><td class="snns plane yellow">support for generic relocation</td><td class="snns file yellow">gr2 ( @⦃?,?⦄ ≡ ? )</td><td class="snnn file yellow">gr2_plus ( ? + ? )</td><td class="snnn file yellow">gr2_minus ( ? ▭ ? ≡ ? )</td><td class="snnn file yellow">gr2_gr2</td><td class="ssnn file yellow"><br/></td></tr><tr><td class="snns component orange">substitution</td><td class="snns plane orange">parallel substitution</td><td class="snns file orange">tps ( ? ⊢ ? ▶[?,?] ? )</td><td class="snnn file orange">tps_lift tps_tps</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="snns plane orange">global env. slicing</td><td class="snns file orange">gdrop ( ⇩[?] ? ≡ ? )</td><td class="snnn file orange">gdrop_gdrop</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="snns plane orange">basic local env. slicing</td><td class="snns file orange">ldrop ( ⇩[?,?] ? ≡ ? )</td><td class="snnn file orange">ldrop_append ldrop_lpx ldrop_sfr ldrop_ldrop</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="snns plane orange">local env. ref. for substitution</td><td class="snns file orange">lsubs ( ? ≼[?,?] ? )</td><td class="snnn file orange">(lsubs_lsubs)</td><td class="snnn file orange">lsubs_sfr ( ≽[?,?] ? )</td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="snns plane orange">restricted structural predecessor for closures</td><td class="snns file orange">frsup ( ⦃?,?⦄ ⧁ ⦃?,?⦄ )</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="snns plane orange">basic term relocation</td><td class="snns file orange">lift_vector ( ⇧[?,?] ? ≡ ? )</td><td class="snnn file orange">lift_lift_vector</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="nnns component orange"><br/></td><td class="nnns plane orange"><br/></td><td class="snns file orange">lift ( ⇧[?,?] ? ≡ ? )</td><td class="snnn file orange">lift_lift</td><td class="snnn file orange"><br/></td><td class="snnn file orange"><br/></td><td class="ssnn file orange"><br/></td></tr><tr><td class="snns component red">grammar</td><td class="snns plane red">same head term form</td><td class="snns file red">tshf ( ? ≈ ? )</td><td class="snnn file red">(tshf_tshf)</td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="ssnn file red"><br/></td></tr><tr><td class="nnns component red"><br/></td><td class="snns plane red">same top term constructor</td><td class="snns file red">tstc ( ? ≃ ? )</td><td class="snnn file red">tstc_tstc tstc_vector</td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="ssnn file red"><br/></td></tr><tr><td class="nnns component red"><br/></td><td class="snns plane red">closures</td><td class="snns file red">cl_shift ( ? @@ ? )</td><td class="snnn file red">cl_weight ( #{?,?} )</td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="ssnn file red"><br/></td></tr><tr><td class="nnns component red"><br/></td><td class="snns plane red">internal syntax</td><td class="snns file red">genv</td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="ssnn file red"><br/></td></tr><tr><td class="nnns component red"><br/></td><td class="nnns plane red"><br/></td><td class="snns file red">lenv</td><td class="snnn file red">lenv_weight ( #{?} )</td><td class="snnn file red">lenv_length ( |?| )</td><td class="snnn file red">lenv_append ( ? @@ ? )</td><td class="ssnn file red">lenv_px lenv_px_bi</td></tr><tr><td class="nnns component red"><br/></td><td class="nnns plane red"><br/></td><td class="snns file red">term</td><td class="snnn file red">term_weight ( #{?} )</td><td class="snnn file red">term_simple ( 𝐒⦃?⦄ )</td><td class="snnn file red">term_vector</td><td class="ssnn file red"><br/></td></tr><tr><td class="nnns component red"><br/></td><td class="nnns plane red"><br/></td><td class="snns file red">item</td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="snnn file red"><br/></td><td class="ssnn file red"><br/></td></tr><tr><td class="nnss component red"><br/></td><td class="snss plane red">external syntax</td><td class="snss file red">aarity</td><td class="snsn file red"><br/></td><td class="snsn file red"><br/></td><td class="snsn file red"><br/></td><td class="sssn file red"><br/></td></tr></tbody></table></div>
+
+   <div class="head2">Physical Structure of the Specification</div>
+   <div class="text">The source files are grouped in directories,
+         one for each component.
+   </div>
+   <div class="spacer"><img class="rule" alt="[Spacer]" title="lambdadelta rainbow rule" src="http://lambdadelta.info/images/rainbow.png"/></div><div class="spacer"><br/></div><div class="spacer"><a href="http://validator.w3.org/check?uri=referer"><img class="w3c" alt="[Valid XHTML 1.1]" title="Valid XHTML 1.1" src="http://www.w3.org/Icons/valid-xhtml11-blue"/></a><a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="w3c" alt="[Valid CSS level 2]" title="Valid CSS level 2" src="http://www.w3.org/Icons/valid-css2-blue"/></a><a href="http://www.w3.org/XML/"><img class="w3c" alt="[Generated from XML via XSL]" title="Generated from XML via XSL" src="http://lambdadelta.info/images/xml_xsl2.png"/></a><a href="http://www.w3.org/Graphics/PNG/"><img class="w3c" alt="[PNG used here]" title="PNG used here" src="http://lambdadelta.info/images/PNGnow2.png"/></a><a href="http://www.anybrowser.org/campaign/"><img class="w3c" alt="[Viewable with any browser]" title="Viewable with any browser" src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"/></a></div><div class="spacer"><br/></div><div class="spacer">Last update: 2012-12-01T17:55:33+01:00</div>
+</body>
+</html>
diff --git a/helm/www/lambdadelta/bin/a.ml b/helm/www/lambdadelta/bin/a.ml
new file mode 100644 (file)
index 0000000..4f310c8
--- /dev/null
@@ -0,0 +1,17 @@
+let f = "0123456789abcdef"
+
+let r, g, b = 1.0, 0.5, 0.0
+
+let h = 1. /. 2.
+
+let mk_h x = x +. (1. -. x) *. h
+
+let rr, gg, bb = mk_h r, mk_h g, mk_h b 
+
+let mk_f x = 
+   let x = int_of_float x in
+   print_char f.[x / 16]; print_char f.[x mod 16]  
+
+let _ = 
+   mk_f (rr *. 255.); mk_f (gg *. 255.); mk_f (bb *. 255.);
+   print_newline ()
diff --git a/helm/www/lambdadelta/bin/xhtbl/Makefile b/helm/www/lambdadelta/bin/xhtbl/Makefile
new file mode 100644 (file)
index 0000000..9e9db85
--- /dev/null
@@ -0,0 +1,36 @@
+EXEC = xhtbl
+VERSION=0.1.1
+
+REQUIRES = str
+
+YACCFLAGS = -v
+
+include Makefile.common
+
+XSLT = xsltproc
+XHTBL = ./xhtbl.native
+
+LDURL   = http://lambdadelta.info/
+XSLDIR  = ../../xslt/
+SRCDIR  = ../../web/home/
+ETCDIR  = ../../etc/
+HOMEDIR = ../../
+TBLDIRS = $(SRCDIR) $(ETCDIR)
+
+LDWS  = $(shell find $(SRCDIR) -name "*.ldw.xml")
+TBLS  = $(shell find -L $(TBLDIRS) -name "*.tbl")
+XSLS  = xhtbl.xsl $(patsubst %.tbl, %.xsl, $(notdir $(TBLS)))
+HTMLS = $(patsubst %.ldw.xml, $(HOMEDIR)%.html, $(notdir $(LDWS)))
+LDWEB = ld_web.xsl ld_web_root.xsl ld_web_library.xsl
+
+$(HOMEDIR)%.html: BASEURL = --stringparam baseurl $(LDURL)
+
+www: $(HTMLS)
+
+$(XSLS:%=$(XSLDIR)%): $(TBLS) $(XHTBL)
+       @echo "  XHTBL *.tbl"
+       $(H)$(XHTBL) -O $(XSLDIR) $(TBLS)
+
+$(HOMEDIR)%.html: $(SRCDIR)%.ldw.xml $(XSLS:%=$(XSLDIR)%) $(LDWEB:%=$(XSLDIR)%)
+       @echo "  XSLT $(notdir $<)"
+       $(H)$(XSLT) -o $@ $(BASEURL) $(XSLDIR)ld_web.xsl $<
diff --git a/helm/www/lambdadelta/bin/xhtbl/Makefile.common b/helm/www/lambdadelta/bin/xhtbl/Makefile.common
new file mode 100644 (file)
index 0000000..bf94497
--- /dev/null
@@ -0,0 +1,27 @@
+H=@
+
+include ../../etc/Makefile.defs
+
+DIST=$(EXEC)---$(VERSION)
+DATE=$(shell date +%y%m%d)
+
+OCAMLOPTIONS = -linkpkg -thread -rectypes -package \"$(REQUIRES)\" 
+OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLOPTIONS) 
+OCAMLOPT = $(OCAMLFIND) opt $(OCAMLOPTIONS)
+
+all: $(EXEC).native
+
+$(EXEC).native: $(wildcard *.ml) $(wildcard *.mli) $(wildcard *.mly) $(wildcard *.mll)
+       @echo "  OCAMLBUILD $(EXEC).native" 
+       $(H)ocamlbuild -ocamlc "$(OCAMLC)" -ocamlopt "$(OCAMLOPT)" -yaccflags "$(YACCFLAGS)" $(EXEC).native 
+
+clean:
+       ocamlbuild -clean
+       rm -rf $(DIST) $(DIST).tgz
+
+dist:
+       mkdir -p $(DIST)/Sources
+       cp ReadMe $(DIST)
+       cp *.ml *.mli *.mll *.mly Makefile _tags $(DIST)/Sources
+       cd $(DIST); ln -s Sources/$(EXEC).native $(EXEC)
+       tar -cvzf $(DIST).tgz $(DIST)
diff --git a/helm/www/lambdadelta/bin/xhtbl/css.ml b/helm/www/lambdadelta/bin/xhtbl/css.ml
new file mode 100644 (file)
index 0000000..82a41e9
--- /dev/null
@@ -0,0 +1,20 @@
+module L = List
+
+module T = Table
+
+(* true for a row specification *)
+type atom = T.css * bool * int option * int option
+
+type atoms = atom list
+
+let get_css a y x =
+   let map y x (c, b, x1, x2) = match b, x1, x2 with
+      | _    , None, None       -> c
+      | false, None, Some c2    -> if x <= c2 then c else []
+      | false, Some c1, None    -> if x >= c1 then c else []
+      | false, Some c1, Some c2 -> if x >= c1 && x <= c2 then c else []
+      | true , None, Some r2    -> if y <= r2 then c else []
+      | true , Some r1, None    -> if y >= r1 then c else []
+      | true , Some r1, Some r2 -> if y >= r1 && y <= r2 then c else []
+   in
+   L.concat (L.map (map y x) a)
diff --git a/helm/www/lambdadelta/bin/xhtbl/fold.ml b/helm/www/lambdadelta/bin/xhtbl/fold.ml
new file mode 100644 (file)
index 0000000..752b06d
--- /dev/null
@@ -0,0 +1,25 @@
+module T = Table
+
+type 'a fold_cb = {
+   open_table : 'a -> T.table -> 'a;
+   close_table: 'a -> T.table -> 'a;
+   map_key    : 'a -> T.key -> 'a;
+   open_line  : bool -> 'a -> 'a;
+   close_line : bool -> 'a -> 'a;
+   open_entry : bool -> 'a -> 'a;   
+   close_entry: bool -> 'a -> 'a -> 'a;
+}
+
+let map h g f a b = h a (g (f a) b)
+
+let rec fold_table cb a t =
+   let a = cb.open_table a t in
+   let a = fold_entry cb a t.T.te in
+   cb.close_table a t
+
+and fold_entry cb a = function
+   | T.Key k        -> cb.map_key a k
+   | T.Line (r, ts) ->
+      let a = cb.open_line r a in
+      let a = List.fold_left (map (cb.close_entry r) (fold_table cb) (cb.open_entry r)) a ts in
+      cb.close_line r a
diff --git a/helm/www/lambdadelta/bin/xhtbl/matrix.ml b/helm/www/lambdadelta/bin/xhtbl/matrix.ml
new file mode 100644 (file)
index 0000000..4769a54
--- /dev/null
@@ -0,0 +1,52 @@
+module A = Array
+
+module T = Table
+
+type cell = {
+   ck: string list; (* contents *)
+   cc: T.css;       (* css classes *)
+   cb: T.border;    (* border *)
+}
+
+type matrix = {
+   r: int;              (* rows *)
+   c: int;              (* columns *)
+   m: cell array array; (* matrix *)
+}
+
+let empty = {
+   ck = []; cc = []; cb = T.border false;
+}
+
+let make ts = {
+   r = ts.T.rf; c = ts.T.cf;
+   m = A.make_matrix ts.T.rf ts.T.cf empty;
+}
+
+let set_key m y x kl = 
+   m.m.(y).(x) <- {m.m.(y).(x) with ck = kl}
+
+let set_css m y x c = 
+   m.m.(y).(x) <- {m.m.(y).(x) with cc = c @ m.m.(y).(x).cc}
+
+let set_west m y x b =
+   let c = m.m.(y).(x) in
+   let cb = {c.cb with T.w = c.cb.T.w || b.T.w} in 
+   m.m.(y).(x) <- {c with cb = cb}
+
+let set_north m y x b =
+   let c = m.m.(y).(x) in
+   let cb = {c.cb with T.n = c.cb.T.n || b.T.n} in 
+   m.m.(y).(x) <- {c with cb = cb}
+
+let set_east m y x b =
+   if x < pred m.c then set_west m y (succ x) {b with T.w = b.T.e} else
+   let c = m.m.(y).(x) in
+   let cb = {c.cb with T.e = c.cb.T.e || b.T.e} in 
+   m.m.(y).(x) <- {c with cb = cb}
+
+let set_south m y x b =
+   if y < pred m.r then set_north m (succ y) x {b with T.n = b.T.s} else
+   let c = m.m.(y).(x) in
+   let cb = {c.cb with T.s = c.cb.T.s || b.T.s} in 
+   m.m.(y).(x) <- {c with cb = cb}
diff --git a/helm/www/lambdadelta/bin/xhtbl/options.ml b/helm/www/lambdadelta/bin/xhtbl/options.ml
new file mode 100644 (file)
index 0000000..ce1c888
--- /dev/null
@@ -0,0 +1,34 @@
+let output_dir_default = ""
+
+let debug_lexer_default = false
+
+let debug_pass_default = false
+
+let pass_default = false
+
+let output_dir = ref output_dir_default
+
+let debug_lexer = ref debug_lexer_default
+
+let d0 = ref debug_pass_default
+
+let d1 = ref debug_pass_default
+
+let d2 = ref debug_pass_default
+
+let e1 = ref debug_pass_default
+
+let e2 = ref debug_pass_default
+
+let p0 = ref pass_default
+
+let p1 = ref pass_default
+
+let p2 = ref pass_default
+
+let clear () =
+   output_dir := output_dir_default;
+   debug_lexer := debug_lexer_default;
+   d0 := debug_pass_default; d1 := debug_pass_default; d2 := debug_pass_default; 
+   e1 := debug_pass_default; e2 := debug_pass_default;
+   p0 := pass_default; p1 := pass_default; p2 := pass_default
diff --git a/helm/www/lambdadelta/bin/xhtbl/pass1.ml b/helm/www/lambdadelta/bin/xhtbl/pass1.ml
new file mode 100644 (file)
index 0000000..1c53e7d
--- /dev/null
@@ -0,0 +1,86 @@
+module L = List
+
+module T = Table
+module F = Fold
+
+type status = {
+   ts: T.size; (* current dimensions *)
+   tc: T.css;  (* current class *)
+}
+
+let empty = {
+   ts = T.no_size; tc = [];
+}
+
+let init b ts =
+   if b then
+      {ts with T.ri = max_int; T.ci = 0}
+   else
+      {ts with T.ri = 0; T.ci = max_int}
+
+let combine b ts1 ts2 =
+   if b then    
+      {ts1 with 
+         T.rf = max ts1.T.rf ts2.T.rf; T.ri = min ts1.T.ri ts2.T.ri; 
+        T.cf = ts1.T.cf + ts2.T.cf; T.ci = ts1.T.ci + ts2.T.ci;
+      }
+   else
+      {ts1 with
+         T.cf = max ts1.T.cf ts2.T.cf; T.ci = min ts1.T.ci ts2.T.ci;
+        T.rf = ts1.T.rf + ts2.T.rf; T.ri = ts1.T.ri + ts2.T.ri; 
+      }
+
+let deinit ts = {ts with
+   T.ri = if ts.T.ri = max_int then 0 else ts.T.ri;
+   T.ci = if ts.T.ci = max_int then 0 else ts.T.ci;
+}
+
+(****************************************************************************)
+
+let open_table st t =
+   t.T.tc <- t.T.tc @ st.tc;
+   {st with tc = t.T.tc}
+
+let close_table st t =
+   t.T.ts <- st.ts; st
+
+let map_key st k = 
+   let ts = match k, st.ts.T.p with
+      | T.Text _     , _          ->
+         {st.ts with T.rf = 1; T.cf = 1; T.ri = 0; T.ci = 0}
+      | T.Glue None  , _          ->
+         {st.ts with T.rf = 0; T.cf = 0; T.ri = 1; T.ci = 1}
+      | T.Glue Some g, Some false ->
+         {st.ts with T.rf = g; T.cf = 0; T.ri = 0; T.ci = 1}
+      | T.Glue Some g, Some true  ->
+         {st.ts with T.rf = 0; T.cf = g; T.ri = 1; T.ci = 0}
+      | T.Glue Some g, None       ->
+         {st.ts with T.rf = g; T.cf = g; T.ri = 0; T.ci = 0}
+   in
+   {st with ts = ts}
+
+let open_line b st =
+   let ts = init b st.ts in
+   let ts = {ts with T.rf = 0; T.cf = 0} in
+   {st with ts = ts}
+
+let open_entry b st =
+   let ts = {st.ts with T.p = Some b} in
+   {st with ts = ts}
+
+let close_entry b st sst =
+   {st with ts = combine b st.ts sst.ts}
+
+let close_line b st =
+   {st with ts = deinit st.ts}
+
+let cb = {
+   F.open_table = open_table; F.close_table = close_table;   
+   F.open_line = open_line; F.close_line = close_line;
+   F.open_entry = open_entry; F.close_entry = close_entry;
+   F.map_key = map_key;
+}
+
+let process t =
+   let st = F.fold_table cb empty t in
+   st.ts
diff --git a/helm/www/lambdadelta/bin/xhtbl/pass2.ml b/helm/www/lambdadelta/bin/xhtbl/pass2.ml
new file mode 100644 (file)
index 0000000..68cc7ba
--- /dev/null
@@ -0,0 +1,139 @@
+module O = Options
+module T = Table
+module M = Matrix
+module F = Fold
+
+type status = {
+   ts: T.size;   (* current dimensions *)
+   tm: M.matrix; (* current matrix *)
+}
+
+let initial t m = {
+   ts = {t.T.ts with T.ri = 0; T.ci = 0};
+   tm = m;
+}
+
+let resize b sts tts = 
+   if b then begin (* parent is a row *) 
+      if tts.T.rf < sts.T.rf && tts.T.ri = 0 then
+         failwith "underful column";
+      {tts with T.rf = sts.T.rf; T.cf = tts.T.cf + sts.T.ci * tts.T.ci}
+   end else begin (* parent is a column *)
+      if tts.T.cf < sts.T.cf && tts.T.ci = 0 then
+         failwith "underful row";
+      {tts with T.cf = sts.T.cf; T.rf = tts.T.rf + sts.T.ri * tts.T.ri}
+   end
+
+let fill b sts tts =
+   if b then (* parent is a row *) 
+      {sts with T.ri = 
+         let rf, ri = sts.T.rf - tts.T.rf, tts.T.ri in
+        if ri = 0 then 0 else
+        if rf mod ri = 0 then rf / ri else
+        failwith "fracted column"
+      }
+   else (* parent is a column *)
+      {sts with T.ci = 
+         let cf, ci = sts.T.cf - tts.T.cf, tts.T.ci in
+        if ci = 0 then 0 else
+        if cf mod ci = 0 then cf / ci else
+        failwith "fracted row"
+      }
+
+let place b sts tts =
+   if b then (* parent is a row *)
+      {sts with T.x = sts.T.x + tts.T.cf}
+   else (* parent is a column *)
+      {sts with T.y = sts.T.y + tts.T.rf}
+
+let set_key st t = match t.T.te with
+   | T.Key (T.Text sl) -> M.set_key st.tm t.T.ts.T.y t.T.ts.T.x sl  
+   | _                 -> ()
+
+let set_css st t =
+   let rec aux y x =
+      if y >= t.T.ts.T.rf then () else
+      if x >= t.T.ts.T.cf then aux (succ y) 0 else begin
+        M.set_css st.tm (t.T.ts.T.y + y) (t.T.ts.T.x + x) t.T.tc;
+         aux y (succ x)
+      end
+   in
+   match t.T.te with 
+      | T.Key _ -> aux 0 0 
+      | _       -> ()
+
+let set_borders st t =
+   let rec aux_we y =
+      if y >= t.T.ts.T.rf then () else begin
+        M.set_west st.tm (t.T.ts.T.y + y) t.T.ts.T.x t.T.tb;
+        if t.T.ts.T.cf > 0 then 
+           M.set_east st.tm (t.T.ts.T.y + y) (t.T.ts.T.x + pred t.T.ts.T.cf) t.T.tb;
+         aux_we (succ y)
+      end      
+   in
+   let rec aux_ns x =
+      if x >= t.T.ts.T.cf then () else begin
+        M.set_north st.tm t.T.ts.T.y (t.T.ts.T.x + x) t.T.tb;
+        if t.T.ts.T.rf > 0 then 
+           M.set_south st.tm (t.T.ts.T.y + pred t.T.ts.T.rf) (t.T.ts.T.x + x) t.T.tb;
+         aux_ns (succ x)
+      end      
+   in
+   match t.T.te with 
+      | T.Line (true, _) -> aux_we 0; aux_ns 0
+      | _                -> ()
+
+let print st t = 
+   if !O.e2 then
+      Printf.printf "#%u: (%u+%u, %u+%u) - (%u+%u, %u+%u)\n"
+         t.T.ti 
+         t.T.ts.T.rf t.T.ts.T.ri 
+         t.T.ts.T.cf t.T.ts.T.ci
+         st.ts.T.rf st.ts.T.ri
+         st.ts.T.cf st.ts.T.ci
+
+(****************************************************************************)
+
+let open_table st t =
+   print st t;
+   let ts = match t.T.ts.T.p with
+      | None   ->
+         let ts = fill false st.ts t.T.ts in
+         let ts = fill true ts t.T.ts in
+        t.T.ts <- resize false st.ts t.T.ts;
+         t.T.ts <- resize true st.ts t.T.ts;
+        ts
+      | Some b ->
+         let ts = fill b st.ts t.T.ts in
+        t.T.ts <- resize b st.ts t.T.ts;
+        ts
+   in
+   t.T.ts <- {t.T.ts with T.ri = 0; T.ci = 0; T.x = st.ts.T.x; T.y = st.ts.T.y};
+   let ts = {ts with T.rf = t.T.ts.T.rf; T.cf = t.T.ts.T.cf} in
+   let st = {st with ts = ts} in 
+   print st t; st
+
+let close_table st t =
+   set_key st t; set_css st t; set_borders st t; st
+
+let map_key st k = st
+
+let open_line b st = st
+
+let open_entry b st = st
+
+let close_entry b st sst =
+   let ts = place b st.ts sst.ts in
+   {st with ts = ts}
+
+let close_line b st = st
+
+let cb = {
+   F.open_table = open_table; F.close_table = close_table;   
+   F.open_line = open_line; F.close_line = close_line;
+   F.open_entry = open_entry; F.close_entry = close_entry;
+   F.map_key = map_key;
+}
+
+let process t m =
+   let _ = F.fold_table cb (initial t m) t in ()
diff --git a/helm/www/lambdadelta/bin/xhtbl/pass3.ml b/helm/www/lambdadelta/bin/xhtbl/pass3.ml
new file mode 100644 (file)
index 0000000..4513828
--- /dev/null
@@ -0,0 +1,23 @@
+module A = Array
+
+module M = Matrix
+module C = Css
+
+type status = {
+   m: M.matrix;
+   a: C.atoms;
+}
+
+let initial a m = {
+   m = m; a = a;
+}
+
+let process_cell st y x c =
+   M.set_css st.m y x (C.get_css st.a y x)
+
+let process_row st y row =
+   A.iteri (process_cell st y) row
+
+let process css matrix =
+   let st = initial css matrix in
+   A.iteri (process_row st) matrix.M.m
diff --git a/helm/www/lambdadelta/bin/xhtbl/table.ml b/helm/www/lambdadelta/bin/xhtbl/table.ml
new file mode 100644 (file)
index 0000000..e363cd4
--- /dev/null
@@ -0,0 +1,54 @@
+type css = string list
+
+type size = {
+   y : int;         (* first row *)
+   x : int;         (* first column *)
+   rf: int;         (* finite rows *)
+   cf: int;         (* finite columns *)
+   ri: int;         (* infinite rows *)
+   ci: int;         (* infinite columns *)
+   p : bool option; (* parent kind *)
+}
+
+type border = {
+   n: bool; (* north *)
+   s: bool; (* south *)
+   e: bool; (* east *)
+   w: bool; (* west *)
+}
+
+type key = Text of string list
+         | Glue of int option
+
+type table = {
+   mutable tc: css;    (* css classes *)
+   mutable ts: size;   (* dimension *)
+           tb: border; (* border *)
+           te: entry;  (* contents *)
+          ti: int;    (* table identifier *)
+}
+
+and entry = Key  of key
+          | Line of bool * table list (* true for a row *)
+
+let id =
+   let current = ref 0 in
+   fun () -> incr current; !current
+
+let no_size = {
+   y = 0; x = 0; rf = 0; cf = 0; ri = 0; ci = 0; p = None;
+}
+
+let border b = {
+   n = b; s = b; e = b; w = b;
+}
+
+let mk_key k tc = {
+   ts = no_size; tb = border false; te = Key k; tc = tc;
+   ti = id ();
+}
+
+let mk_line b tl tc = {
+   ts = no_size; tb = border b; te = Line (b, tl); tc = tc;
+   ti = id ();
+}
diff --git a/helm/www/lambdadelta/bin/xhtbl/textLexer.mll b/helm/www/lambdadelta/bin/xhtbl/textLexer.mll
new file mode 100644 (file)
index 0000000..7557e7b
--- /dev/null
@@ -0,0 +1,35 @@
+{
+   module S  = String
+   module O  = Options
+   module TP = TextParser
+   
+   let trim s = S.sub s 1 (S.length s - 2)
+   
+   let out s = if !O.debug_lexer then prerr_endline s
+}
+
+let SPC = ['\r' '\n' '\t' ' ']+
+let QT  = '"'
+let STR = QT [^'"']* QT
+let NUM = ['0'-'9']+
+
+rule token = parse
+   | SPC      { token lexbuf                    }
+   | STR as s { out s; TP.TEXT (trim s)         }
+   | NUM as s { out s; TP.NUM (int_of_string s) }
+   | "{"      { out "{"; TP.OC                  }
+   | "}"      { out "}"; TP.CC                  }
+   | "["      { out "["; TP.OB                  }
+   | "]"      { out "]"; TP.CB                  }   
+   | "*"      { out "*"; TP.SR                  }
+   | "+"      { out "+"; TP.PS                  }
+   | "name"   { out "name"; TP.NAME             }   
+   | "table"  { out "table"; TP.TABLE           }
+   | "class"  { out "class"; TP.CSS             }
+   | "(*"     { block lexbuf; token lexbuf      }
+   | eof      { TP.EOF                          }
+and block = parse
+   | "*)"     { ()                              }
+   | "(*"     { block lexbuf; block lexbuf      }
+   | STR      { block lexbuf                    }
+   | _        { block lexbuf                    }
diff --git a/helm/www/lambdadelta/bin/xhtbl/textParser.mly b/helm/www/lambdadelta/bin/xhtbl/textParser.mly
new file mode 100644 (file)
index 0000000..333d342
--- /dev/null
@@ -0,0 +1,95 @@
+%{
+
+module S = Str
+module L = List
+module T = Table
+
+let split s =
+   S.split (S.regexp "[ \r\n\t]+") s
+
+let mk_atom s rs =
+   let map c (b, (x1, x2)) = c, b, x1, x2 in 
+   L.map (map (split s)) rs
+
+%}
+
+%token <int> NUM
+%token <string> TEXT 
+%token NAME TABLE CSS SR OC CC OB CB PS EOF
+
+%start script
+%type <(string * Table.table * Css.atoms) list> script
+
+%%
+
+text:
+   | TEXT { $1 }
+
+texts:
+  | text          { [$1]     }
+  | text PS texts { $1 :: $3 }
+;
+
+key:
+   | texts { T.Text $1        }
+   | SR    { T.Glue None      }
+   | NUM   { T.Glue (Some $1) }
+;
+
+css:
+   |          { []       }
+   | CSS TEXT { split $2 }
+;
+
+table:
+   | css key          { T.mk_key        $2 $1 }
+   | css OC tables CC { T.mk_line false $3 $1 }
+   | css OB tables CB { T.mk_line true  $3 $1 }
+;
+
+tables:
+   |              { []       }
+   | table tables { $1 :: $2 }
+;
+
+name:
+   |           { "" }
+   | NAME TEXT { $2 }
+;
+
+interval:
+   | NUM     { Some $1, Some $1 }
+   | SR      { None, None       } 
+   | NUM NUM { Some $1, Some $2 }
+   | NUM SR  { Some $1, None    }
+   | SR NUM  { None, Some $2    }
+   | SR SR   { None, None       }
+;
+
+range:
+   | OB interval CB { true, $2  }
+   | OC interval CC { false, $2 }
+;
+
+ranges:
+   |              { []       }
+   | range ranges { $1 :: $2 }
+;
+
+atom:
+   | CSS TEXT ranges { mk_atom $2 $3 }
+;
+
+atoms:
+   |            { []      }
+   | atom atoms { $1 @ $2 }
+;
+
+directive:
+   | name TABLE table atoms { $1, $3, $4 }
+;
+
+script:
+   | EOF              { []       }
+   | directive script { $1 :: $2 }
+;
diff --git a/helm/www/lambdadelta/bin/xhtbl/textUnparser.ml b/helm/www/lambdadelta/bin/xhtbl/textUnparser.ml
new file mode 100644 (file)
index 0000000..54995e9
--- /dev/null
@@ -0,0 +1,91 @@
+module L = List
+module P = Printf
+module S = String
+
+module T = Table
+module F = Fold
+
+type status = {
+   i: int;              (* indentation *)
+   out: string -> unit; (* output function *)
+}
+
+let home = {
+   i = 0; out = print_string
+}
+
+let indent st =
+   S.make st.i ' '
+
+let add st = {st with i = st.i + 3}
+
+let sub st = {st with i = st.i - 3}
+
+let parent = function
+   | None       -> "key"
+   | Some false -> "col"
+   | Some true  -> "row"
+
+let size ts =
+   P.sprintf "(%u, %u); (%u+%u, %u+%u); %s"
+      ts.T.y ts.T.x ts.T.rf ts.T.ri ts.T.cf ts.T.ci (parent ts.T.p)
+
+let border tb =
+   let str = S.make 4 ' ' in
+   if tb.T.w then str.[0] <- 'W';
+   if tb.T.n then str.[1] <- 'N';
+   if tb.T.e then str.[2] <- 'E';
+   if tb.T.s then str.[3] <- 'S';
+   str
+
+let css tc =
+   P.sprintf "\"%s\"" (S.concat " " tc)
+
+let key = function
+   | T.Text sl       ->
+      let map s = P.sprintf "\"%s\"" s in
+      S.concat " + " (L.map map sl)
+   | T.Glue None     -> "*"
+   | T.Glue (Some i) -> P.sprintf "%u" i
+
+let entry = function
+   | false -> "column"
+   | true  -> "row"
+
+(****************************************************************************)
+
+let open_table st t =
+   let str = 
+      P.sprintf "%s[{#%u: %s; %s; %s}\n"    
+         (indent st) t.T.ti (size t.T.ts) (border t.T.tb) (css t.T.tc)
+   in
+   st.out str; add st
+
+let close_table st t =
+   let st = sub st in
+   let str = P.sprintf "%s]\n" (indent st) in
+   st.out str; st
+
+let map_key st k =
+   let str = P.sprintf "%s%s\n" (indent st) (key k) in
+   st.out str; st
+   
+let open_line b st =
+   let str = P.sprintf "%s%s\n" (indent st) (entry b) in
+   st.out str; st
+
+let close_line b st = st
+
+let open_entry b st = st
+
+let close_entry b st sst = st
+
+let cb = {
+   F.open_table = open_table; F.close_table = close_table;   
+   F.open_line = open_line; F.close_line = close_line;
+   F.open_entry = open_entry; F.close_entry = close_entry;
+   F.map_key = map_key;
+}
+
+let debug t =
+   let _ = F.fold_table cb home t in ()
diff --git a/helm/www/lambdadelta/bin/xhtbl/xhtbl.ml b/helm/www/lambdadelta/bin/xhtbl/xhtbl.ml
new file mode 100644 (file)
index 0000000..cf4d818
--- /dev/null
@@ -0,0 +1,76 @@
+module A = Arg
+module F = Filename
+module L = List
+
+module O  = Options 
+module TP = TextParser
+module TL = TextLexer
+module TU = TextUnparser
+module P1 = Pass1
+module P2 = Pass2
+module P3 = Pass3
+module M  = Matrix
+module XU = XmlUnparser
+
+let help    = ""
+let help_L  = ""
+let help_O  = ""
+let help_X  = ""
+let help_d0 = ""
+let help_d1 = ""
+let help_d2 = ""
+let help_e1 = ""
+let help_e2 = ""
+let help_p0 = ""
+let help_p1 = ""
+let help_p2 = ""
+
+let hook = "xhtbl"
+
+let includes, tables = ref [], ref []
+
+let set_output_dir s = O.output_dir := s
+
+let process_directive och bname (name, table, css) =
+   tables := name :: !tables;
+   if !O.d0 then TU.debug table;
+   if not !O.p0 then begin
+      let size = P1.process table in
+      if !O.d1 then TU.debug table;
+      if not !O.p1 then begin
+         let matrix = M.make size in
+         let _ = P2.process table matrix in
+         if !O.d2 then TU.debug table;
+         if not !O.p2 then P3.process css matrix;
+        let name = if name = "" then bname else name in
+         XU.output och name matrix
+      end
+   end
+
+let process_file fname =
+   let bname = F.chop_extension (F.basename fname) in
+   let ich = open_in fname in
+   let lexbuf = Lexing.from_channel ich in
+   let ds = TP.script TL.token lexbuf in
+   close_in ich; includes := bname :: !includes;
+   let och = XU.open_out true bname in 
+   L.iter (process_directive och bname) ds;
+   XU.close_out och
+
+let main () =
+   A.parse [
+      "-L", A.Set O.debug_lexer, help_L;
+      "-O", A.String set_output_dir, help_O; 
+      "-X", A.Unit O.clear, help_X;
+      "-d0", A.Set O.d0, help_d0;  
+      "-d1", A.Set O.d1, help_d1;  
+      "-d2", A.Set O.d2, help_d2;  
+      "-e1", A.Set O.e1, help_e1;  
+      "-e2", A.Set O.e2, help_e2;  
+      "-p0", A.Set O.p0, help_p0;  
+      "-p1", A.Set O.p1, help_p1;  
+      "-p2", A.Set O.p2, help_p2;  
+   ] process_file help;
+   XU.write_hook hook !includes !tables 
+
+let _ = main ()
diff --git a/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml b/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml
new file mode 100644 (file)
index 0000000..3583c2f
--- /dev/null
@@ -0,0 +1,82 @@
+module A = Array
+module F = Filename
+module L = List
+module P = Printf
+module S = String
+
+module O = Options
+module T = Table
+module M = Matrix
+
+let i = 0
+
+let myself = F.basename (Sys.argv.(0))
+
+let msg = P.sprintf "This file was generated by %s, do not edit" myself
+
+let border cell =
+   let str = S.make 4 'n' in
+   if cell.M.cb.T.n then str.[0] <- 's';   
+   if cell.M.cb.T.e then str.[1] <- 's';
+   if cell.M.cb.T.s then str.[2] <- 's';
+   if cell.M.cb.T.w then str.[3] <- 's';
+   str :: cell.M.cc
+
+let key cell =
+   if cell.M.ck = [] then "<br/>" else S.concat " " cell.M.ck
+
+let ind i = S.make (2 * i) ' '
+
+let out_cell och cell =
+   let cc = border cell in
+   P.fprintf och "%s<td class=\"%s\">%s</td>\n"
+      (ind (i+4)) (S.concat " " cc) (key cell)
+
+let out_row och row =
+   P.fprintf och "%s<tr>\n" (ind (i+3));
+   A.iter (out_cell och) row;
+   P.fprintf och "%s</tr>\n" (ind (i+3))
+
+(****************************************************************************)
+
+let open_out html name =
+   let fname = F.concat !O.output_dir (P.sprintf "%s.xsl" name) in
+   let och = open_out fname in
+   P.fprintf och "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n";
+   P.fprintf och "<!-- %s -->\n\n" msg;   
+   P.fprintf och "<xsl:stylesheet version=\"1.0\"\n";
+   P.fprintf och "                xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n";
+   if html then P.fprintf och "                xmlns=\"http://www.w3.org/1999/xhtml\"\n";
+   P.fprintf och ">\n\n";
+   och
+
+let output och name matrix =
+   P.fprintf och "<xsl:template name=\"%s\">\n" name;
+   P.fprintf och "%s<table cellpadding=\"4\" cellspacing=\"0\">\n" (ind (i+1));
+   P.fprintf och "%s<tbody>\n" (ind (i+2));
+   A.iter (out_row och) matrix.M.m; 
+   P.fprintf och "%s</tbody>\n" (ind (i+2));
+   P.fprintf och "%s</table>\n" (ind (i+1));
+   P.fprintf och "</xsl:template>\n\n"
+
+let close_out och =
+   P.fprintf och "</xsl:stylesheet>\n";
+   close_out och
+
+let map_incs och name =
+   P.fprintf och "<xsl:include href=\"%s.xsl\"/>\n" name
+
+let map_tbls och name =
+   P.fprintf och "%s<xsl:when test=\"@name='%s'\">\n" (ind (i+2)) name;
+   P.fprintf och "%s<xsl:call-template name=\"%s\"/>\n" (ind (i+3)) name;
+   P.fprintf och "%s</xsl:when>\n" (ind (i+2))
+
+let write_hook name incs tbls =
+   let och = open_out false name in
+   L.iter (map_incs och) incs;
+   P.fprintf och "\n<xsl:template name=\"%s\">\n" name;
+   P.fprintf och "%s<xsl:choose>\n" (ind (i+1));
+   L.iter (map_tbls och) tbls;   
+   P.fprintf och "%s</xsl:choose>\n" (ind (i+1));
+   P.fprintf och "</xsl:template>\n\n";
+   close_out och
diff --git a/helm/www/lambdadelta/css/ld_web.css b/helm/www/lambdadelta/css/ld_web.css
new file mode 100644 (file)
index 0000000..9e7c3fc
--- /dev/null
@@ -0,0 +1,121 @@
+@charset "UTF-8";
+
+/* general ******************************************************************/
+
+body {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 0);
+   margin: 2.5%;
+}
+
+a:link, a:visited {
+   text-decoration: underline;
+}
+
+a:active, a:hover, a:focus {
+   background: rgb(192, 192, 192);
+}
+
+/* blocks *******************************************************************/
+
+div.spacer {
+   text-align: center;
+}
+
+div.head1 {
+   margin: 0.5em 0; 
+   text-align: center;
+   font-weight: bold; 
+   font-size: xx-large;
+}
+
+div.head2 {
+   margin: 0.5em 0; 
+   text-align: left;
+   font-weight: bold; 
+   font-size: x-large;
+}
+
+div.text {
+   margin: 1em 0; 
+   text-align: left;
+}
+
+span.date {
+   font-weight: bold;
+}
+
+/* inline decorations *******************************************************/
+
+img.icon32 {
+   border: 0; 
+   width: 32px; 
+   height: 32px;
+}
+
+img.rule {
+   border: 0; 
+   height: 4px;
+   width: 100%; 
+}
+
+img.w3c {
+   margin: 0 0.5em; 
+   border: 0; 
+   width: 88px; 
+   height: 32px; /* this should be 31px */
+}
+
+/* background colors ********************************************************/
+
+.grey {
+  background-color:#dfdfdf; /* + 7/8 */
+}
+
+.wine {
+  background-color:#ffbfdf; /* + 3/4 */
+}
+
+.magenta {
+  background-color:#ffccff; /* + 4/5 */
+}
+
+.prune {
+  background-color:#e5ccff; /* + 4/5 */
+}
+
+.blue {
+  background-color:#ccccff; /* + 4/5 */
+}
+
+.sky {
+  background-color:#bfdfff; /* + 3/4 */
+}
+
+.cyan {
+  background-color:#bfffff; /* + 3/4 */  
+}
+
+.water {
+  background-color:#ccffe5; /* + 4/5 */ 
+}
+
+.green {
+  background-color:#bfffbf; /* + 3/4 */
+}
+
+.grass {
+  background-color:#dfffbf; /* + 3/4 */
+}
+
+.yellow {
+  background-color:#ffffbf; /* + 3/4 */
+}
+
+.orange {
+  background-color:#ffdfbf; /* + 3/4 */
+}
+
+.red {
+  background-color:#ffbfbf; /* + 3/4 */
+}
diff --git a/helm/www/lambdadelta/css/lddl.css b/helm/www/lambdadelta/css/lddl.css
new file mode 100644 (file)
index 0000000..41a635d
--- /dev/null
@@ -0,0 +1,43 @@
+@charset "UTF-8";
+
+/* terms ********************************************************************/
+
+.separator {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 0);
+}
+
+.sort {
+   background: rgb(255, 255, 255); 
+   color: rgb(128, 0, 255);
+}
+
+.lref {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 0);
+}
+
+.gref {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 255);
+}
+
+.appl {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 0);
+}
+
+.cast {
+   background: rgb(255, 255, 255); 
+   color: rgb(255, 0, 0);
+}
+
+.local {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 160, 0);
+}
+
+.global {
+   background: rgb(255, 255, 255); 
+   color: rgb(0, 0, 0);
+}
diff --git a/helm/www/lambdadelta/css/xhtbl.css b/helm/www/lambdadelta/css/xhtbl.css
new file mode 100644 (file)
index 0000000..f58db47
--- /dev/null
@@ -0,0 +1,108 @@
+@charset "UTF-8";
+
+/* positioning **************************************************************/
+
+table {
+  margin-left: auto;
+  margin-right: auto;
+  width: 100%;
+}
+
+td {
+  border-color:#000000;
+  border-width:1px;
+  color:#000000;
+}
+
+/* content types ************************************************************/
+
+.text {  
+  font-style: normal;
+}
+
+.component {
+  font-style: italic;
+  text-transform: capitalize;
+}
+
+.plane {  
+  font-style: italic;
+  text-transform: lowercase;
+}
+
+.file {  
+  font-style: normal;
+  text-transform: lowercase;
+}
+
+.number {
+  text-align: right; 
+  font-style: italic;
+  text-transform: lowercase;
+}
+
+/* cell borders *************************************************************/
+
+td.nnnn {
+  border-style:none none none none;
+}
+
+td.nnns {
+  border-style:none none none solid;
+}
+
+td.nnsn {
+  border-style:none none solid none;
+}
+
+td.nnss {
+  border-style:none none solid solid;
+}
+
+td.nsnn {
+  border-style:none solid none none;
+}
+
+td.nsns {
+  border-style:none solid none solid;
+}
+
+td.nssn {
+  border-style:none solid solid none;
+}
+
+td.nsss {
+  border-style:none solid solid solid;
+}
+
+td.snnn {
+  border-style:solid none none none;
+}
+
+td.snns {
+  border-style:solid none none solid;
+}
+
+td.snsn {
+  border-style:solid none solid none;
+}
+
+td.snss {
+  border-style:solid none solid solid;
+}
+
+td.ssnn {
+  border-style:solid solid none none;
+}
+
+td.ssns {
+  border-style:solid solid none solid;
+}
+
+td.sssn {
+  border-style:solid solid solid none;
+}
+
+td.ssss {
+  border-style:solid solid solid solid;
+}
diff --git a/helm/www/lambdadelta/documentation.html b/helm/www/lambdadelta/documentation.html
new file mode 100644 (file)
index 0000000..3f24ef4
--- /dev/null
@@ -0,0 +1,355 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
+    <title>lambdadelta home page</title>
+    <meta content="Ferruccio Guidi" name="author">
+    <meta content="The formal system lambdadelta" name="description">
+    <link rel="shortcut icon" href="download/crux_16.ico">
+  </head>
+  <body>
+    <div style="text-align: center;">
+      <br>
+      <a href="http://lambdadelta.info"><img alt="[Crux Logo]"
+          title="The Crux" src="download/crux_32.png" style="border: 0px
+          solid ; width: 32px; height: 32px;"></a>
+      <h1>The Formal System λδ (lambdadelta)<br>
+      </h1>
+      <h2>Towards the unification of terms, types, environments and
+        contexts</h2>
+      <img style="width: 95%; height: 4px;" alt="[Separator]"
+        title="Separator" src="download/rainbow.png"><br>
+      <table style="text-align: left; width: 95%; margin-left: auto;
+        margin-right: auto;" border="0" cellpadding="2" cellspacing="20">
+        <tbody>
+          <tr>
+            <td style="vertical-align: top;">
+              <ul>
+                <li><a href="index.html">Foreword</a></li>
+              </ul>
+              <ul>
+                <li><a href="news.html">News</a></li>
+              </ul>
+              <ul>
+                <li>Papers</li>
+              </ul>
+              <ul>
+                <li><a href="implementation.html">Resources</a><br>
+                </li>
+              </ul>
+            </td>
+            <td style="vertical-align: top; text-align: left;">
+              <h3 style="text-align: right;">Documentation <img
+                  style="width: 37px; height: 37px;" alt="[Butterfly]"
+                  title="Butterfly" src="download/b5.png"></h3>
+              Currently the <span style="font-weight: bold;">main
+                source of
+                information</span> on λδ (version 1) is <span
+                style="font-weight: bold;">Resource
+                1.1</span> below.<br>
+              A <span style="font-weight: bold;">summary</span> of
+              basic λδ (version
+              1) is found in <span style="font-weight: bold;">Resource
+                1.5</span>
+              below.<br>
+              <h3><img style="width: 32px; height: 32px;" alt="[Basic
+                  lambdadelta Logo]" title="Basic lambdadelta"
+                  src="download/basic_32.png"> Basic λδ version 2 (in
+                progress):</h3>
+              <table style="text-align: left; width: 100%;" border="0"
+                cellpadding="2" cellspacing="2">
+                <tbody>
+                  <tr>
+                    <td style="vertical-align: top;">2.1.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldp7"></a>F.
+                      Guidi: <a href="download/cie_2010.pdf"><span
+                          style="font-style: italic;">An
+                          Efficient
+                          Validation Procedure for the Formal System </span><span
+                          style="font-style: italic;">λδ</span></a><span
+                        style="font-style: italic;"></span>
+                      (<span style="font-weight: bold;">2010-07</span>).
+                      In <span style="font-style: italic;">CiE 2010
+                        Local Proceedings</span>.
+                      University of Azores, CMATI Booklet, pp. 204-213.
+                      <a href="implementation.html#bibtex">BibTeX entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">2.2.<br>
+                    </td>
+                    <td style="vertical-align: top;"> <a name="ldp6"></a>F.
+Guidi:
+
+
+
+
+
+
+
+
+
+
+
+                      <a
+href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2009.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2009-16"><span
+                          style="font-style: italic;">Landau's
+                          "Grundlagen der Analysis" from Automath to
+                          lambdadelta</span></a> (<span
+                        style="font-weight: bold;">2009-09)</span>.
+                      University of
+                      Bologna, technical report UBLCS-2009-16. <a
+                        href="implementation.html#bibtex">BibTeX entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">2.3.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt7"></a>F.
+                      Guidi: <a href="download/ld_talk_7s.pdf"><span
+                          style="font-style: italic;">An
+                          Efficient
+                          Validation Procedure for the Formal System λδ</span></a>
+                      (<span style="font-weight: bold;">2010-07</span>).
+                      Presentation
+                      at
+                      CiE
+                      2010
+                      (slides).<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">2.4.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt6"></a>F.
+                      Guidi: <a href="download/ld_talk_6s.pdf"><span
+                          style="font-style: italic;">A
+                          Validator
+                          for the Formal System λδ</span></a> (revised <span
+                        style="font-weight: bold;">2010-02</span>).
+                      Presentation
+                      at
+                      the
+                      University
+                      of
+                      Bologna
+                      (slides). </td>
+                  </tr>
+                </tbody>
+              </table>
+              <h3><img style="width: 32px; height: 32px;" alt="[Basic
+                  lambdadelta Logo]" title="Basic lambdadelta"
+                  src="download/basic_32.png"> Basic λδ version 1
+                (dismissed):</h3>
+              <table style="text-align: left; width: 100%;" border="0"
+                cellpadding="2" cellspacing="2">
+                <tbody>
+                  <tr>
+                    <td style="vertical-align: top;">1.1.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldp5"></a>F.
+Guidi:
+                      <a
+                        href="http://doi.acm.org/10.1145/1614431.1614436"><span
+                          style="font-style: italic;">The Formal System
+                          λδ</span></a> (<span style="font-weight:
+                        bold;">2009-10</span>). In ACM ToCL 11(1),
+                      Article
+                      No. 5 (<a
+                        href="http://tocl.acm.org/accepted/335guidi.pdf">accepted</a>
+                      <span style="font-weight: bold;">2008-07</span>).
+                      CoRR
+                      identifier <a
+                        href="http://arxiv.org/abs/cs/0611040"><span
+                          style="font-style: italic;"></span>cs/0611040</a>
+                      [v10] (revised <span style="font-weight: bold;">2008-09</span>).
+                      <a href="implementation.html#bibtex">BibTeX
+                        entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.2.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldp4"></a>F.
+                      Guidi: <a href="download/cie_2007.pdf"><span
+                          style="font-style: italic;">Lambda
+                          Types on the Lambda Calculus with
+                          Abbreviations</span></a> (<span
+                        style="font-weight: bold;">2007-06</span>).
+                      In <span style="font-style: italic;">CiE 2007
+                        Local Proceedings</span>.
+                      University
+                      of
+                      Siena,
+                      technical
+                      report
+                      487,
+                      p.
+                      387
+                      (abstract
+                      of
+                      a
+                      presentation). <a
+                        href="implementation.html#bibtex">BibTeX
+                        entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.3.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldp3"></a>F.
+                      Guidi: <a
+href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2006.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2006-25"><span
+                          style="font-style: italic;">Lambda Types on
+                          the Lambda Calculus with
+                          Abbreviations</span></a> (<span
+                        style="font-weight: bold;">2006-11</span>).
+                      University
+                      of
+                      Bologna,
+                      technical
+                      report
+                      UBLCS-2006-25. <a
+                        href="implementation.html#bibtex">BibTeX
+                        entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.4.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldp2"></a>F.
+                      Guidi: <a style="font-style: italic;"
+href="http://www.cs.unibo.it/pub/TR/UBLCS/ABSTRACTS/2006.bib?ncstrl.cabernet//BOLOGNA-UBLCS-2006-01">Lambda
+                        Types
+                        on
+                        the
+                        Lambda
+                        Calculus
+                        with
+                        Abbreviations:
+                        a
+                        Certified
+                        Specification</a> (<span style="font-weight:
+                        bold;">2006-01</span>).
+                      University of
+                      Bologna, technical report UBLCS-2006-01. <a
+                        href="implementation.html#bibtex">BibTeX entry</a>.<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.5.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt5"></a>F.
+                      Guidi: <a style="font-style: italic;"
+                        href="download/ld_talk_5s.pdf">The
+                        Formal
+                        System lambdadelta</a>
+                      (<span style="font-weight: bold;">2008-10</span>).
+                      Presentation at
+                      "Advances in Constructive Topology and Logical
+                      Foundations" (slides).<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.6.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt4"></a>F.
+                      Guidi: <a href="download/ld_talk_4s.pdf"><span
+                          style="font-style: italic;">Towards
+                          the Unification of Terms, Types
+                          and Contexts</span></a> (<span
+                        style="font-weight: bold;">2008-03</span>).
+                      Presentation
+                      at
+                      Types
+                      2008
+                      (slides).<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.7.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt3"></a>F.
+                      Guidi: <a href="download/ld_talk_3s.pdf"><span
+                          style="font-style: italic;">Lambda
+                          Types on the Lambda Calculus with
+                          Abbreviations</span></a> (<span
+                        style="font-weight: bold;">2007-06</span>).
+                      Presentation
+                      at
+                      CiE
+                      2007
+                      (slides).<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.8.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt2"></a>F.
+                      Guidi: <a href="download/ld_talk_2s.pdf"><span
+                          style="font-style: italic;">Lambda
+                          Tipi sul Lambda Calcolo con
+                          Abbreviazioni</span></a> (<span
+                        style="font-weight: bold;">2007-01</span>).
+                      Presentation
+                      at
+                      the
+                      University
+                      of
+                      Padova
+                      (slides <span style="font-weight: bold;">in
+                        Italian</span>).<br>
+                      <br>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top;">1.9.<br>
+                    </td>
+                    <td style="vertical-align: top;"><a name="ldt1"></a>F.
+Guidi:
+                      <a href="download/ld_talk_1s.pdf"><span
+                          style="font-style: italic;">Lambda Tipi sul
+                          Lambda Calcolo con
+                          Abbreviazioni: una Specifica Certificata</span></a>
+                      (<span style="font-weight: bold;">2005-12</span>).
+                      Presentation at
+                      the University of Bologna (slides <span
+                        style="font-weight: bold;">in
+                        Italian</span>).<br>
+                    </td>
+                  </tr>
+                </tbody>
+              </table>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      <br>
+      <a href="http://validator.w3.org/check?uri=referer"><img
+          alt="[Valid HTML 4.01 Transitional]" title="Valid HTML 4.01
+          Transitional" src="http://www.w3.org/Icons/valid-html401"
+          style="border: 0px solid ; width: 88px; height: 31px;"></a> <a
+        href="http://www.anybrowser.org/campaign/"><img alt="[Use Any
+          Browser Here]" title="Use Any Browser Here"
+          src="download/globe_trans.png" style="border: 0px solid ;
+          width: 147px; height: 42px;"></a> <img style="width: 88px;
+        height: 31px;" alt="[PNG Used Here]" title="PNG Used Here]"
+        src="http://www.cs.unibo.it/%7Efguidi/download/PNGnow2.png"><br>
+      <br>
+      Last update 2012-12-01 by <a
+        href="http://www.cs.unibo.it/%7Efguidi/">Ferruccio
+        Guidi</a><br>
+    </div>
+  </body>
+</html>
diff --git a/helm/www/lambdadelta/download/automath.sl b/helm/www/lambdadelta/download/automath.sl
new file mode 100644 (file)
index 0000000..d28950a
--- /dev/null
@@ -0,0 +1,27 @@
+$1 = "Automath";
+
+create_syntax_table ($1);
+
+define_syntax ("{","}",'%', $1);         % comments       
+define_syntax ("#","",'%', $1);          % comments       
+define_syntax ("%","",'%', $1);          % comments
+define_syntax ("([<", ")]>", '(', $1);   % brackets 
+define_syntax ('"', '"', $1);            % strings
+define_syntax ("a-zA-Z_0-9`'", 'w', $1); % words
+define_syntax (":+-=*@~,;.?", '+', $1);  % operators
+
+
+() = define_keywords_n ($1, "EBPN_E", 2, 0); 
+() = define_keywords_n ($1, "'_E''eb''pn'PRIMPROPTYPE", 4, 0); 
+() = define_keywords_n ($1, "'prim''prop''type'", 6, 0);
+
+define Automath_mode ()
+{
+   variable kmap = "Automath";
+
+   set_mode(kmap, 0x04);
+   use_syntax_table (kmap);
+   runhooks("Automath_mode_hook");
+}
+
+add_mode_for_extension ("Automath", "aut");
diff --git a/helm/www/lambdadelta/download/cie_2007.pdf b/helm/www/lambdadelta/download/cie_2007.pdf
new file mode 100644 (file)
index 0000000..d369a8b
Binary files /dev/null and b/helm/www/lambdadelta/download/cie_2007.pdf differ
diff --git a/helm/www/lambdadelta/download/cie_2010.pdf b/helm/www/lambdadelta/download/cie_2010.pdf
new file mode 100644 (file)
index 0000000..8afbebb
Binary files /dev/null and b/helm/www/lambdadelta/download/cie_2010.pdf differ
diff --git a/helm/www/lambdadelta/download/helena.sl b/helm/www/lambdadelta/download/helena.sl
new file mode 100644 (file)
index 0000000..fc8b190
--- /dev/null
@@ -0,0 +1,28 @@
+$1 = "Helena";
+
+create_syntax_table ($1);
+
+define_syntax ("\\*","*\\",'%', $1);     % comments       
+define_syntax ("([{<", ")]}>", '(', $1); % brackets 
+define_syntax ('"', '"', $1);            % strings
+define_syntax ("\\a-zA-Z_0-9", 'w', $1); % words
+
+set_syntax_flags ($1, 4);
+
+() = define_keywords_n ($1, "\\ax\\th", 3, 0); 
+() = define_keywords_n ($1, "\\def", 4, 0); 
+() = define_keywords_n ($1, "\\cong\\decl\\open", 5, 0); 
+() = define_keywords_n ($1, "\\close\\graph\\sorts", 6, 0);
+() = define_keywords_n ($1, "\\require", 8, 0);
+() = define_keywords_n ($1, "\\generate", 9, 0);
+
+define helena_mode ()
+{
+   variable kmap = "Helena";
+
+   set_mode(kmap, 0x04);
+   use_syntax_table (kmap);
+   runhooks("helena_mode_hook");
+}
+
+add_mode_for_extension ("helena", "hln");
diff --git a/helm/www/lambdadelta/download/helena_0.8.0.tar.gz b/helm/www/lambdadelta/download/helena_0.8.0.tar.gz
new file mode 100644 (file)
index 0000000..ef78bc4
Binary files /dev/null and b/helm/www/lambdadelta/download/helena_0.8.0.tar.gz differ
diff --git a/helm/www/lambdadelta/download/helena_0.8.1.tar.gz b/helm/www/lambdadelta/download/helena_0.8.1.tar.gz
new file mode 100644 (file)
index 0000000..c02f7bc
Binary files /dev/null and b/helm/www/lambdadelta/download/helena_0.8.1.tar.gz differ
diff --git a/helm/www/lambdadelta/download/lambdadelta.bib b/helm/www/lambdadelta/download/lambdadelta.bib
new file mode 100644 (file)
index 0000000..f6df7f8
--- /dev/null
@@ -0,0 +1,78 @@
+@incollection{lambdadelta7,
+   author="F. {Guidi}", 
+   title="{An Efficient Validation Procedure for the Formal System $\lambda\delta$}",
+   publisher="Centre for Applied Mathematics and Information Technology, Department of Mathematics, University of Azores",
+   address="Ponta Delgada, Portugal",
+   editor="F. {Ferreira} and H. {Guerra} and E. {Mayordomo} and J. {Rasga}",
+   booktitle="Local Proceedings of 6th Conference on Computability in Europe (CiE 2010)",
+   pages="204-213",
+   year="2010",
+   month="July"
+}
+
+@techreport{lambdadelta6,
+   author="F. {Guidi}", 
+   title="{Landau's ``Grundlagen der Analysis'' from Automath to lambda-delta}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2009-16",
+   year="2009",
+   month="September"
+}
+
+@article{lambdadelta5,
+   author="F. {Guidi}",
+   title="{The Formal System $\lambda\delta$}",
+   publisher="ACM",
+   address="New York, NY, USA",
+   journal="Transactions on Computational Logic",
+   volume="11",
+   number="1",
+   year="2009",
+   month="October",
+   pages="Article No. 5"
+}
+
+@incollection{lambdadelta4,
+   author="F. {Guidi}", 
+   title="{Lambda Types on the Lambda Calculus with Abbreviations}",
+   publisher="Universit\`a di Siena",
+   address="Siena, Italy",
+   editor="S. {Barry Cooper} and T. F. {Kent} and B. {L\"owe} and A. {Sorbi}", @comment="{\"}",
+   booktitle="Local Proceedings of 3rd Conference on Computability in Europe (CiE 2007) Technical Report 487",
+   pages="387-387",
+   year="2007",
+   month="June"
+}
+
+@techreport{lambdadelta3,
+   author="F. {Guidi}", 
+   title="{Lambda-Types on the Lambda-Calculus with Abbreviations}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2006-25",
+   year="2006",
+   month="November"
+}
+
+@techreport{lambdadelta2,
+   author="F. {Guidi}", 
+   title="{Lambda-Types on the Lambda-Calculus with Abbreviations: a Certified Specification}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2006-01",
+   year="2006",
+   month="January"
+}
+
+@misc{lambdadelta1,
+   author="F. {Guidi}",
+   title="{lambda\_delta\_1}",
+   howpublished="Formal specification with the proof assistant Coq 7.3.1",
+   year="2007",
+   month="January",
+   note="Available at the lambda\_delta Web site: {http://lambda-delta.info/}"
+}
diff --git a/helm/www/lambdadelta/download/lambdadelta.txt b/helm/www/lambdadelta/download/lambdadelta.txt
new file mode 100644 (file)
index 0000000..f6df7f8
--- /dev/null
@@ -0,0 +1,78 @@
+@incollection{lambdadelta7,
+   author="F. {Guidi}", 
+   title="{An Efficient Validation Procedure for the Formal System $\lambda\delta$}",
+   publisher="Centre for Applied Mathematics and Information Technology, Department of Mathematics, University of Azores",
+   address="Ponta Delgada, Portugal",
+   editor="F. {Ferreira} and H. {Guerra} and E. {Mayordomo} and J. {Rasga}",
+   booktitle="Local Proceedings of 6th Conference on Computability in Europe (CiE 2010)",
+   pages="204-213",
+   year="2010",
+   month="July"
+}
+
+@techreport{lambdadelta6,
+   author="F. {Guidi}", 
+   title="{Landau's ``Grundlagen der Analysis'' from Automath to lambda-delta}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2009-16",
+   year="2009",
+   month="September"
+}
+
+@article{lambdadelta5,
+   author="F. {Guidi}",
+   title="{The Formal System $\lambda\delta$}",
+   publisher="ACM",
+   address="New York, NY, USA",
+   journal="Transactions on Computational Logic",
+   volume="11",
+   number="1",
+   year="2009",
+   month="October",
+   pages="Article No. 5"
+}
+
+@incollection{lambdadelta4,
+   author="F. {Guidi}", 
+   title="{Lambda Types on the Lambda Calculus with Abbreviations}",
+   publisher="Universit\`a di Siena",
+   address="Siena, Italy",
+   editor="S. {Barry Cooper} and T. F. {Kent} and B. {L\"owe} and A. {Sorbi}", @comment="{\"}",
+   booktitle="Local Proceedings of 3rd Conference on Computability in Europe (CiE 2007) Technical Report 487",
+   pages="387-387",
+   year="2007",
+   month="June"
+}
+
+@techreport{lambdadelta3,
+   author="F. {Guidi}", 
+   title="{Lambda-Types on the Lambda-Calculus with Abbreviations}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2006-25",
+   year="2006",
+   month="November"
+}
+
+@techreport{lambdadelta2,
+   author="F. {Guidi}", 
+   title="{Lambda-Types on the Lambda-Calculus with Abbreviations: a Certified Specification}", 
+   type="Technical Report",
+   institution="University of Bologna",
+   address="Bologna, Italy",
+   number="UBLCS 2006-01",
+   year="2006",
+   month="January"
+}
+
+@misc{lambdadelta1,
+   author="F. {Guidi}",
+   title="{lambda\_delta\_1}",
+   howpublished="Formal specification with the proof assistant Coq 7.3.1",
+   year="2007",
+   month="January",
+   note="Available at the lambda\_delta Web site: {http://lambda-delta.info/}"
+}
diff --git a/helm/www/lambdadelta/download/lambdadelta_1.tar.gz b/helm/www/lambdadelta/download/lambdadelta_1.tar.gz
new file mode 100644 (file)
index 0000000..89e3231
Binary files /dev/null and b/helm/www/lambdadelta/download/lambdadelta_1.tar.gz differ
diff --git a/helm/www/lambdadelta/download/ld_talk_1s.pdf b/helm/www/lambdadelta/download/ld_talk_1s.pdf
new file mode 100644 (file)
index 0000000..3f523b0
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_1s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_2s.pdf b/helm/www/lambdadelta/download/ld_talk_2s.pdf
new file mode 100644 (file)
index 0000000..f7a3c94
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_2s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_3s.pdf b/helm/www/lambdadelta/download/ld_talk_3s.pdf
new file mode 100644 (file)
index 0000000..c3e18f6
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_3s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_4s.pdf b/helm/www/lambdadelta/download/ld_talk_4s.pdf
new file mode 100644 (file)
index 0000000..6552c21
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_4s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_5s.pdf b/helm/www/lambdadelta/download/ld_talk_5s.pdf
new file mode 100644 (file)
index 0000000..b7051c9
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_5s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_6s.pdf b/helm/www/lambdadelta/download/ld_talk_6s.pdf
new file mode 100644 (file)
index 0000000..04fcec2
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_6s.pdf differ
diff --git a/helm/www/lambdadelta/download/ld_talk_7s.pdf b/helm/www/lambdadelta/download/ld_talk_7s.pdf
new file mode 100644 (file)
index 0000000..754547c
Binary files /dev/null and b/helm/www/lambdadelta/download/ld_talk_7s.pdf differ
diff --git a/helm/www/lambdadelta/download/lddl.tar.bz2 b/helm/www/lambdadelta/download/lddl.tar.bz2
new file mode 100644 (file)
index 0000000..0f32623
Binary files /dev/null and b/helm/www/lambdadelta/download/lddl.tar.bz2 differ
diff --git a/helm/www/lambdadelta/images/PNGnow2.png b/helm/www/lambdadelta/images/PNGnow2.png
new file mode 100644 (file)
index 0000000..dc25983
Binary files /dev/null and b/helm/www/lambdadelta/images/PNGnow2.png differ
diff --git a/helm/www/lambdadelta/images/b3.png b/helm/www/lambdadelta/images/b3.png
new file mode 100644 (file)
index 0000000..3ed5389
Binary files /dev/null and b/helm/www/lambdadelta/images/b3.png differ
diff --git a/helm/www/lambdadelta/images/b4.png b/helm/www/lambdadelta/images/b4.png
new file mode 100644 (file)
index 0000000..ccfd1a9
Binary files /dev/null and b/helm/www/lambdadelta/images/b4.png differ
diff --git a/helm/www/lambdadelta/images/b5.png b/helm/www/lambdadelta/images/b5.png
new file mode 100644 (file)
index 0000000..30cace1
Binary files /dev/null and b/helm/www/lambdadelta/images/b5.png differ
diff --git a/helm/www/lambdadelta/images/b9.png b/helm/www/lambdadelta/images/b9.png
new file mode 100644 (file)
index 0000000..0de5598
Binary files /dev/null and b/helm/www/lambdadelta/images/b9.png differ
diff --git a/helm/www/lambdadelta/images/basic_32.png b/helm/www/lambdadelta/images/basic_32.png
new file mode 100644 (file)
index 0000000..350f6bc
Binary files /dev/null and b/helm/www/lambdadelta/images/basic_32.png differ
diff --git a/helm/www/lambdadelta/images/crux_16.ico b/helm/www/lambdadelta/images/crux_16.ico
new file mode 100644 (file)
index 0000000..b4e6332
Binary files /dev/null and b/helm/www/lambdadelta/images/crux_16.ico differ
diff --git a/helm/www/lambdadelta/images/crux_177.png b/helm/www/lambdadelta/images/crux_177.png
new file mode 100644 (file)
index 0000000..38b6432
Binary files /dev/null and b/helm/www/lambdadelta/images/crux_177.png differ
diff --git a/helm/www/lambdadelta/images/crux_177.xcf b/helm/www/lambdadelta/images/crux_177.xcf
new file mode 100644 (file)
index 0000000..6852566
Binary files /dev/null and b/helm/www/lambdadelta/images/crux_177.xcf differ
diff --git a/helm/www/lambdadelta/images/crux_32.png b/helm/www/lambdadelta/images/crux_32.png
new file mode 100644 (file)
index 0000000..465bf19
Binary files /dev/null and b/helm/www/lambdadelta/images/crux_32.png differ
diff --git a/helm/www/lambdadelta/images/globe_trans.png b/helm/www/lambdadelta/images/globe_trans.png
new file mode 100644 (file)
index 0000000..463b0be
Binary files /dev/null and b/helm/www/lambdadelta/images/globe_trans.png differ
diff --git a/helm/www/lambdadelta/images/helena_32.png b/helm/www/lambdadelta/images/helena_32.png
new file mode 100644 (file)
index 0000000..4a065ae
Binary files /dev/null and b/helm/www/lambdadelta/images/helena_32.png differ
diff --git a/helm/www/lambdadelta/images/helena_label.png b/helm/www/lambdadelta/images/helena_label.png
new file mode 100644 (file)
index 0000000..55487ab
Binary files /dev/null and b/helm/www/lambdadelta/images/helena_label.png differ
diff --git a/helm/www/lambdadelta/images/rainbow.png b/helm/www/lambdadelta/images/rainbow.png
new file mode 100644 (file)
index 0000000..45925ba
Binary files /dev/null and b/helm/www/lambdadelta/images/rainbow.png differ
diff --git a/helm/www/lambdadelta/images/xml_xsl2.png b/helm/www/lambdadelta/images/xml_xsl2.png
new file mode 100644 (file)
index 0000000..00d8296
Binary files /dev/null and b/helm/www/lambdadelta/images/xml_xsl2.png differ
diff --git a/helm/www/lambdadelta/implementation.html b/helm/www/lambdadelta/implementation.html
new file mode 100644 (file)
index 0000000..7785bbf
--- /dev/null
@@ -0,0 +1,325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
+    <title>lambdadelta home page</title>
+    <meta content="Ferruccio Guidi" name="author">
+    <meta content="The formal system lambdadelta" name="description">
+    <link rel="shortcut icon" href="download/crux_16.ico">
+  </head>
+  <body>
+    <div style="text-align: center;">
+      <br>
+      <a href="http://lambdadelta.info"><img alt="[Crux Logo]"
+          title="The Crux" src="download/crux_32.png" style="border: 0px
+          solid ; width: 32px; height: 32px;"></a>
+      <h1>The Formal System λδ (lambdadelta)<br>
+      </h1>
+      <h2>Towards the unification of terms, types, environments and
+        contexts</h2>
+      <img style="width: 95%; height: 4px;" alt="[Separator]"
+        title="Separator" src="download/rainbow.png"><br>
+      <table style="text-align: left; width: 95%; margin-left: auto;
+        margin-right: auto;" border="0" cellpadding="2" cellspacing="20">
+        <tbody>
+          <tr>
+            <td style="vertical-align: top;">
+              <ul>
+                <li><a href="index.html">Foreword</a></li>
+              </ul>
+              <ul>
+                <li><a href="news.html">News</a></li>
+              </ul>
+              <ul>
+                <li><a href="documentation.html">Papers</a></li>
+              </ul>
+              <ul>
+                <li>Resources<br>
+                </li>
+              </ul>
+            </td>
+            <td style="vertical-align: top; text-align: left;">
+              <h3 style="text-align: right;">Computer-checked formal
+                specifications <img style="width: 37px; height: 37px;"
+                  alt="[Butterfly]" title="Butterfly"
+                  src="download/b9.png"></h3>
+              <span style="font-weight: bold;">Resource
+                1</span> below provides for the statically generated <span
+                style="font-weight: bold;">natural language
+                representation</span> of
+              λδ meta-theory (faster rendering w.r.t. resource 2 below).<br>
+              <span style="font-weight: bold;">Resource 2</span> below
+              provides
+              for the dynamically generated <span style="font-weight:
+                bold;">natural
+                language representation</span> of
+              λδ meta-theory (powered by the <a
+                href="http://helm.cs.unibo.it/">HELM</a>
+              rendering engine).<br>
+              Remarkably, λδ was born and developed in the digital
+              format of <span style="font-weight: bold;">resource 3</span>
+              below, which is not the
+              formal counterpart of some informal material previously
+              written on
+              paper (as it happens for most currently digitalized
+              Mathematics).<br>
+              <ol>
+                <li><a name="static"></a>F. Guidi: <a
+                    style="font-style: italic;"
+                    href="static/matita/lambdadelta/">lambdadelta</a>
+                  (revised <span style="font-weight: bold;">2011-09</span>).
+                  Formal
+                  specification for <a
+                    href="http://matita.cs.unibo.it/">Matita</a> 0.5
+                  (HTML pages generated
+                  by the <a href="http://helm.cs.unibo.it/">HELM</a>
+                  rendering engine)<br>
+                  Here are the most relevant theorems proved in the
+                  formal specification:
+                  <ul>
+                    <li><a
+href="static/matita/lambdadelta/Basic_1/pr3/pr3/pr3_confluence.con.html">Confluence
+                        of
+                        reduction</a> (Church-Rosser property).</li>
+                    <li><a
+                        href="static/matita/lambdadelta/Basic_1/ty3/props/ty3_correct.con.html">Correctness
+                        of
+                        types</a>.</li>
+                    <li><a
+                        href="static/matita/lambdadelta/Basic_1/ty3/props/ty3_unique.con.html">Uniqueness
+                        of
+                        types
+                        up
+                        to
+                        conversion</a>.<br>
+                    </li>
+                    <li><a
+                        href="static/matita/lambdadelta/Basic_1/ty3/pr3/ty3_sred_pr3.con.html">Subject
+                        reduction
+                        of
+                        the
+                        type
+                        assignment</a>.</li>
+                    <li><a
+href="static/matita/lambdadelta/Basic_1/ty3/arity_props/ty3_sn3.con.html">Strong
+                        normalization
+                        of
+                        the
+                        typed
+                        terms</a>.</li>
+                    <li><a
+                        href="static/matita/lambdadelta/Basic_1/ty3/dec/ty3_inference.con.html">Decidability
+                        of
+                        the
+                        type
+                        inference
+                        problem</a>.<br>
+                      <br>
+                    </li>
+                  </ul>
+                </li>
+                <li><a name="dynamic"></a>F. Guidi: <a
+                    style="font-style: italic;"
+href="http://mowgli.cs.unibo.it:58080/apply?keys=RT&amp;xmluri=http://helm.cs.unibo.it/helm//html/folder/index.html&amp;prop.media-type=text/html&amp;param.thmedia-type=text/html&amp;param.thkeys=T1%2CT2%2CL%2CE&amp;param.embedkeys=d_c%2CTC1%2CHC2%2CL&amp;param.thencoding=UTF-8&amp;prop.encoding=UTF-8&amp;prop.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&amp;param.doctype-public=-//W3C//DTD%20XHTML%201.0%20Transitional//EN&amp;param.encoding=UTF-8&amp;param.media-type=text/html&amp;param.keys=d_c%2CC1%2CHC2%2CL&amp;profile=default&amp;param.profile=default&amp;param.CICURI=theory:/matita/lambdadelta/">lambdadelta</a>
+                  (revised <span style="font-weight: bold;">2011-09</span>).
+                  Formal
+                  specification for <a
+                    href="http://matita.cs.unibo.it/">Matita</a> 0.5 (<a
+                    href="http://helm.cs.unibo.it/">HELM</a> directory).<br>
+                  <br>
+                </li>
+                <li><a name="ldp1"></a>F. Guidi: <a
+                    href="download/lambdadelta_1.tar.gz"><span
+                      style="font-style: italic;">lambdadelta_1</span></a>
+                  (revised <span style="font-weight: bold;">2011-09</span>).
+Formal
+                  specification for <span style="font-weight: bold;">Coq
+                    7.3.1</span>
+                  (source
+                  proof scripts). <a href="#bibtex">BibTeX entry</a>.<br>
+                </li>
+              </ol>
+              <h3 style="text-align: right;">Tools <img style="width:
+                  37px; height: 37px;" alt="[Butterfly]"
+                  title="Butterfly" src="download/b5.png"></h3>
+              <a name="lddl"></a><img style="width: 32px; height: 32px;"
+                alt="[Crux Logo]" title="The Crux"
+                src="download/crux_32.png"><span style="font-weight:
+                bold;"> </span>The <span style="font-weight: bold;"><span
+                  style="text-decoration: underline;">λδ
+                  Digital
+                  Library
+                  (LDDL)</span></span> is part of <a
+                href="http://helm.cs.unibo.it/">HELM</a>
+              and contains a set of
+              resources expressed in λδ.<br>
+              <ul>
+                <li><span style="font-weight: bold;">Contents:</span>
+                  Landau's "<span style="font-style: italic;">Grundlagen
+                    der Analysis</span>" (from
+                  Jutting's specification in <a
+                    href="http://www.win.tue.nl/automath/">Automath</a>).<br>
+                  <span style="font-weight: bold;"></span></li>
+              </ul>
+              <ul>
+                <li><span style="font-weight: bold;">Access:</span> <a
+                    href="static/lddl/">static pages</a> (updated <span
+                    style="font-weight: bold;">2011-09</span>), <a
+                    href="download/lddl.tar.bz2">data set</a> (updated <span
+                    style="font-weight: bold;">2011-09</span>), <a
+                    href="http://lambdadelta.info/xml">HELM server URL</a>
+                  (updated <span style="font-weight: bold;">2011-09</span>).</li>
+              </ul>
+              <ul>
+                <li><span style="font-weight: bold;">Examples:</span> <a
+href="static/lddl/brg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.html">Grundlagen's
+                    definition
+                    "t234"</a> (in "basic_rg" λδ), <a
+href="static/lddl/crg_si/grundlagen/l/e/st/eq/landau/n/rt/rp/r/c/8283/t234.ld.html">Grundlagen's
+                    definition
+                    "t234"</a> (in "complete_rg" λδ).<br>
+                </li>
+              </ul>
+              <br>
+              <a name="helena"></a><span style="font-weight: bold;"><img
+                  style="width: 32px; height: 32px;" alt="[Helena Logo]"
+                  title="Helena" src="download/helena_32.png"> <span
+                  style="text-decoration: underline;">Helena</span></span>
+              is a λδ
+              processor,
+              implemented in <a href="http://caml.inria.fr/">Caml</a>
+              as a part of
+              the <a href="http://helm.cs.unibo.it/">HELM</a> software,
+              meant for
+              testing the stable features of the calculus as well as the
+              unstable
+              ones.<br>
+              The processor source code is available in the directory <a
+href="http://helm.cs.unibo.it/websvn/listing.php?repname=helm&amp;path=%2Ftrunk%2Fhelm%2Fsoftware%2Fhelena%2F&amp;rev=0&amp;sc=0">/trunk/helm/software/helena/</a>
+              of the <a
+                href="http://helm.cs.unibo.it/software/index.html">HELM
+                Svn
+                repository</a>. The Svn revisions containing the stable
+              versions
+              of&nbsp; Helena are indicated below. <br>
+              <ul>
+                <li><span style="font-weight: bold;">Version 0.8.2.</span>
+                  In
+                  progress.<br>
+                </li>
+              </ul>
+              <ul>
+                <li><span style="font-weight: bold;">Version 0.8.1
+                    (2010-11).</span>
+                  Exploits a subset of "complete_rg" λδ as the
+                  intermediate language.
+                  Features importation from ".hln" files containing λδ
+                  textual syntax.
+                  The overall validation speed of the "<span
+                    style="font-style: italic;">Grundlagen
+                    der
+                    Analysis</span>" increases of 22% with respect to
+                  version 0.8.0. [Svn
+                  revision: 11032] (<a
+                    href="download/helena_0.8.1.tar.gz">archived
+                    source code</a>)
+                  <ul>
+                    <li><span style="font-weight: bold;">2009-12.</span>
+                      Helena
+                      appears in&nbsp;F. Wiedijk's <a
+                        href="http://www.cs.ru.nl/%7Efreek/digimath/index.html#helena">index
+of
+computer
+                        math systems</a>.</li>
+                  </ul>
+                </li>
+              </ul>
+              <ul>
+                <li><a style=" font-weight: bold;"
+                    href="documentation.html#ldp6">Version 0.8.0</a><span
+                    style="font-weight: bold;"> (2009-09).</span>
+                  Supports
+                  "basic_rg" λδ with naive implementation of
+                  impredicative sort
+                  inclusion. Features
+                  importation from <a
+                    href="http://www.win.tue.nl/automath/">Automath</a>
+                  and exportation to <a href="http://www.w3.org/XML/">XML</a>.
+                  [Svn
+                  revision: 10304] (<a
+                    href="download/helena_0.8.0.tar.gz">archived
+                    source code</a>)<br>
+                  <ul>
+                    <li><span style="font-weight: bold;">2009-09.</span>
+                      Jutting's specification of Landau's "<span
+                        style="font-style: italic;">Grundlagen
+                        der
+                        Analysis</span>" enters λδ Digital Library.<br>
+                      <span style="font-weight: bold;"></span></li>
+                    <li><span style="font-weight: bold;">2009-06.</span>
+                      Jutting's specification of Landau's "<span
+                        style="font-style: italic;">Grundlagen
+                        der
+                        Analysis</span>" is
+                      successfully processed, enabling sort inclusion<span
+                        style="font-weight: bold;"></span>.</li>
+                  </ul>
+                </li>
+              </ul>
+              <h3 style="text-align: right;">Other resources <img
+                  style="width: 37px; height: 37px;" alt="[Butterfly]"
+                  title="Butterfly" src="download/b4.png"></h3>
+              <ul>
+                <li><a name="bibtex"></a>A
+                  BibTeX database of λδ documentation: <a
+                    href="download/lambdadelta.bib"><span
+                      style="font-style: italic;">lambdadelta.bib</span></a>,
+                  <a style="font-style: italic;"
+                    href="download/lambdadelta.txt">lambdadelta.txt</a>
+                  (revised <span style="font-weight: bold;">2011-09</span>).</li>
+              </ul>
+              <ul>
+                <li>A <a href="http://www.jedsoft.org/jed/">Jed mode</a>
+                  for
+                  editing ".hln" files (containing λδ textual syntax): <a
+                    style="font-style: italic;"
+                    href="download/helena.sl">helena.sl</a>
+                  (revised <span style="font-weight: bold;">2010-11</span>).</li>
+              </ul>
+              <ul>
+                <li>A <a href="http://www.jedsoft.org/jed/">Jed mode</a>
+                  for
+                  editing ".aut" files (containing <a
+                    href="http://www.win.tue.nl/automath/">Automath</a>
+                  textual syntax): <a style="font-style: italic;"
+                    href="download/automath.sl">automath.sl</a>
+                  (revised <span style="font-weight: bold;">2008-07</span>).</li>
+              </ul>
+              <ul>
+                <li>A logo for λδ: <a href="images/crux_177.png"><span
+                      style="font-style: italic;">crux_177.png</span></a>
+                  (revised <span style="font-weight: bold;">2012-09</span>).<br>
+                </li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      <br>
+      <a href="http://validator.w3.org/check?uri=referer"><img
+          alt="[Valid HTML 4.01 Transitional]" title="Valid HTML 4.01
+          Transitional" src="http://www.w3.org/Icons/valid-html401"
+          style="border: 0px solid ; width: 88px; height: 31px;"></a> <a
+        href="http://www.anybrowser.org/campaign/"><img alt="[Use Any
+          Browser Here]" title="Use Any Browser Here"
+          src="download/globe_trans.png" style="border: 0px solid ;
+          width: 147px; height: 42px;"></a> <img style="width: 88px;
+        height: 31px;" alt="[PNG Used Here]" title="PNG Used Here"
+        src="download/PNGnow2.png"><br>
+      <br>
+      Last update 2012-12-01 by <a
+        href="http://www.cs.unibo.it/%7Efguidi/">Ferruccio
+        Guidi</a><br>
+    </div>
+  </body>
+</html>
diff --git a/helm/www/lambdadelta/index.html b/helm/www/lambdadelta/index.html
new file mode 100644 (file)
index 0000000..fc46d72
--- /dev/null
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=UTF-8" http-equiv="content-type">
+  <title>lambdadelta home page</title>
+  <meta content="Ferruccio Guidi" name="author">
+  <meta content="The formal system lambdadelta" name="description">
+  <link rel="shortcut icon" href="download/crux_16.ico">
+</head>
+<body>
+<div style="text-align: center;">
+<br>
+<a href="http://lambdadelta.info"><img alt="[Crux Logo]"
+ title="The Crux" src="download/crux_32.png"
+ style="border: 0px solid ; width: 32px; height: 32px;"></a>
+<h1>The Formal System λδ (lambdadelta)<br>
+</h1>
+<h2>Towards the unification of terms, types, environments and contexts</h2>
+<img style="width: 95%; height: 4px;" alt="[Separator]"
+ title="Separator" src="download/rainbow.png"><br>
+<table
+ style="text-align: left; width: 95%; margin-left: auto; margin-right: auto;"
+ border="0" cellpadding="2" cellspacing="20">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;">
+      <ul>
+        <li>Foreword</li>
+      </ul>
+      <ul>
+        <li><a href="news.html">News</a></li>
+      </ul>
+      <ul>
+        <li><a href="documentation.html">Papers</a></li>
+      </ul>
+      <ul>
+        <li><a href="implementation.html">Resources</a><br>
+        </li>
+      </ul>
+      </td>
+      <td style="vertical-align: top; text-align: left;">
+      <h3 style="text-align: right;">Foreword <img
+ style="width: 37px; height: 37px;" alt="[Butterfly]" title="Butterfly"
+ src="download/b9.png"></h3>
+The formal system λδ
+(lambdadelta) is a typed lambda calculus that pursues the static and
+dynamic unification of terms, types, environments and contexts while
+enjoying a well-conceived meta-theory, which includes the commonly
+desired properties.<br>
+      <br>
+λδ takes some features from the calculi of the Automath family and
+some from the pure type systems, but it differs from both in that it
+does not include the Π construction while it provides for an
+abbreviation mechanism at the level of terms.<br>
+      <br>
+λδ features explicit type annotations, which are borrowed from
+realistic type checker implementations and with which type checking is
+reduced to type inference.<br>
+      <br>
+The reduction steps of λδ include β-contraction, δ-expansion,
+ζ-contraction and θ-swap. On the other hand,
+η-contraction is not included.<br>
+      <br>
+The meta-theory of λδ includes important properties such as the
+confluence of reduction, the correctness of types, the
+uniqueness of types up to conversion, the subject reduction of the type
+assignment, the strong normalization of the typed terms. The
+decidability of type inference and of type checking come as corollaries.<br>
+      <br>
+λδ features uniformly dependent types and a predicative abstraction
+mechanism, so the calculus can serve as a formal specification language
+for the type theories that need a predicative foundation. λδ is
+expected to have the expressive power of λ→.<br>
+      <br>
+λδ comes in several versions listed in the following table, which
+includes the major milestones:<br>
+      <br>
+      <table style="text-align: left; width: 100%;" border="1"
+ cellpadding="2" cellspacing="0">
+        <tbody>
+          <tr>
+            <td
+ style="vertical-align: top; background-color: rgb(223, 223, 223); text-align: center;">Version<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(223, 223, 223); text-align: center;">Name<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(223, 223, 223); text-align: center;">Started<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(223, 223, 223); text-align: center;">Released<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(223, 223, 223); text-align: center;">Dismissed<br>
+            </td>
+          </tr>
+          <tr>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 223, 191);">2<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 223, 191);">basic_2<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 223, 191);">April
+2011<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 223, 191);">planned
+in
+2013<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 223, 191);">not
+planned yet<br>
+            </td>
+          </tr>
+          <tr>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 191, 191);">1<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 191, 191);">basic_1<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 191, 191);">May
+2004<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 191, 191);">November
+2006<br>
+            </td>
+            <td
+ style="vertical-align: top; background-color: rgb(255, 191, 191);">May
+2008<br>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      <br>
+      <h3 style="text-align: right;">Notice
+for
+the
+Internet
+Explorer
+user <img style="width: 37px; height: 37px;" alt="[Butterfly]"
+ title="Butterfly" src="download/b3.png"></h3>
+To view this site
+correctly, please select a font with <a href="http://www.unicode.org/">Unicode</a>
+support.
+For example <span style="font-weight: bold;">Lucida Sans Unicode</span>
+(it should be already installed on your system).
+To change the current font follow: <span style="font-weight: bold;">"Tools"
+menu
+→ "Internet
+Options" entry → "General" tab → "Fonts" button.</span><br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<a href="http://validator.w3.org/check?uri=referer"><img
+ alt="[Valid HTML 4.01 Transitional]"
+ title="Valid HTML 4.01 Transitional"
+ src="http://www.w3.org/Icons/valid-html401"
+ style="border: 0px solid ; width: 88px; height: 31px;"></a> <a
+ href="http://www.anybrowser.org/campaign/"><img
+ alt="[Use Any Browser Here]" title="Use Any Browser Here"
+ src="download/globe_trans.png"
+ style="border: 0px solid ; width: 147px; height: 42px;"></a> <img
+ style="width: 88px; height: 31px;" alt="[PNG Used Here]"
+ title="PNG Used Here" src="download/PNGnow2.png"><br>
+<br>
+Last update 2012-12-01 by <a href="http://www.cs.unibo.it/%7Efguidi/">Ferruccio
+Guidi</a><br>
+</div>
+</body>
+</html>
diff --git a/helm/www/lambdadelta/news.html b/helm/www/lambdadelta/news.html
new file mode 100644 (file)
index 0000000..7d581cb
--- /dev/null
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=UTF-8" http-equiv="content-type">
+  <title>lambdadelta home page</title>
+  <meta content="Ferruccio Guidi" name="author">
+  <meta content="The formal system lambdadelta" name="description">
+  <link rel="shortcut icon" href="download/crux_16.ico">
+</head>
+<body>
+<div style="text-align: center;"> <br>
+<a href="http://lambdadelta.info"><img alt="[Crux Logo]"
+ title="The Crux" src="download/crux_32.png"
+ style="border: 0px solid ; width: 32px; height: 32px;"></a>
+<h1>The Formal System λδ (lambdadelta)<br>
+</h1>
+<h2>Towards the unification of terms, types, environments and contexts</h2>
+<img style="width: 95%; height: 4px;" alt="[Separator]"
+ title="Separator" src="download/rainbow.png"><br>
+<table
+ style="text-align: left; width: 95%; margin-left: auto; margin-right: auto;"
+ border="0" cellpadding="2" cellspacing="20">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;">
+      <ul>
+        <li><a href="index.html">Foreword</a></li>
+      </ul>
+      <ul>
+        <li>News</li>
+      </ul>
+      <ul>
+        <li><a href="documentation.html">Papers</a></li>
+      </ul>
+      <ul>
+        <li><a href="implementation.html">Resources</a><br>
+        </li>
+      </ul>
+      </td>
+      <td style="vertical-align: top; text-align: left;">
+      <h3 style="text-align: right;">News <img
+ style="width: 37px; height: 37px;" alt="[Butterfly]" title="Butterfly"
+ src="download/b5.png"></h3>
+      <ul>
+        <li><span style="font-weight: bold;">September 2011.</span> The
+denomination "lambdadelta" changes to "lambdadelta".
+          <ul>
+            <li>The character "-" is reserved in λδ textual syntax
+(recognized by <span style="font-style: italic;">Helena 0.8.1</span>).
+            </li>
+            <li>Eventually, the occurrences of the character "-" will
+be replaced by "_" in all λδ-related identifiers.</li>
+            <li>In particular, this refactoring involves file names and
+path names.</li>
+            <li>The permanent λδ URL is sheduled to become <span
+ style="font-style: italic;">http://lambdadelta.info</span> on
+December 2012.<br>
+            </li>
+          </ul>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">April 2011.</span> The
+specification of λδ version 2 and related topics is restarted in <a
+ href="http://matita.cs.unibo.it/">Matita 0.5</a>.
+          <ul>
+            <li><a href="apps_2.html">Here</a> is a page about the
+topics related to the specification (Applications).</li>
+            <li><a href="basic_2.html">Here</a> is a page about the
+specification (Core). </li>
+          </ul>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">December 2010.</span>
+Permanent λδ URL acquired: <a href="http://lambdadelta.info">http://lambdadelta.info</a>
+(pointing at this site). <br>
+          <span style="font-weight: bold;"></span></li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">November 2010.</span> <span
+ style="font-style: italic;">Helena 0.8.1</span> is released. <br>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">September 2009.</span> <span
+ style="font-style: italic;">Helena 0.8.0</span> is released and the <a
+ href="implementation.html#lddl">λδ Digital Library</a> is started.<br>
+          <span style="font-weight: bold;"></span></li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">June 2009.</span> <span
+ style="font-style: italic;">Helena</span>, a <a
+ href="implementation.html#helena">validator for λδ version 2</a>, is
+available as a part of the <a href="http://helm.cs.unibo.it/">HELM</a>
+software. <br>
+        </li>
+      </ul>
+      <span style="font-weight: bold;"></span>
+      <ul>
+        <li><span style="font-weight: bold;">September 2008.</span>
+This site is online.<br>
+        </li>
+      </ul>
+      <span style="font-weight: bold;"></span>
+      <ul>
+        <li><span style="font-weight: bold;">July 2008.</span> <a
+ href="documentation.html#ldp5">First journal paper on λδ</a> accepted
+for publication.</li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">July 2008.</span> First <a
+ href="http://helm.cs.unibo.it/procedural/">procedural reconstruction</a>
+for <a href="http://matita.cs.unibo.it/">Matita 0.5</a> of the <a
+ href="implementation.html#ldp1">λδ proof scripts for Coq 7.3.1</a>.<br>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">June 2008.</span> The <a
+ href="implementation.html#static">HTML pages of the specification of
+λδ version 1 for Matita 0.5</a> are online.<br>
+          <span style="font-weight: bold;"></span></li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">May 2008.</span> The
+specification of λδ version 1 is closed.<br>
+          <span style="font-weight: bold;"></span></li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">March 2008.</span> The
+specification of λδ version 2 is started with Coq 7.3.1 (false start). </li>
+      </ul>
+<!--          <ul>
+            <li>native type assignment with new rules for application: <span
+ style="font-style: italic;">nty</span> (it replaces <span
+ style="font-style: italic;">ty3</span>);<br>
+            </li>
+            <li>parallel conversion on focalized terms: <span
+ style="font-style: italic;">fpcs</span> (it replaces <span
+ style="font-style: italic;"></span><span style="font-style: italic;">pc3</span>);
+              <br>
+            </li>
+            <li>new weak parallel reduction on environments: <span
+ style="font-style: italic;">wcpr</span> <span
+ style="font-style: italic;"></span>(it is based on <span
+ style="font-style: italic;">fpr</span> and replaces <span
+ style="font-style: italic;">wcpr0</span>);&nbsp; <br>
+            </li>
+            <li>parallel reduction on focalized terms: <span
+ style="font-style: italic;">fpr</span> and <span
+ style="font-style: italic;">fprs</span> (they replace <span
+ style="font-style: italic;"></span><span style="font-style: italic;"></span><span
+ style="font-style: italic;">pr2</span>, <span
+ style="font-style: italic;">pr3</span>); <br>
+            </li>
+          </ul>
+          <ul>
+            <li>new thinning relation: <span
+ style="font-style: italic;">drop</span>
+(it replaces the old <span style="font-style: italic;">drop</span>, <span
+ style="font-style: italic;">clear</span>, <span
+ style="font-style: italic;">getl</span>, <span
+ style="font-style: italic;">cimp</span>, <span
+ style="font-style: italic;">drop1</span>);</li>
+            <li>new shift function: <span style="font-style: italic;">shift</span>:
+(it
+replaces
+
+              <span style="font-style: italic;">app1</span>);</li>
+            <li>new length function for environments: <span
+ style="font-style: italic;">clen</span>;<br>
+            </li>
+            <li>new relocation function: <span
+ style="font-style: italic;">lift</span> (it replaces old <span
+ style="font-style: italic;">lift</span>, <span
+ style="font-style: italic;">lift1</span>);<br>
+            </li>
+            <li>new term structure with polarity indicators and no
+distinction between binding and flat items;</li>
+            <li>new general theory of relocation (comprises new
+relocation functions: <span style="font-style: italic;">s</span>, <span
+ style="font-style: italic;">r</span>);</li>
+            <li>we removed context-free reduction and conversion (<span
+ style="font-style: italic;">pr0</span>, <span
+ style="font-style: italic;">pr1</span>, <span
+ style="font-style: italic;">pc1</span>);<br>
+            </li>
+            <li>we removed greedy substitution (<span
+ style="font-style: italic;"></span><span style="font-style: italic;">csubst0</span>,
+              <span style="font-style: italic;">csubst1</span>, <span
+ style="font-style: italic;">fsubst0</span>, <span
+ style="font-style: italic;">subst0</span>, <span
+ style="font-style: italic;">subst1</span>);<br>
+            </li>
+            <li>we removed level indicators on environments (<span
+ style="font-style: italic;">cbk</span>).</li>
+          </ul>
+-->
+      <ul>
+        <li><span style="font-weight: bold;">September 2007.</span> The
+          <a href="implementation.html#dynamic">specification of λδ
+version 1 for Matita 0.4</a> is online.</li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">November 2006.</span> <a
+ href="documentation.html#ldp3">λδ version 1</a> is released.</li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">December 2005.</span> <a
+ href="documentation.html#ldt1">First communication on λδ</a>.<br>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">May 2004.</span> The <a
+ href="implementation.html#ldp1">specification of λδ version 1</a> is
+started with Coq 7.3.1.<br>
+        </li>
+      </ul>
+      <h3 style="text-align: right;">Visibility <img
+ style="width: 37px; height: 37px;" alt="[Butterfly]" title="Butterfly"
+ src="download/b4.png"></h3>
+      <ul>
+        <li><span style="font-weight: bold;">February 2012.</span> The <a
+ href="http://www.google.com/">Google</a> search for <span
+ style="color: rgb(255, 0, 0);">formal system lambda delta</span> gives
+5 resources about λδ in the first 6 results.<br>
+        </li>
+      </ul>
+      <ul>
+        <li><span style="font-weight: bold;">February 2012.</span> The <a
+ href="http://www.yahoo.com/">Yahoo</a> search <span
+ style="color: rgb(255, 0, 0);">formal system lambda delta</span> gives
+this site as the first result.</li>
+      </ul>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<br>
+<a href="http://validator.w3.org/check?uri=referer"><img
+ alt="[Valid HTML 4.01 Transitional]"
+ title="Valid HTML 4.01
+          Transitional"
+ src="http://www.w3.org/Icons/valid-html401"
+ style="border: 0px solid ; width: 88px; height: 31px;"></a> <a
+ href="http://www.anybrowser.org/campaign/"><img
+ alt="[Use Any
+          Browser Here]" title="Use Any Browser Here"
+ src="download/globe_trans.png"
+ style="border: 0px solid ; width: 147px; height: 42px;"></a> <img
+ style="width: 88px; height: 31px;" alt="[PNG Used Here]"
+ title="PNG Used Here" src="download/PNGnow2.png"><br>
+<br>
+Last update 2012-12-01 by <a href="http://www.cs.unibo.it/%7Efguidi/">Ferruccio
+
+Guidi</a><br>
+</div>
+</body>
+</html>
diff --git a/helm/www/lambdadelta/web/home/BTM.ldw.xml b/helm/www/lambdadelta/web/home/BTM.ldw.xml
new file mode 100644 (file)
index 0000000..63f4958
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<page xmlns="http://lambdadelta.info"
+      description = "BTM"
+      title = "BTM"
+      head = "cic:/matita/BTM/"
+>
+   <section>Character classes</section>
+   <body>This table shows how the first 45 positive integers
+         are distributed in the four classes.
+   </body>
+   <table name="chc_45"/>
+
+   <footer/>
+</page>
diff --git a/helm/www/lambdadelta/web/home/apps_2.ldw.xml b/helm/www/lambdadelta/web/home/apps_2.ldw.xml
new file mode 100644 (file)
index 0000000..6b108c9
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<page xmlns="http://lambdadelta.info"
+      description = "applications of lambdadelta version 2"
+      title = "applications of lambdadelta version 2"
+      head = "cic:/matita/lambdadelta/apps_2/ (applications of λδ version 2)"
+>
+   <section>Contents of the Specification</section>
+   <body>This specification comprises a collection of checked
+         applications of λδ version 2.
+        In particular it contains the components below.
+   </body>
+   <news date="MLTT1.">
+         Martin-Löf's Type Theory with one universe
+        using λδ as theory of expressions.
+   </news>
+   <news date="Functional.">
+         The validation algorithm for λδ as implemented in
+        <rlink to="implementation.html#helena">Helena 0.8</rlink>.
+   </news>
+   
+   <section>Summary of the Specification</section>
+   <body>Here is a numerical acount of the specification's contents
+         and its timeline.
+   </body>
+   <table name="apps_2_sum"/>
+   <news date="2012 February 24.">
+         The Applications directory is started.
+   </news>
+   <news date="2011 December 20.">
+         The Functional component is started
+        inside the specification of λδ version 2.
+   </news>
+   <news date="2011 December 12.">
+         The MLTT1 component is started.
+   </news>
+
+   <section>Logical Structure of the Specification</section>
+   <body>The source files are grouped in planes and components
+         according to the following table.
+         Each component contains its own notation file.
+        The notation for the relations or functions introduced in each file
+        is shown in parentheses (? are placeholders).
+   </body>
+   <table name="apps_2_src"/>
+
+   <section>Physical Structure of the Specification</section>
+   <body>The source files are grouped in directories,
+         one for each component.
+   </body>
+   <footer/>
+</page>
diff --git a/helm/www/lambdadelta/web/home/apps_2_src.tbl b/helm/www/lambdadelta/web/home/apps_2_src.tbl
new file mode 100644 (file)
index 0000000..d5508e3
--- /dev/null
@@ -0,0 +1,38 @@
+name "apps_2_src"
+
+table {
+   class "grey"
+   [ { "component" * } {
+        [ { "plane" * } { 
+             [ "files" * ]
+         }
+        ]
+     }
+   ]
+   class "orange"
+   [ { "MLTT1" * } {
+        [ { "" * } { 
+             [ "genv_primitive" "judgement" * ]
+         }
+        ]
+     }
+   ]
+   class "red"
+   [ { "functional" * } {
+        [ { "reduction and type machine" * } { 
+             [ "rtm" "rtm_step ( ? ⇨ ? )" * ]
+         }
+        ]
+        [ { "unfold" * } { 
+             [ "lift ( ↑[?,?] ? )" "subst ( [?←?] ? )" * ]
+         }
+        ]
+     }
+   ]
+}
+
+class "component" { 0 }
+
+class "plane" { 1 }
+
+class "file" { 2 * }
diff --git a/helm/www/lambdadelta/web/home/basic_2.ldw.xml b/helm/www/lambdadelta/web/home/basic_2.ldw.xml
new file mode 100644 (file)
index 0000000..9159f04
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<page xmlns="http://lambdadelta.info"
+      description = "lambdadelta version 2"
+      title = "lambdadelta version 2"
+      head = "cic:/matita/lambdadelta/basic_2/ (λδ version 2)"
+>
+   <section>System's Syntax and Behavior</section>
+   <body>This is a summary of the "block structure"
+         of the System's syntactic items and reductions.
+   </body>
+   <table name="basic_2_blk"/>
+   <body>* In terms only.
+        ** In terms and local environments only.
+         *** In global environments only.
+         **** Sort level k in terms only. 
+   </body>
+   
+   <section>Summary of the Specification</section>
+   <body>Here is a numerical acount of the specification's contents
+         and its timeline.
+   </body>
+   <table name="basic_2_sum"/>
+   <news date="In progress.">
+         Context-sensitive subject equivalence
+        for native type assignment.
+   </news>
+   <news date="In progress.">
+         Closure of extended context-sensitive computation
+        for native validity.
+   </news>
+   <news date="In progress.">
+         Extended context-sensitive strong normalization
+        for simply typed terms.
+   </news>
+   <news date="2012 October 16.">
+         Confluence for context-free parallel reduction on closures.
+   </news>
+   <news date="2012 July 26.">
+         Term binders polarized to control ζ reduction.
+   </news>   
+   <news date="2012 April 16.">
+         Context-sensitive subject equivalence
+        for atomic arity assignment
+        (anniversary milestone).
+   </news>
+   <news date="2012 March 15.">
+         Context-sensitive strong normalization
+        for simply typed terms.
+   </news>
+   <news date="2012 January 27.">
+         Support for abstract candidates of reducibility.
+   </news>
+   <news date="2011 September 21.">
+         Confluence for context-sensitive parallel reduction on terms.
+   </news>
+   <news date="2011 September 6.">
+         Confluence for context-free parallel reduction on terms.
+   </news>
+   <news date="2011 April 17.">
+         Specification starts.
+   </news>
+
+   <section>Logical Structure of the Specification</section>
+   <body>The source files are grouped in planes and components
+         according to the following table.
+         A notation file covering the whole specification is provided.
+        The notation for the relations or functions introduced in each file
+        is shown in parentheses (? are placeholders).
+   </body>
+   <table name="basic_2_src"/>
+
+   <section>Physical Structure of the Specification</section>
+   <body>The source files are grouped in directories,
+         one for each component.
+   </body>
+   <footer/>
+</page>
diff --git a/helm/www/lambdadelta/web/home/basic_2_blk.tbl b/helm/www/lambdadelta/web/home/basic_2_blk.tbl
new file mode 100644 (file)
index 0000000..ed50adf
--- /dev/null
@@ -0,0 +1,52 @@
+name "basic_2_blk"
+
+table {
+   class "grey" [ { "domain" * } {
+      [
+         [ "block" ] [ "leader" ]
+        [ "applicator (with →θ)*" ] [ "reduction" ] [ "→ζ *" ] [ "reference *" ]
+      ]
+   } ]
+   [ { "{X | Γ ⊢ X : W}" * } {
+      class "wine" [
+         [ "local typed abstraction *" ] [ "Γ ⊢ +λW" ]
+         [ "ⓐV" ] [ "→β" ] [ "no" ] [ "#i" ]
+      ]
+      class "magenta" [
+         [ "local typed declaration **" ] [ "Γ ⊢ -λW" ]
+         [ "ⓐV" ] [ "→β" ] [ "no" ] [ "#i" ]
+      ]
+      class "prune" [
+         [ "global typed declaration ***" ] [ "Γ ⊢ pλW" ] 
+        [ "no" ] [ "no" ] [ "no" ] [ "$p" ]
+      ]
+      class "blue" [
+         [ "native type annotation *" ] [ "Γ ⊢ ⓝW" ]
+        [ "no" ] [ "no" ] [ "yes" ] [ "no" ]
+      ]
+   } ]
+   [ { "{X | Γ ⊢ X = V}" * } {
+      class "sky" [
+         [ "local abbreviation *" ] [ "Γ ⊢ +δV" ] 
+         [ "no" ] [ "local →δ" ] [ "yes" ] [ "#i" ]
+      ]
+      class "cyan" [
+         [ "local definition **" ] [ "Γ ⊢ -δV" ] 
+         [ "no" ] [ "local →δ" ] [ "no" ] [ "#i" ]
+      ]      
+      class "water" [
+         [ "global definition ***" ] [ "Γ ⊢ pδV" ]
+         [ "no" ] [ "global →δ" ] [ "no" ] [ "$p" ]
+      ]
+   } ]
+   [ { "no" * } {
+      class "green" [
+         [ "sort ****" ] [ "Γ ⊢ ⋆k" ]
+        [ "no" ] [ "no" ] [ "no" ] [ "no" ]
+      ]
+   } ]
+}
+
+class "text" { 0 } { 2 * }
+
+class "plane" { 1 }
diff --git a/helm/www/lambdadelta/web/home/basic_2_src.tbl b/helm/www/lambdadelta/web/home/basic_2_src.tbl
new file mode 100644 (file)
index 0000000..28aacba
--- /dev/null
@@ -0,0 +1,304 @@
+name "basic_2_src"
+
+table {
+   class "grey"
+   [ { "component" * } {
+        [ { "plane" * } { 
+             [ "files" * ]
+          }
+        ]
+     }
+   ]
+(*
+   class "wine"
+   [ { "examples" * } {
+        [ { "" * } {
+             [ "" * ]
+          }
+        ]
+     }
+   ]
+   class "magenta"
+   [ { "higher order dynamic typing" * } {
+        [ { "higher order native type assignment" * } {
+             [ "ntas ( ⦃?,?⦄ ⊢ ? :* ? )" "nta_lift" * ]
+          }
+        ]
+     }
+   ]
+*)
+   class "prune"
+   [ { "dynamic typing" * } {
+(*        
+        [ { "local env. ref. for native type assignment" * } {
+             [ "lsubn ( ? ⊢ ? :⊑ ? )" "lsubn_ldrop" "lsubn_cpcs" "lsubn_nta" * ]
+          }
+        ]
+        [ { "native type assignment" * } {
+             [ "nta ( ⦃?,?⦄ ⊢ ? : ? )" "nta_alt ( ⦃?,?⦄ ⊢ ? :: ? )" "nta_lift" "nta_ltpss" "nta_thin" "nta_aaa" "nta_sta" "nta_ltpr" "nta_nta" * ]
+          }
+        ]
+*)
+        [ { "stratified native validity" * } {
+             [ "snv ( ⦃?,?⦄ ⊩ ? :[?] )" "snv_lift" + "snv_aaa" + "snv_ssta" * ]
+          }
+        ]
+     }
+   ]
+   class "blue"
+   [ { "equivalence" * } {
+        [ { "focalized equivalence" * } {
+             [ "lfpcs ( ⦃?⦄ ⬌* ⦃?⦄ )" "lfpcs_aaa" + "lfpcs_lfprs" + "lfpcs_lfpcs" * ]
+             [ "fpcs ( ⦃?,?⦄ ⬌* ⦃?,?⦄ )" "fpcs_aaa" + "fpcs_cpcs" + "fpcs_fprs" + "fpcs_fpcs" * ]
+          }
+        ]
+        [ { "local env. ref. for context-sensitive equivalence" * } {
+             [ "lsubse ( ? ⊢•⊑[?] ? )" "lsubse_ldrop" + "lsubse_ssta" + "lsubse_cpcs" * ]
+          }
+        ]
+        [ { "context-sensitive equivalence" * } {
+             [ "cpcs ( ? ⊢ ? ⬌* ? )" "cpcs_ltpss" + "cpcs_delift" + "cpcs_aaa" + "cpcs_ltpr" + "cpcs_cprs" + "cpcs_cpcs" * ]
+          }
+        ]
+     }
+   ]
+   class "sky"
+   [ { "conversion" * } {
+        [ { "focalized conversion" * } {
+             [ "lfpc ( ⦃?⦄ ⬌ ⦃?⦄ )" "lfpc_lfpc" * ]
+             [ "fpc ( ⦃?,?⦄ ⬌ ⦃?,?⦄ )" "fpc_fpc" * ]
+          }
+        ]
+        [ { "context-sensitive conversion" * } {
+             [ "cpc ( ? ⊢ ? ⬌ ? )" "cpc_cpc" * ]
+          }
+        ]
+     }
+   ]
+   class "cyan"
+   [ { "computation" * } {
+(*        
+       [ { "hyper computation" * } {
+             [ "ysteps ( ? ⊢ ⦃?,?⦄ •⭃*[g] ⦃?,?⦄ )" "ysteps_csups" * ]
+             [ "yprs ( ? ⊢ ⦃?,?⦄ •⥸*[g] ⦃?,?⦄ )" "yprs_csups" + "yprs_xprs" + "yprs_yprs" * ]
+          }
+        ]
+*)
+        [ { "extended computation" * } {
+             [ "xprs ( ⦃?,?⦄ ⊢ ? •➡*[?] ? )" "xprs_lift" + "xprs_aaa" + "xpr_lsubss" + "xprs_cprs" + "xprs_xprs" * ]
+          }
+        ]
+        [ { "weakly normalizing computation" * } {
+             [ "cpe ( ? ⊢ ➡* 𝐍⦃?⦄ )" "cpe_cpe" * ]
+          }
+        ]
+        [ { "strongly normalizing computation" * } {
+             [ "csn_vector ( ? ⊢ ⬊* ? )" "csn_cpr_vector" + "csn_tstc_vector" + "csn_aaa" * ]
+             [ "csn ( ? ⊢ ⬊* ? )" "csn_alt ( ? ⊢ ⬊⬊* ? )" "csn_lift" + "csn_cpr" + "csn_lfpr" * ]
+          }
+        ]
+        [ { "focalized computation" * } {
+             [ "lfprs ( ⦃?⦄ ➡* ⦃?⦄ )" "lfprs_aaa" + "lfprs_cprs" + "lfprs_lfprs" * ]
+             [ "fprs ( ⦃?,?⦄ ➡* ⦃?,?⦄ )" "fprs_aaa" + "fprs_fprs" * ]
+          }
+        ]
+        [ { "context-sensitive computation" * } {
+             [ "cprs (? ⊢ ? ➡* ?)" "cprs_lift" + "cprs_delift" + "cprs_aaa" + "cprs_ltpr" + "cprs_lfpr" + "cprs_cprs" + "cprs_lfprs" + "cprs_tstc" + "cprs_tstc_vector" * ]
+          }
+        ]
+        [ { "context-free computation" * } {
+             [ "ltprs ( ? ➡* ? )" "ltprs_alt ( ? ➡➡* ? )" "ltprs_ldrop" + "ltprs_ltprs" * ]
+             [ "tprs ( ? ➡* ?)" "tprs_lift" + "tprs_tprs" * ]
+          }
+        ]
+        [ { "local env. ref. for abstract candidates of reducibility" * } {
+             [ "lsubc ( ? ⊑[?] ? )" "lsubc_ldrop" + "lsubc_ldrops" + "lsubc_lsuba" * ]
+          }
+        ]
+        [ { "support for abstract computation properties" * } {
+             [ "acp" "acp_cr ( ⦃?,?⦄ ϵ[?] 〚?〛 )" "acp_aaa" * ]
+          }
+        ]
+     }
+   ]
+   class "water"
+   [ { "reducibility" * } {
+(*        
+       [ { "hyper reduction" * } {
+             [ "ypr ( ? ⊢ ⦃?,?⦄ •⥸[g] ⦃?,?⦄ )" * ]
+          }
+        ]
+*)
+        [ { "extended reduction" * } {
+             [ "xpr ( ⦃?,?⦄ ⊢ ? •➡[?] ? )" "xpr_lift" + "xpr_aaa" + "xpr_lsubss" * ]
+          }
+        ]
+        [ { "context-sensitive focalized reduction" * } {
+             [ "cfpr ( ? ⊢ ⦃?,?⦄ ➡ ⦃?,?⦄ )" "cnfpr_ltpss" + "cfpr_aaa" + "cfpr_cpr" + "cfpr_cfpr" * ]
+          }
+        ]
+        [ { "context-free focalized reduction" * } {
+             [ "lfpr ( ⦃?⦄ ➡ ⦃?⦄ )" "lfpr_alt ( ⦃?⦄ ➡➡ ⦃?⦄ )" "lfpr_aaa" + "lfpr_cpr" + "lfpr_fpr" + "lfpr_lfpr" * ]
+             [ "fpr ( ⦃?,?⦄ ➡ ⦃?,?⦄ )" "fpr_cpr" + "fpr_fpr" * ]
+          }
+        ]
+        [ { "context-sensitive normal forms" * } {
+             [ "cnf ( ? ⊢ 𝐍⦃?⦄ )" "cnf_lift" + "cnf_cif" * ]
+          }
+        ]       
+        [ { "context-sensitive reduction" * } {
+             [ "cpr ( ? ⊢ ? ➡ ? )" "cpr_lift" + "cpr_tpss" + "cpr_ltpss" + "cpr_delift" + "cpr_aaa" + "cpr_ltpr" + "cpr_cpr" * ]
+          }
+        ]
+        [ { "context-sensitive reducible forms" * } {
+             [ "crf ( ? ⊢ 𝐑⦃?⦄ )" "crf_append" "cif ( ? ⊢ 𝐈⦃?⦄ )" "cif_append" * ]
+          }
+        ]
+        [ { "context-free normal forms" * } {
+             [ "thnf ( 𝐇𝐍⦃?⦄ )" * ]
+          }
+        ]
+        [ { "context-free reduction" * } {
+             [ "ltpr ( ? ➡ ? )" "ltpr_ldrop" + "ltpr_tps" + "ltpr_ltpss_dx" + "ltpr_ltpss_sn" + "ltpr_aaa" + "ltpr_ltpr" * ]
+             [ "tpr ( ? ➡ ? )"  "tpr_lift" + "tpr_tps" + "tpr_tpss" + "tpr_delift" + "tpr_tpr" * ]
+          }
+        ]
+     }
+   ]
+   class "green"
+   [ { "unwind" * } {
+        [ { "" * } {
+             [ "" * ]
+          }
+        ]
+     }
+   ]
+(*
+        [ { "stratified unwind" * } {
+             [ "sstas ( ⦃?,?⦄ ⊢ ? •*[?] ? )" "sstas_lift" "sstas_ltpss" "sstas_sstas" * ]
+          }
+        ]
+*)
+   class "grass"
+   [ { "static typing" * } {
+        [ { "local env. ref. for stratified static type assignment" * } {
+             [ "lsubss ( ? •⊑[?] ? )" "lsubss_ldrop" + "lsubss_ssta" + "lsubss_lsubss" * ]
+          }
+        ]
+        [ { "stratified static type assignment" * } {
+             [ "ssta ( ⦃?,?⦄ ⊢ ? •[?,?] ? )" "ssta_lift" + "ssta_ltpss_dx" + "ssta_ltpss_sn" + "ssta_aaa" + "ssta_ssta" * ]
+          }
+        ]
+        [ { "local env. ref. for atomic arity assignment" * } {
+             [ "lsuba ( ? ⁝⊑ ? )" "lsuba_ldrop" + "lsuba_aaa" + "lsuba_lsuba" * ]
+          }
+        ]
+        [ { "atomic arity assignment" * } {
+             [ "aaa ( ? ⊢ ? ⁝ ? )" "aaa_lift" + "aaa_lifts" + "aaa_ltpss_dx" + "aaa_ltpss_sn" + "aaa_aaa" * ]
+          }
+        ]
+        [ { "parameters" * } {
+             [ "sh" "sd" * ]
+          }
+        ]
+     }
+   ]
+   class "yellow"
+   [ { "unfold" * } {
+        [ { "basic local env. thinning" * } {
+             [ "thin ( ? ▼*[?,?] ≡ ? )" "thin_ldrop" + "thin_delift" * ]
+          }
+        ]        
+        [ { "inverse basic term relocation" * } {
+             [ "delift ( ? ⊢ ? ▼*[?,?] ≡ ? )" "delift_alt ( ? ⊢ ? ▼▼*[?,?] ≡ ? )" "delift_lift" + "delift_tpss" + "delift_ltpss" + "delift_delift" * ]
+          }
+        ]
+        [ { "partial unfold" * } {
+             [ "ltpss_sn ( ? ⊢ ▶*[?,?] ? )" "ltpss_sn_alt ( ? ⊢ ▶▶*[?,?] ? )" "ltpss_sn_ldrop" + "ltpss_sn_tps" + "ltpss_sn_tpss" + "ltpss_sn_ltpss_sn" * ]
+             [ "ltpss_dx ( ? ▶*[?,?] ? )" "ltpss_dx_ldrop" + "ltpss_dx_tps" + "ltpss_dx_tpss" + "ltpss_dx_ltpss_dx" * ]
+             [ "tpss ( ? ⊢ ? ▶*[?,?] ? )" "tpss_alt ( ? ⊢ ? ▶▶*[?,?] ? )" "tpss_lift" "tpss_tpss" * ]
+          }
+        ]
+        [ { "generic local env. slicing" * } { 
+             [ "ldrops ( ⇩*[?] ? ≡ ? )" "ldrops_ldrop" + "ldrops_ldrops" * ]
+          }
+        ]
+        [ { "iterated restricted structural predecessor for closures" * } {
+             [ "frsups ( ⦃?,?⦄ ⧁* ⦃?,?⦄ )" "frsups_frsups" * ]
+             [ "frsupp ( ⦃?,?⦄ ⧁+ ⦃?,?⦄ )" "frsupp_frsupp" * ]
+          }
+        ]
+        [ { "generic term relocation" * } {
+             [ "lifts_vector ( ⇧*[?] ? ≡ ? )" "lifts_lift_vector" * ]
+             [ "lifts ( ⇧*[?] ? ≡ ? )" "lifts_lift" + "lifts_lifts" * ] 
+          }
+        ]
+        [ { "support for generic relocation" * } { 
+             [ "gr2 ( @⦃?,?⦄ ≡ ? )" "gr2_plus ( ? + ? )" "gr2_minus ( ? ▭ ? ≡ ? )" "gr2_gr2" * ]
+          }
+        ]
+     }
+   ]
+   class "orange"   
+   [ { "substitution" * } { 
+        [ { "parallel substitution" * } {
+             [ "tps ( ? ⊢ ? ▶[?,?] ? )" "tps_lift" + "tps_tps" * ]
+          }
+        ]
+        [ { "global env. slicing" * } {
+             [ "gdrop ( ⇩[?] ? ≡ ? )" "gdrop_gdrop" * ]
+          }
+        ]
+        [ { "basic local env. slicing" * } {
+             [ "ldrop ( ⇩[?,?] ? ≡ ? )" "ldrop_append" + "ldrop_lpx" + "ldrop_sfr" + "ldrop_ldrop" * ]
+          }
+        ]
+        [ { "local env. ref. for substitution" * } {
+             [ "lsubs ( ? ≼[?,?] ? )" "(lsubs_lsubs)" "lsubs_sfr ( ≽[?,?] ? )" * ]
+          }
+        ]
+        [ { "restricted structural predecessor for closures" * } {
+             [ "frsup ( ⦃?,?⦄ ⧁ ⦃?,?⦄ )" * ]
+          }
+        ]
+        [ { "basic term relocation" * } {
+             [ "lift_vector ( ⇧[?,?] ? ≡ ? )" "lift_lift_vector" * ]
+             [ "lift ( ⇧[?,?] ? ≡ ? )" "lift_lift" * ]
+          }
+        ]
+     }
+   ]
+   class "red"   
+   [ { "grammar" * } {
+        [ { "same head term form" * } {
+             [ "tshf ( ? ≈ ? )" "(tshf_tshf)" * ]
+          }
+        ]
+        [ { "same top term constructor" * } {
+             [ "tstc ( ? ≃ ? )" "tstc_tstc" + "tstc_vector" * ]
+          }
+        ]
+        [ { "closures" * } {
+             [ "cl_shift ( ? @@ ? )" "cl_weight ( #{?,?} )" * ]
+          }
+        ]
+        [ { "internal syntax" * } {
+             [ "genv" * ]
+             [ "lenv" "lenv_weight ( #{?} )" "lenv_length ( |?| )" "lenv_append ( ? @@ ? )" "lenv_px" + "lenv_px_bi" * ]
+             [ "term" "term_weight ( #{?} )" "term_simple ( 𝐒⦃?⦄ )" "term_vector" * ]
+             [ "item" * ]
+          }
+        ] 
+        [ { "external syntax" * } {
+             [ "aarity" * ]
+          }
+        ] 
+     }
+   ]
+}
+
+class "component" { 0 }
+
+class "plane" { 1 }
+
+class "file" { 2 * }
diff --git a/helm/www/lambdadelta/xml/ld.dtd b/helm/www/lambdadelta/xml/ld.dtd
new file mode 100644 (file)
index 0000000..369f8c4
--- /dev/null
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- DTD for persistent lambdadelta logical data -->
+
+<!-- TERMS -->
+
+<!ENTITY % leaf '(Sort|LRef|GRef)'>
+
+<!ENTITY % node '(Cast|Appl|Abst|Abbr|Void)'>
+
+<!ENTITY % term '(%node;*,%leaf;)'>
+
+<!ENTITY % terms '(%term;*)'>
+
+<!ELEMENT Sort EMPTY>
+<!ATTLIST Sort
+          position NMTOKEN #REQUIRED
+          name     NMTOKEN #IMPLIED
+          mark     NMTOKEN #IMPLIED
+         meta     CDATA   #IMPLIED
+>
+
+<!ELEMENT LRef EMPTY>
+<!ATTLIST LRef
+          position NMTOKEN #REQUIRED
+         offset   NMTOKEN #IMPLIED
+          name     NMTOKEN #IMPLIED
+          mark     NMTOKEN #IMPLIED
+         meta     CDATA   #IMPLIED
+>
+
+<!ELEMENT GRef EMPTY>
+<!ATTLIST GRef
+          uri  CDATA   #REQUIRED
+          name NMTOKEN #IMPLIED
+          mark NMTOKEN #IMPLIED
+         meta CDATA   #IMPLIED
+>
+
+<!ELEMENT Cast %term;>
+<!ATTLIST Cast
+          arity NMTOKEN #IMPLIED
+          mark  NMTOKEN #IMPLIED
+         meta  CDATA   #IMPLIED
+>
+
+<!ELEMENT Appl %terms;>
+<!ATTLIST Appl
+          arity NMTOKEN #IMPLIED
+          mark  NMTOKEN #IMPLIED
+         meta  CDATA   #IMPLIED
+>
+
+<!ELEMENT Abst %terms;>
+<!ATTLIST Abst
+          level NMTOKEN  #IMPLIED
+         name  NMTOKENS #IMPLIED
+          arity NMTOKEN  #IMPLIED
+          mark  NMTOKEN  #IMPLIED
+         meta  CDATA    #IMPLIED
+>
+
+<!ELEMENT Abbr %terms;>
+<!ATTLIST Abbr
+          name  NMTOKENS #IMPLIED
+          arity NMTOKEN  #IMPLIED
+          mark  NMTOKEN  #IMPLIED
+         meta  CDATA    #IMPLIED
+>
+
+<!ELEMENT Void EMPTY>
+<!ATTLIST Void
+          name  NMTOKENS #IMPLIED
+          arity NMTOKEN  #IMPLIED
+         mark  NMTOKEN  #IMPLIED
+         meta  CDATA    #IMPLIED
+>
+
+<!-- ENVIRONMENT ENTRIES -->
+
+<!ENTITY % entity '(ABST|ABBR)'> 
+
+<!ELEMENT ABST %term;>
+<!ATTLIST ABST
+          uri   CDATA    #REQUIRED
+          level NMTOKEN  #IMPLIED
+          name  NMTOKEN  #IMPLIED
+          mark  NMTOKEN  #IMPLIED
+         meta  NMTOKENS #IMPLIED
+         lang  NMTOKEN  "en-US"
+         info  CDATA    #IMPLIED
+>
+
+<!ELEMENT ABBR %term;>
+<!ATTLIST ABBR
+          uri  CDATA    #REQUIRED
+          name NMTOKEN  #IMPLIED
+          mark NMTOKEN  #IMPLIED
+         meta NMTOKENS #IMPLIED
+         lang NMTOKEN  "en-US"
+         info CDATA    #IMPLIED
+>
+
+<!ELEMENT ENTITY %entity;>
+<!ATTLIST ENTITY
+          xmlns     CDATA    #FIXED    "http://lambdadelta.info"
+         hierarchy NMTOKEN  #REQUIRED
+          options   NMTOKENS #IMPLIED
+>
+
+<!-- CONVERSION CONSTRAINT SYSTEM -->
+
+<!ENTITY % cc '(ToPositive|ToOne|ToNext)'> 
+
+<!ENTITY % ccs '(%cc;*)'>
+
+<!ELEMENT ToPositive EMPTY>
+<!ATTLIST ToPositive
+          arity NMTOKEN  #IMPLIED
+          mark  NMTOKENS #IMPLIED
+>
+
+<!ELEMENT ToOne EMPTY>
+<!ATTLIST ToOne
+          arity NMTOKEN  #IMPLIED
+          mark  NMTOKENS #IMPLIED
+>
+
+<!ELEMENT ToNext EMPTY>
+<!ATTLIST ToNext
+          arity NMTOKEN  #IMPLIED
+          prec  NMTOKENS #IMPLIED
+          next  NMTOKENS #IMPLIED
+>
+
+<!ELEMENT CCS %ccs;>
+<!ATTLIST CCS
+          xmlns CDATA #FIXED    "http://lambdadelta.info"
+          uri   CDATA #REQUIRED
+>
diff --git a/helm/www/lambdadelta/xslt/ld_web.xsl b/helm/www/lambdadelta/xslt/ld_web.xsl
new file mode 100644 (file)
index 0000000..2889738
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+>
+
+<xsl:param name="baseurl"/>
+
+<xsl:include href="xhtbl.xsl"/>
+<xsl:include href="ld_web_library.xsl"/>
+<xsl:include href="ld_web_root.xsl"/>
+
+<xsl:output 
+   method="xml"
+   doctype-public="-//W3C//DTD XHTML 1.1//EN"
+   doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"   
+   encoding="UTF-8"
+   indent="yes"
+/>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/ld_web_library.xsl b/helm/www/lambdadelta/xslt/ld_web_library.xsl
new file mode 100644 (file)
index 0000000..a90d005
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:template name="home">
+   <div class="spacer">
+      <a href="{$baseurl}">
+         <img class="icon32"
+             alt="[lambdadelta home]"
+             title="lambdadelta home"
+             src="{$baseurl}images/crux_32.png"
+         />
+      </a>
+   </div>
+</xsl:template>
+
+<xsl:template name="rule">
+   <div class="spacer">
+      <img class="rule"
+           alt="[Spacer]"
+          title="lambdadelta rainbow rule"
+           src="{$baseurl}images/rainbow.png"
+      />
+   </div>
+</xsl:template>
+
+<xsl:template name="xhtml">
+   <a href="http://validator.w3.org/check?uri=referer">
+      <img class="w3c"
+           alt="[Valid XHTML 1.1]"
+          title="Valid XHTML 1.1" 
+           src="http://www.w3.org/Icons/valid-xhtml11-blue"
+      />
+   </a>
+</xsl:template>
+
+<xsl:template name="css">
+   <a href="http://jigsaw.w3.org/css-validator/check/referer">
+      <img class="w3c"
+           alt="[Valid CSS level 2]"
+          title="Valid CSS level 2" 
+           src="http://www.w3.org/Icons/valid-css2-blue"
+      />
+   </a>
+</xsl:template>
+
+<xsl:template name="xslt">
+   <a href="http://www.w3.org/XML/">
+      <img class="w3c"
+           alt="[Generated from XML via XSL]"
+          title="Generated from XML via XSL"
+          src="{$baseurl}images/xml_xsl2.png"
+      />
+   </a>
+</xsl:template>
+
+<xsl:template name="png">
+   <a href="http://www.w3.org/Graphics/PNG/">
+      <img class="w3c"
+           alt="[PNG used here]"
+          title="PNG used here"
+           src="{$baseurl}images/PNGnow2.png"
+      />
+   </a>
+</xsl:template>
+
+<xsl:template name="browser">
+   <a href="http://www.anybrowser.org/campaign/">
+      <img class="w3c"
+           alt="[Viewable with any browser]"
+          title="Viewable with any browser"
+           src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"
+      />
+   </a>
+</xsl:template>
+
+<xsl:template name="helena">
+   <a href="{$baseurl}implementation.html#helena">
+      <img class="w3c"
+           alt="[Powered by Helena lambdadelta processor]"
+          title="Powered by Helena lambdadelta processor"
+          src="{$baseurl}images/helena_label.png"
+      />
+   </a>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/ld_web_root.xsl b/helm/www/lambdadelta/xslt/ld_web_root.xsl
new file mode 100644 (file)
index 0000000..7c0afb5
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+               xmlns:date="http://exslt.org/dates-and-times"
+                xmlns:ld="http://lambdadelta.info"
+                xmlns="http://www.w3.org/1999/xhtml"
+                extension-element-prefixes="date"
+>
+
+<xsl:template match="ld:section">
+   <div class="head2">
+      <xsl:apply-templates/>
+   </div>
+</xsl:template>
+
+<xsl:template match="ld:body">
+   <div class="text">
+      <xsl:apply-templates/>
+   </div>
+</xsl:template>
+
+<xsl:template match="ld:rlink">
+   <a href="{$baseurl}{@to}">
+      <xsl:apply-templates/>
+   </a>
+</xsl:template>
+
+<xsl:template match="ld:news">
+   <ul><li>
+      <span class="date"><xsl:value-of select="@date"/></span>
+      <xsl:apply-templates/>
+   </li></ul>
+</xsl:template>
+
+<xsl:template match="ld:table">
+   <div class="text">
+      <xsl:call-template name="xhtbl"/>
+   </div>
+</xsl:template>
+
+<xsl:template match="ld:footer">
+   <xsl:call-template name="rule"/>
+   <div class="spacer"><br/></div>   
+   <div class="spacer">
+      <xsl:call-template name="xhtml"/>
+      <xsl:call-template name="css"/>
+      <xsl:call-template name="xslt"/>
+      <xsl:apply-templates/>
+      <xsl:call-template name="png"/>
+      <xsl:call-template name="browser"/>
+   </div>
+   <div class="spacer"><br/></div>   
+   <div class="spacer">
+      <xsl:value-of select="'Last update: '"/> 
+      <xsl:value-of select="date:date-time()"/>
+   </div>
+</xsl:template>
+
+<xsl:template match="ld:helena-label">
+   <xsl:call-template name="helena"/>
+</xsl:template>
+
+<xsl:template match="ld:page">
+   <html xmlns="http://www.w3.org/1999/xhtml"><head>
+      <meta http-equiv="Content-Language" content="en-us"/>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+      <meta http-equiv="Content-Style-Type" content="text/css"/>
+      <meta name="author" content="Ferruccio Guidi"/>
+      <meta name="description" content="{@description}"/>
+      <title><xsl:value-of select="@title"/></title>
+      <link rel="stylesheet" type="text/css"
+            href="{$baseurl}css/ld_web.css"
+      />
+      <link rel="stylesheet" type="text/css"
+            href="{$baseurl}css/lddl.css"
+      />
+      <link rel="stylesheet" type="text/css"
+            href="{$baseurl}css/xhtbl.css"
+      />
+      <link rel="shortcut icon" 
+            href="{$baseurl}images/crux_16.ico"
+      />
+   </head><body lang="en-US">
+      <xsl:call-template name="home"/>
+      <div class="head1"><xsl:value-of select="@head"/></div>
+      <xsl:call-template name="rule"/>
+      <xsl:apply-templates/>
+   </body></html>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/lddl.xsl b/helm/www/lambdadelta/xslt/lddl.xsl
new file mode 100644 (file)
index 0000000..2711cff
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:param name="baseurl"/>
+
+<xsl:include href="lddl_library.xsl"/>
+<xsl:include href="lddl_term.xsl"/>
+<xsl:include href="lddl_entity.xsl"/>
+<xsl:include href="lddl_root.xsl"/>
+
+<xsl:output 
+   method="xml"
+   doctype-public="-//W3C//DTD XHTML 1.1//EN"
+   doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"   
+   encoding="UTF-8"
+   indent="no"
+/>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/lddl_entity.xsl b/helm/www/lambdadelta/xslt/lddl_entity.xsl
new file mode 100644 (file)
index 0000000..99f699d
--- /dev/null
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:ld="http://lambdadelta.info"
+                              xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:strip-space elements="ABST ABBR"/>
+
+<xsl:template name="ENTITY">
+   <xsl:param name="kind"/>
+   <div class="head2">
+      <span class="global">
+         <xsl:value-of select="$kind"/>
+         <xsl:call-template name="cn"/>
+         <xsl:call-template name="sp"/>
+         <span class="gref">   
+            <xsl:call-template name="global"/>
+         </span>
+         <xsl:call-template name="sp"/>
+         <xsl:call-template name="op"/>
+         <span class="gref">
+            <xsl:call-template name="mk_path"/>
+         </span>
+         <xsl:call-template name="cp"/>
+      </span>      
+   </div>
+   <div class="text">
+      <xsl:call-template name="idescr"/>
+      <xsl:call-template name="qt"/>
+      <xsl:value-of select="@meta"/>
+      <xsl:call-template name="qt"/>
+   </div>
+   <div class="text">
+      <xsl:apply-templates/>
+   </div>
+</xsl:template>
+
+<xsl:template match="ld:ABST">
+   <xsl:call-template name="ENTITY">
+      <xsl:with-param name="kind">Declaration</xsl:with-param>
+   </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="ld:ABBR">
+   <xsl:call-template name="ENTITY">
+      <xsl:with-param name="kind">Definition</xsl:with-param>
+   </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/lddl_library.xsl b/helm/www/lambdadelta/xslt/lddl_library.xsl
new file mode 100644 (file)
index 0000000..e69468a
--- /dev/null
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:ld="http://lambdadelta.info"
+                              xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:template name="sp">
+   <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template name="cm">
+   <xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template name="sl">
+   <xsl:text>/</xsl:text>
+</xsl:template>
+
+<xsl:template name="plus">
+   <xsl:text>+</xsl:text>
+</xsl:template>
+
+<xsl:template name="fs">
+   <xsl:text>.&#x200B;</xsl:text>
+</xsl:template>
+
+<xsl:template name="op">
+   <xsl:text>(</xsl:text>
+</xsl:template>
+
+<xsl:template name="cp">
+   <xsl:text>)</xsl:text>
+</xsl:template>
+
+<xsl:template name="ob">
+   <xsl:text>[</xsl:text>
+</xsl:template>
+
+<xsl:template name="cb">
+   <xsl:text>]</xsl:text>
+</xsl:template>
+
+<xsl:template name="oa">
+   <xsl:text>&lt;</xsl:text>
+</xsl:template>
+
+<xsl:template name="ca">
+   <xsl:text>&gt;</xsl:text>
+</xsl:template>
+
+<xsl:template name="cn">
+   <xsl:text>:</xsl:text>
+</xsl:template>
+
+<xsl:template name="eq">
+   <xsl:text>=</xsl:text>
+</xsl:template>
+
+<xsl:template name="qt">
+   <xsl:text>"</xsl:text>
+</xsl:template>
+
+<xsl:template name="idescr">
+   <xsl:text>Informal description: </xsl:text>
+</xsl:template>
+
+<xsl:template name="vpars">
+   <xsl:text>Validation parameters: </xsl:text>
+</xsl:template>
+
+<xsl:template name="shier">
+   <xsl:text>sort hierarchy = </xsl:text>
+</xsl:template>
+
+<xsl:template name="kopts">
+   <xsl:text>kernel options = </xsl:text>
+</xsl:template>
+
+<xsl:template name="multiple">
+   <span class="separator">
+      <xsl:call-template name="cm"/>
+   </span>
+</xsl:template>
+
+<xsl:template name="lambda">
+   <a title="{@mark}">
+      <xsl:choose>
+        <xsl:when test="@level=0">
+           <xsl:text disable-output-escaping="yes">&amp;Pi;</xsl:text>
+            <sup><xsl:value-of select="@level"/></sup>
+        </xsl:when>
+        <xsl:when test="@level=1">
+           <xsl:text disable-output-escaping="yes">&amp;Pi;</xsl:text>
+        </xsl:when>
+        <xsl:when test="@level=2">
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+        </xsl:when>
+        <xsl:when test="not(@level)">
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+           <sup><xsl:text disable-output-escaping="yes">&amp;infin;</xsl:text></sup>
+        </xsl:when>
+        <xsl:otherwise>
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+            <sup><xsl:value-of select="@level"/></sup>
+        </xsl:otherwise>
+      </xsl:choose>
+   </a>
+</xsl:template>
+
+<xsl:template name="delta">
+   <a title="{@mark}">
+      <xsl:text disable-output-escaping="yes">&amp;delta;</xsl:text>
+   </a>
+</xsl:template>
+
+<xsl:template name="chi">
+   <a title="{@mark}">
+      <xsl:text disable-output-escaping="yes">&amp;chi;</xsl:text>
+   </a>
+</xsl:template>
+
+<xsl:template name="position">
+   <xsl:variable name="index">
+      <xsl:value-of select="@position"/>
+      <xsl:if test="@offset != 0">
+         <xsl:call-template name="plus"/>
+        <xsl:value-of select="@offset"/>
+      </xsl:if>
+   </xsl:variable>
+   <a title="{$index}">
+      <xsl:value-of select="@name"/>
+   </a>
+</xsl:template>
+
+<xsl:template name="uri">
+   <xsl:variable name="url">
+      <xsl:value-of select="$baseurl"/>
+      <xsl:value-of select="substring-after(@uri,'ld:')"/>
+      <xsl:text>.html</xsl:text>
+   </xsl:variable>
+   <a href="{$url}" title="{@uri}"><xsl:value-of select="@name"/></a>
+</xsl:template>
+
+<xsl:template name="global">
+   <a title="{@mark}">
+      <xsl:value-of select="@name"/>
+   </a>
+</xsl:template>
+
+<xsl:template name="mk_names">
+   <xsl:param name="names">
+      <xsl:value-of select="normalize-space(@name)"/>
+      <xsl:call-template name="sp"/>
+   </xsl:param>
+   <xsl:param name="sep" select="false()"/>
+   <xsl:if test="$names and $sep">
+      <xsl:call-template name="multiple"/>
+   </xsl:if>
+   <xsl:if test="$names">
+      <span class="lref">
+         <xsl:value-of select="substring-before($names, ' ')"/>
+      </span>
+      <xsl:call-template name="mk_names">
+         <xsl:with-param name="names" select="substring-after($names, ' ')"/>
+         <xsl:with-param name="sep" select="true()"/>
+      </xsl:call-template>
+   </xsl:if>
+</xsl:template>
+
+<xsl:template name="mk_terms">
+   <xsl:for-each select="*">
+      <xsl:apply-templates select="."/>
+      <xsl:if test="(name()='Sort' or name()='LRef' or name()='GRef') and position()!=last()">
+         <xsl:call-template name="multiple"/>
+      </xsl:if>
+   </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="mk_binder">
+   <xsl:param name="sep-seq"/>
+   <xsl:call-template name="ob"/>
+   <xsl:call-template name="mk_binder_rec1">
+      <xsl:with-param name="sep-seq" select="$sep-seq"/>
+   </xsl:call-template>
+   <xsl:call-template name="cb"/>
+</xsl:template>
+
+<xsl:template name="mk_binder_rec1">
+   <xsl:param name="sep-seq"/>
+   <xsl:param name="names">
+      <xsl:value-of select="normalize-space(@name)"/>
+      <xsl:call-template name="sp"/>
+   </xsl:param>
+   <xsl:param name="sep" select="false()"/>
+   <xsl:param name="start" select="true()"/>
+   <xsl:param name="pos" select="1"/>
+   <xsl:choose>
+      <xsl:when test="$start and $pos &lt;= count(*)">
+         <xsl:if test="$names and $sep">
+            <xsl:call-template name="multiple"/>
+         </xsl:if>
+         <span class="lref">
+           <xsl:value-of select="substring-before($names, ' ')"/>
+        </span>
+         <xsl:copy-of select="$sep-seq"/>
+        <xsl:call-template name="mk_binder_rec2">
+            <xsl:with-param name="names" select="substring-after($names, ' ')"/>
+            <xsl:with-param name="pos" select="$pos"/>
+            <xsl:with-param name="sep-seq" select="$sep-seq"/>
+         </xsl:call-template>
+      </xsl:when>
+      <xsl:when test="not($start) and $pos &lt;= count(*)">
+         <xsl:call-template name="mk_binder_rec2">
+            <xsl:with-param name="names" select="$names"/>
+            <xsl:with-param name="pos" select="$pos"/>
+            <xsl:with-param name="sep-seq" select="$sep-seq"/>
+         </xsl:call-template>
+      </xsl:when>
+   </xsl:choose>
+</xsl:template>
+
+<xsl:template name="mk_binder_rec2">
+   <xsl:param name="sep-seq"/>
+   <xsl:param name="names"/>
+   <xsl:param name="pos"/>
+   <xsl:apply-templates select="*[$pos]"/>
+   <xsl:call-template name="mk_binder_rec1">
+      <xsl:with-param name="sep-seq" select="$sep-seq"/>
+      <xsl:with-param name="names" select="$names"/>
+      <xsl:with-param name="sep" select="true()"/>
+      <xsl:with-param name="start" select="name(*[$pos])='Sort' or name(*[$pos])='LRef' or name(*[$pos])='GRef'"/>
+      <xsl:with-param name="pos" select="$pos+1"/>
+   </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="mk_segment">
+   <xsl:param name="path"/>
+   <xsl:param name="name"/>
+   <xsl:variable name="url">
+      <xsl:value-of select="$baseurl"/>
+      <xsl:value-of select="substring-after($path,'ld:')"/>
+   </xsl:variable>
+   <a href="{$url}"><xsl:value-of select="$name"/></a>
+   <xsl:call-template name="sl"/>
+</xsl:template>
+
+<xsl:template name="mk_path">
+   <xsl:param name="rpath" select="@uri"/>
+   <xsl:variable name="newrpath" select="substring-after($rpath,'/')"/>
+   <xsl:choose>
+      <xsl:when test="$newrpath">
+         <xsl:variable name="segment" select="substring-before($rpath,$newrpath)"/>
+         <xsl:call-template name="mk_segment">
+            <xsl:with-param name="path" select="substring-before(@uri,$newrpath)"/>
+            <xsl:with-param name="name" select="substring-before($segment,'/')"/>
+         </xsl:call-template>
+        <xsl:call-template name="mk_path">
+           <xsl:with-param name="rpath" select="$newrpath"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:variable name="path" select="substring-before(@uri,$rpath)"/>
+        <xsl:value-of select="substring-after(@uri,$path)"/>
+      </xsl:otherwise>
+   </xsl:choose>
+</xsl:template>
+
+<xsl:template name="lddl">
+   <xsl:text disable-output-escaping="yes">&amp;lambda;&amp;delta; Digital Library (LDDL)</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/lddl_root.xsl b/helm/www/lambdadelta/xslt/lddl_root.xsl
new file mode 100644 (file)
index 0000000..ba2dd90
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:ld="http://lambdadelta.info"
+                             xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:strip-space elements="ENTITY"/>
+
+<xsl:template match="/">
+   <html xmlns="http://www.w3.org/1999/xhtml"><head>
+      <meta http-equiv="Content-Language" content="en-us"/>
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+      <meta http-equiv="Content-Style-Type" content="text/css"/>
+      <meta name="author" content="Ferruccio Guidi"/>
+      <meta name="description" content="lambdadelta digital library"/>
+      <title>lambdadelta digital library (LDDL)</title>
+      <link rel="stylesheet" type="text/css"
+            href="http://lambdadelta.info/css/ld.css"
+      />
+      <link rel="stylesheet" type="text/css"
+            href="http://lambdadelta.info/css/lddl.css"
+      />
+      <link rel="shortcut icon" 
+            href="http://lambdadelta.info/download/crux_16.ico"
+      />
+   </head><body>
+      <div class="spacer">         
+        <a href="http://lambdadelta.info/">
+         <img class="icon32" 
+             alt="[lambdadelta home]" title="lambdadelta home"
+             src="http://lambdadelta.info/download/crux_32.png"
+        /></a>
+      </div>
+      <div class="head1">       
+        <xsl:call-template name="lddl"/>
+      </div>
+      <div class="spacer"> 
+        <img class="rule"
+             alt="[Spacer]" title="lambdadelta rainbow rule"
+             src="http://lambdadelta.info/download/rainbow.png"
+        />
+      </div>       
+      <xsl:apply-templates/>
+      <div class="spacer">
+         <a href="http://validator.w3.org/check?uri=referer">
+        <img class="w3c"
+             alt="[Valid XHTML 1.1]"
+             title="Valid XHTML 1.1"
+             src="http://www.w3.org/Icons/valid-xhtml11-blue"
+        /></a>  
+        <a href="http://jigsaw.w3.org/css-validator/check/referer">
+         <img class="w3c"
+             alt="[Valid CSS level 2]"
+             title="Valid CSS level 2"
+             src="http://www.w3.org/Icons/valid-css2-blue"
+        /></a>  
+        <a href="http://www.w3.org/XML/">
+         <img class="w3c"
+             alt="[Generated from XML via XSL]"
+             title="Generated from XML via XSL"
+             src="http://lambdadelta.info/download/xml_xsl2.png"
+        /></a>
+        <a href="http://lambdadelta.info/implementation.html#helena">
+         <img class="w3c"
+             alt="[Powered by Helena lambdadelta processor]"
+             title="Powered by Helena lambdadelta processor"
+             src="http://lambdadelta.info/download/helena_label.png"
+        /></a>
+        <a href="http://www.w3.org/Graphics/PNG/">
+        <img class="w3c"
+             alt="[PNG used here]"
+             title="PNG used here"
+             src="http://lambdadelta.info/download/PNGnow2.png"
+        /></a>
+        <a href="http://www.anybrowser.org/campaign/">
+        <img class="w3c"
+             alt="[Viewable with any browser]"
+             title="Viewable with any browser"
+              src="http://www.anybrowser.org/campaign/bvgraphics/abtfile.png"
+        /></a>
+      </div>
+   </body></html>
+</xsl:template>
+
+<xsl:template match="ld:ENTITY">
+   <xsl:apply-templates/>
+   <div class="text">
+      <xsl:call-template name="vpars"/>
+      <xsl:call-template name="shier"/>
+      <xsl:call-template name="qt"/>
+      <xsl:value-of select="@hierarchy"/>
+      <xsl:call-template name="qt"/>
+      <xsl:call-template name="cm"/>
+      <xsl:call-template name="sp"/>
+      <xsl:call-template name="kopts"/>
+      <xsl:call-template name="qt"/>
+      <xsl:value-of select="@options"/>
+      <xsl:call-template name="qt"/>
+   </div>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/helm/www/lambdadelta/xslt/lddl_term.xsl b/helm/www/lambdadelta/xslt/lddl_term.xsl
new file mode 100644 (file)
index 0000000..d2cb461
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:ld="http://lambdadelta.info"
+                              xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:strip-space elements="Sort LRef GRef Cast Appl Abst Abbr Void"/>
+
+<xsl:template name="separator">
+   <span class="separator">
+      <xsl:call-template name="fs"/>
+   </span>
+</xsl:template>
+
+<xsl:template match="ld:Sort">
+   <span class="sort">
+      <xsl:call-template name="position"/>
+   </span>
+</xsl:template>
+
+<xsl:template match="ld:LRef">
+   <span class="lref">
+      <xsl:call-template name="position"/>
+   </span>
+</xsl:template>
+
+<xsl:template match="ld:GRef">
+   <span class="gref">
+      <xsl:call-template name="uri"/>
+   </span>
+</xsl:template>
+
+<xsl:template match="ld:Cast">
+   <span class="cast">
+      <xsl:call-template name="oa"/>
+      <xsl:apply-templates/>
+      <xsl:call-template name="ca"/>
+   </span>
+   <xsl:call-template name="separator"/>
+</xsl:template>
+
+<xsl:template match="ld:Appl">
+   <span class="appl">
+      <xsl:call-template name="op"/>
+      <xsl:call-template name="mk_terms"/>
+      <xsl:call-template name="cp"/>
+   </span>
+   <xsl:call-template name="separator"/>
+</xsl:template>
+
+<xsl:template match="ld:Abst">
+   <span class="local">
+      <xsl:call-template name="lambda"/>
+      <xsl:call-template name="mk_binder">
+         <xsl:with-param name="sep-seq">
+            <xsl:call-template name="cn"/>
+         </xsl:with-param>
+      </xsl:call-template>
+   </span>
+   <xsl:call-template name="separator"/>
+</xsl:template>
+
+<xsl:template match="ld:Abbr">
+   <span class="local">
+      <xsl:call-template name="delta"/>
+      <xsl:call-template name="mk_binder">
+         <xsl:with-param name="sep-seq">
+            <xsl:call-template name="eq"/>
+         </xsl:with-param>
+      </xsl:call-template>
+   </span>
+   <xsl:call-template name="separator"/>
+</xsl:template>
+
+<xsl:template match="ld:Void">
+   <span class="local">
+      <xsl:call-template name="chi"/>
+      <xsl:call-template name="ob"/>
+      <xsl:call-template name="mk_names"/>
+      <xsl:call-template name="cb"/>
+   </span>
+   <xsl:call-template name="separator"/>
+</xsl:template>
+
+</xsl:stylesheet>