Catamorphic Abstractions for Constrained Horn Clause Satisfiability

Catamorphisms are functions that are recursively defined on list and trees and, in general, on algebraic data types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms include functions that compute size of lists, orderedness of lis...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Theory and practice of logic programming 2024-10, p.1-28
Hauptverfasser: DE ANGELIS, EMANUELE, FIORAVANTI, FABIO, PETTOROSSI, ALBERTO, PROIETTI, MAURIZIO
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 28
container_issue
container_start_page 1
container_title Theory and practice of logic programming
container_volume
creator DE ANGELIS, EMANUELE
FIORAVANTI, FABIO
PETTOROSSI, ALBERTO
PROIETTI, MAURIZIO
description Catamorphisms are functions that are recursively defined on list and trees and, in general, on algebraic data types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms include functions that compute size of lists, orderedness of lists, and height of trees. It is well known that program properties specified through catamorphisms can be proved by showing the satisfiability of suitable sets of constrained Horn clauses (CHCs). We address the problem of checking the satisfiability of those sets of CHCs, and we propose a method for transforming sets of CHCs into equisatisfiable sets where catamorphisms are no longer present. As a consequence, clauses with catamorphisms can be handled without extending the satisfiability algorithms used by existing CHC solvers. Through an experimental evaluation on a nontrivial benchmark consisting of many list and tree processing algorithms expressed as sets of CHCs, we show that our technique is indeed effective and significantly enhances the performance of state-of-the-art CHC solvers.
doi_str_mv 10.1017/S147106842400019X
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1017_S147106842400019X</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1017_S147106842400019X</sourcerecordid><originalsourceid>FETCH-LOGICAL-c170t-52c22767417ccf0c5cec234ad5abd4d49cd617325d96c4b1c5f641416710f5903</originalsourceid><addsrcrecordid>eNplUM1KAzEYDKJgrT6At7xANF9-u8cS1AoFD1XwtmS_bDCy3S1JPPTt3ao3TzPMDAMzhNwCvwMO9n4HygI3KyUU5xya9zOymCXNJF_B-Q8HdvIvyVUpn3PESKEWxDlf_X7Kh4-EdN2Vmj3WNI2FxilTN5NZSWMf6GbKI3WD_yo93fmaSky-S0Oqx2tyEf1Q-ps_XJK3x4dXt2Hbl6dnt94yBMsr0wKFsMYqsIiRo8YehVQ-aN8FFVSDwYCVQofGoOoAdTQKFJh5WNQNl0sCv72Yp1JyH9tDTnufjy3w9vRC--8F-Q3AXk-V</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Catamorphic Abstractions for Constrained Horn Clause Satisfiability</title><source>Alma/SFX Local Collection</source><creator>DE ANGELIS, EMANUELE ; FIORAVANTI, FABIO ; PETTOROSSI, ALBERTO ; PROIETTI, MAURIZIO</creator><creatorcontrib>DE ANGELIS, EMANUELE ; FIORAVANTI, FABIO ; PETTOROSSI, ALBERTO ; PROIETTI, MAURIZIO</creatorcontrib><description>Catamorphisms are functions that are recursively defined on list and trees and, in general, on algebraic data types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms include functions that compute size of lists, orderedness of lists, and height of trees. It is well known that program properties specified through catamorphisms can be proved by showing the satisfiability of suitable sets of constrained Horn clauses (CHCs). We address the problem of checking the satisfiability of those sets of CHCs, and we propose a method for transforming sets of CHCs into equisatisfiable sets where catamorphisms are no longer present. As a consequence, clauses with catamorphisms can be handled without extending the satisfiability algorithms used by existing CHC solvers. Through an experimental evaluation on a nontrivial benchmark consisting of many list and tree processing algorithms expressed as sets of CHCs, we show that our technique is indeed effective and significantly enhances the performance of state-of-the-art CHC solvers.</description><identifier>ISSN: 1471-0684</identifier><identifier>EISSN: 1475-3081</identifier><identifier>DOI: 10.1017/S147106842400019X</identifier><language>eng</language><ispartof>Theory and practice of logic programming, 2024-10, p.1-28</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c170t-52c22767417ccf0c5cec234ad5abd4d49cd617325d96c4b1c5f641416710f5903</cites><orcidid>0000-0002-7319-8439 ; 0000-0001-7858-4032 ; 0000-0003-3835-4931 ; 0000-0002-1268-7829</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>DE ANGELIS, EMANUELE</creatorcontrib><creatorcontrib>FIORAVANTI, FABIO</creatorcontrib><creatorcontrib>PETTOROSSI, ALBERTO</creatorcontrib><creatorcontrib>PROIETTI, MAURIZIO</creatorcontrib><title>Catamorphic Abstractions for Constrained Horn Clause Satisfiability</title><title>Theory and practice of logic programming</title><description>Catamorphisms are functions that are recursively defined on list and trees and, in general, on algebraic data types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms include functions that compute size of lists, orderedness of lists, and height of trees. It is well known that program properties specified through catamorphisms can be proved by showing the satisfiability of suitable sets of constrained Horn clauses (CHCs). We address the problem of checking the satisfiability of those sets of CHCs, and we propose a method for transforming sets of CHCs into equisatisfiable sets where catamorphisms are no longer present. As a consequence, clauses with catamorphisms can be handled without extending the satisfiability algorithms used by existing CHC solvers. Through an experimental evaluation on a nontrivial benchmark consisting of many list and tree processing algorithms expressed as sets of CHCs, we show that our technique is indeed effective and significantly enhances the performance of state-of-the-art CHC solvers.</description><issn>1471-0684</issn><issn>1475-3081</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><recordid>eNplUM1KAzEYDKJgrT6At7xANF9-u8cS1AoFD1XwtmS_bDCy3S1JPPTt3ao3TzPMDAMzhNwCvwMO9n4HygI3KyUU5xya9zOymCXNJF_B-Q8HdvIvyVUpn3PESKEWxDlf_X7Kh4-EdN2Vmj3WNI2FxilTN5NZSWMf6GbKI3WD_yo93fmaSky-S0Oqx2tyEf1Q-ps_XJK3x4dXt2Hbl6dnt94yBMsr0wKFsMYqsIiRo8YehVQ-aN8FFVSDwYCVQofGoOoAdTQKFJh5WNQNl0sCv72Yp1JyH9tDTnufjy3w9vRC--8F-Q3AXk-V</recordid><startdate>20241029</startdate><enddate>20241029</enddate><creator>DE ANGELIS, EMANUELE</creator><creator>FIORAVANTI, FABIO</creator><creator>PETTOROSSI, ALBERTO</creator><creator>PROIETTI, MAURIZIO</creator><scope>AAYXX</scope><scope>CITATION</scope><orcidid>https://orcid.org/0000-0002-7319-8439</orcidid><orcidid>https://orcid.org/0000-0001-7858-4032</orcidid><orcidid>https://orcid.org/0000-0003-3835-4931</orcidid><orcidid>https://orcid.org/0000-0002-1268-7829</orcidid></search><sort><creationdate>20241029</creationdate><title>Catamorphic Abstractions for Constrained Horn Clause Satisfiability</title><author>DE ANGELIS, EMANUELE ; FIORAVANTI, FABIO ; PETTOROSSI, ALBERTO ; PROIETTI, MAURIZIO</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c170t-52c22767417ccf0c5cec234ad5abd4d49cd617325d96c4b1c5f641416710f5903</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>DE ANGELIS, EMANUELE</creatorcontrib><creatorcontrib>FIORAVANTI, FABIO</creatorcontrib><creatorcontrib>PETTOROSSI, ALBERTO</creatorcontrib><creatorcontrib>PROIETTI, MAURIZIO</creatorcontrib><collection>CrossRef</collection><jtitle>Theory and practice of logic programming</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>DE ANGELIS, EMANUELE</au><au>FIORAVANTI, FABIO</au><au>PETTOROSSI, ALBERTO</au><au>PROIETTI, MAURIZIO</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Catamorphic Abstractions for Constrained Horn Clause Satisfiability</atitle><jtitle>Theory and practice of logic programming</jtitle><date>2024-10-29</date><risdate>2024</risdate><spage>1</spage><epage>28</epage><pages>1-28</pages><issn>1471-0684</issn><eissn>1475-3081</eissn><abstract>Catamorphisms are functions that are recursively defined on list and trees and, in general, on algebraic data types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms include functions that compute size of lists, orderedness of lists, and height of trees. It is well known that program properties specified through catamorphisms can be proved by showing the satisfiability of suitable sets of constrained Horn clauses (CHCs). We address the problem of checking the satisfiability of those sets of CHCs, and we propose a method for transforming sets of CHCs into equisatisfiable sets where catamorphisms are no longer present. As a consequence, clauses with catamorphisms can be handled without extending the satisfiability algorithms used by existing CHC solvers. Through an experimental evaluation on a nontrivial benchmark consisting of many list and tree processing algorithms expressed as sets of CHCs, we show that our technique is indeed effective and significantly enhances the performance of state-of-the-art CHC solvers.</abstract><doi>10.1017/S147106842400019X</doi><tpages>28</tpages><orcidid>https://orcid.org/0000-0002-7319-8439</orcidid><orcidid>https://orcid.org/0000-0001-7858-4032</orcidid><orcidid>https://orcid.org/0000-0003-3835-4931</orcidid><orcidid>https://orcid.org/0000-0002-1268-7829</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 1471-0684
ispartof Theory and practice of logic programming, 2024-10, p.1-28
issn 1471-0684
1475-3081
language eng
recordid cdi_crossref_primary_10_1017_S147106842400019X
source Alma/SFX Local Collection
title Catamorphic Abstractions for Constrained Horn Clause Satisfiability
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-25T22%3A05%3A15IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Catamorphic%20Abstractions%20for%20Constrained%20Horn%20Clause%20Satisfiability&rft.jtitle=Theory%20and%20practice%20of%20logic%20programming&rft.au=DE%20ANGELIS,%20EMANUELE&rft.date=2024-10-29&rft.spage=1&rft.epage=28&rft.pages=1-28&rft.issn=1471-0684&rft.eissn=1475-3081&rft_id=info:doi/10.1017/S147106842400019X&rft_dat=%3Ccrossref%3E10_1017_S147106842400019X%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true