Normalizable Horn clauses, strongly recognizable relations, and Spi
Identifieur interne : 001F52 ( Main/Merge ); précédent : 001F51; suivant : 001F53Normalizable Horn clauses, strongly recognizable relations, and Spi
Auteurs : Flemming Nielson [Danemark] ; Hanne Riis Nielson [Danemark] ; Helmut Seidl [Allemagne]Source :
- Lecture notes in computer science [ 0302-9743 ] ; 2002.
Descripteurs français
- Pascal (Inist)
English descriptors
Abstract
We exhibit a rich class of Horn clauses, which we call H1, whose least models, though possibly infinite, can be computed effectively. We show that the least model of an H1 clause consists of so-called strongly recognizable relations and present an exponential normalization procedure to compute it. In order to obtain a practical tool for program analysis, we identify a restriction of H1 clauses, which we call H2, where the least models can be computed in polynomial time. This fragment still allows to express, e.g., Cartesian product and transitive closure of relations. Inside H2, we exhibit a fragment H3 where normalization is even cubic. We demonstrate the usefulness of our approach by deriving a cubic control-flow analysis for the Spi calculus [1] as presented in [14].
Links toward previous steps (curation, corpus...)
- to stream PascalFrancis, to step Corpus: 000C41
- to stream PascalFrancis, to step Curation: 000274
- to stream PascalFrancis, to step Checkpoint: 000A87
Links to Exploration step
Pascal:03-0334255Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en" level="a">Normalizable Horn clauses, strongly recognizable relations, and Spi</title>
<author><name sortKey="Nielson, Flemming" sort="Nielson, Flemming" uniqKey="Nielson F" first="Flemming" last="Nielson">Flemming Nielson</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>Informatics and Mathematical Modelling, Technical University of Denmark</s1>
<s2>2800 Kongens Lyngby</s2>
<s3>DNK</s3>
<sZ>1 aut.</sZ>
<sZ>2 aut.</sZ>
</inist:fA14>
<country>Danemark</country>
<wicri:noRegion>2800 Kongens Lyngby</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Nielson, Hanne Riis" sort="Nielson, Hanne Riis" uniqKey="Nielson H" first="Hanne Riis" last="Nielson">Hanne Riis Nielson</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>Informatics and Mathematical Modelling, Technical University of Denmark</s1>
<s2>2800 Kongens Lyngby</s2>
<s3>DNK</s3>
<sZ>1 aut.</sZ>
<sZ>2 aut.</sZ>
</inist:fA14>
<country>Danemark</country>
<wicri:noRegion>2800 Kongens Lyngby</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>Universität Trier, FB IV - Informatik</s1>
<s2>54286 Trier</s2>
<s3>DEU</s3>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>Allemagne</country>
<wicri:noRegion>54286 Trier</wicri:noRegion>
<wicri:noRegion>FB IV - Informatik</wicri:noRegion>
<wicri:noRegion>54286 Trier</wicri:noRegion>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">INIST</idno>
<idno type="inist">03-0334255</idno>
<date when="2002">2002</date>
<idno type="stanalyst">PASCAL 03-0334255 INIST</idno>
<idno type="RBID">Pascal:03-0334255</idno>
<idno type="wicri:Area/PascalFrancis/Corpus">000C41</idno>
<idno type="wicri:Area/PascalFrancis/Curation">000274</idno>
<idno type="wicri:Area/PascalFrancis/Checkpoint">000A87</idno>
<idno type="wicri:explorRef" wicri:stream="PascalFrancis" wicri:step="Checkpoint">000A87</idno>
<idno type="wicri:doubleKey">0302-9743:2002:Nielson F:normalizable:horn:clauses</idno>
<idno type="wicri:Area/Main/Merge">001F52</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a">Normalizable Horn clauses, strongly recognizable relations, and Spi</title>
<author><name sortKey="Nielson, Flemming" sort="Nielson, Flemming" uniqKey="Nielson F" first="Flemming" last="Nielson">Flemming Nielson</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>Informatics and Mathematical Modelling, Technical University of Denmark</s1>
<s2>2800 Kongens Lyngby</s2>
<s3>DNK</s3>
<sZ>1 aut.</sZ>
<sZ>2 aut.</sZ>
</inist:fA14>
<country>Danemark</country>
<wicri:noRegion>2800 Kongens Lyngby</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Nielson, Hanne Riis" sort="Nielson, Hanne Riis" uniqKey="Nielson H" first="Hanne Riis" last="Nielson">Hanne Riis Nielson</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>Informatics and Mathematical Modelling, Technical University of Denmark</s1>
<s2>2800 Kongens Lyngby</s2>
<s3>DNK</s3>
<sZ>1 aut.</sZ>
<sZ>2 aut.</sZ>
</inist:fA14>
<country>Danemark</country>
<wicri:noRegion>2800 Kongens Lyngby</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>Universität Trier, FB IV - Informatik</s1>
<s2>54286 Trier</s2>
<s3>DEU</s3>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>Allemagne</country>
<wicri:noRegion>54286 Trier</wicri:noRegion>
<wicri:noRegion>FB IV - Informatik</wicri:noRegion>
<wicri:noRegion>54286 Trier</wicri:noRegion>
</affiliation>
</author>
</analytic>
<series><title level="j" type="main">Lecture notes in computer science</title>
<idno type="ISSN">0302-9743</idno>
<imprint><date when="2002">2002</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><title level="j" type="main">Lecture notes in computer science</title>
<idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass><keywords scheme="KwdEn" xml:lang="en"><term>Horn clauses</term>
<term>Polynomial time</term>
<term>Program analysis</term>
<term>Spi calculus</term>
<term>Transitive closure</term>
</keywords>
<keywords scheme="Pascal" xml:lang="fr"><term>Fermeture transitive</term>
<term>Analyse programme</term>
<term>Temps polynomial</term>
<term>Clause Horn</term>
<term>Spi calcul</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">We exhibit a rich class of Horn clauses, which we call H1, whose least models, though possibly infinite, can be computed effectively. We show that the least model of an H1 clause consists of so-called strongly recognizable relations and present an exponential normalization procedure to compute it. In order to obtain a practical tool for program analysis, we identify a restriction of H1 clauses, which we call H2, where the least models can be computed in polynomial time. This fragment still allows to express, e.g., Cartesian product and transitive closure of relations. Inside H2, we exhibit a fragment H3 where normalization is even cubic. We demonstrate the usefulness of our approach by deriving a cubic control-flow analysis for the Spi calculus [1] as presented in [14].</div>
</front>
</TEI>
<affiliations><list><country><li>Allemagne</li>
<li>Danemark</li>
</country>
</list>
<tree><country name="Danemark"><noRegion><name sortKey="Nielson, Flemming" sort="Nielson, Flemming" uniqKey="Nielson F" first="Flemming" last="Nielson">Flemming Nielson</name>
</noRegion>
<name sortKey="Nielson, Hanne Riis" sort="Nielson, Hanne Riis" uniqKey="Nielson H" first="Hanne Riis" last="Nielson">Hanne Riis Nielson</name>
</country>
<country name="Allemagne"><noRegion><name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
</noRegion>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Rhénanie/explor/UnivTrevesV1/Data/Main/Merge
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 001F52 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Merge/biblio.hfd -nk 001F52 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Rhénanie |area= UnivTrevesV1 |flux= Main |étape= Merge |type= RBID |clé= Pascal:03-0334255 |texte= Normalizable Horn clauses, strongly recognizable relations, and Spi }}
![]() | This area was generated with Dilib version V0.6.31. | ![]() |