{"title":"Efficient analysis of belief properties in process algebra","authors":"Zahra Moezkarimi , Fatemeh Ghassemi","doi":"10.1016/j.jlamp.2024.101001","DOIUrl":"10.1016/j.jlamp.2024.101001","url":null,"abstract":"<div><p>Protocols are typically specified in an operational manner by specifying the communication patterns among the different involved principals. However, many properties are of epistemic nature, e.g., what each principal believes after having seen a run of the protocol. We elaborate on a unified algebraic framework suitable for epistemic reasoning about operational protocols. This reasoning framework is based on a logic of beliefs and allows for the operational specification of untruthful communications. The information recorded in the semantic models to support reasoning about the interaction between the operational and epistemic aspects intensifies the state-space explosion. We propose an efficient on-the-fly reduction for such a unifying framework by providing a set of operational rules. These operational rules automatically generate efficient reduced semantics for a class of epistemic properties, specified in a rich extension of modal <em>μ</em>-calculus with past and belief modality, and can potentially reduce an infinite state space into a finite one. We reformulate and prove criteria that guarantee belief consistency for credulous agents, i.e., agents that are ready to believe what is told unless it is logically inconsistent. We adjust our reduction so that the belief consistency of an original model is preserved. We prove the soundness and completeness result for the specified class of properties.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 101001"},"PeriodicalIF":0.7,"publicationDate":"2024-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141638494","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Karima Makhlouf , Sami Zhioua , Catuscia Palamidessi
{"title":"When causality meets fairness: A survey","authors":"Karima Makhlouf , Sami Zhioua , Catuscia Palamidessi","doi":"10.1016/j.jlamp.2024.101000","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.101000","url":null,"abstract":"<div><p>Addressing the problem of fairness is crucial to safely using machine learning algorithms to support decisions that have a critical impact on people's lives, such as job hiring, child maltreatment, disease diagnosis, loan granting, etc. Several notions of fairness have been defined and examined in the past decade, such as statistical parity and equalized odds. However, the most recent notions of fairness are causal-based and reflect the now widely accepted idea that using causality is necessary to appropriately address the problem of fairness. This paper examines an exhaustive list of causal-based fairness notions and studies their applicability in real-world scenarios. As most causal-based fairness notions are defined in terms of non-observable quantities (e.g., interventions and counterfactuals), their deployment in practice requires computing or estimating those quantities using observational data. This paper offers a comprehensive report of the different approaches to infer causal quantities from observational data, including identifiability (Pearl's SCM framework) and estimation (potential outcome framework). The main contributions of this survey paper are (1) a guideline to help select a suitable causal fairness notion given a specific real-world scenario and (2) a ranking of the fairness notions according to Pearl's causation ladder, indicating how difficult it is to deploy each notion in practice.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 101000"},"PeriodicalIF":0.7,"publicationDate":"2024-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141486837","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Formal definitions and proofs for partial (co)recursive functions","authors":"Horaţiu Cheval , David Nowak , Vlad Rusu","doi":"10.1016/j.jlamp.2024.100999","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100999","url":null,"abstract":"<div><p>Partial functions are a key concept in programming. Without partiality a programming language has limited expressiveness – it is not Turing-complete, hence, it excludes some constructs such as while-loops. In functional programming languages, partiality mostly originates from the non-termination of recursive functions. Corecursive functions are another source of partiality: here, the issue is not termination, but the inability to produce arbitrary large, finite approximations of a theoretically infinite output.</p><p>Partial functions have been formally studied in the branch of theoretical computer science called domain theory. In this paper we propose to step up the level of formality by using the Coq proof assistant. The main difficulty is that Coq requires all functions to be total, since partiality would break the soundness of its underlying logic. We propose practical solutions for this issue, and others, which appear when one attempts to define and reason about partial (co)recursive functions in a total functional language.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100999"},"PeriodicalIF":0.9,"publicationDate":"2024-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141429499","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Advancing orchestration synthesis for contract automata","authors":"Davide Basile, Maurice H. ter Beek","doi":"10.1016/j.jlamp.2024.100998","DOIUrl":"10.1016/j.jlamp.2024.100998","url":null,"abstract":"<div><p>Contract automata allow to formally define the behaviour of service contracts in terms of service offers and requests, some of which are moreover optional and some of which are necessary. A composition of contracts is said to be in agreement if all service requests are matched by corresponding offers. Whenever a composition of contracts is not in agreement, it can be refined to reach an agreement using the orchestration synthesis algorithm. This algorithm is a variant of the synthesis algorithm used in supervisory control theory and it is based on the fact that optional transitions are controllable, whereas necessary transitions are at most semi-controllable and cannot always be controlled. In this paper, we present advancements of the orchestration synthesis for contract automata. Notably, we identify the existing limits of the orchestration synthesis and propose a novel orchestration synthesis along with additional constructs to enhance the expressiveness and scalability of contract automata. The proposed advancements have been implemented and experimented on two case studies, one of which originates from the railway domain and the other is a card game.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100998"},"PeriodicalIF":0.7,"publicationDate":"2024-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141398517","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elvira Pino, Fernando Orejas, Nikos Mylonakis, Edelmira Pasarella
{"title":"A logical approach to graph databases","authors":"Elvira Pino, Fernando Orejas, Nikos Mylonakis, Edelmira Pasarella","doi":"10.1016/j.jlamp.2024.100997","DOIUrl":"10.1016/j.jlamp.2024.100997","url":null,"abstract":"<div><p>Graph databases are now playing an important role because they allow us to overcome some limitations of relational databases. In particular, in graph databases we are interested not only on the data contained but also on its topology. As a consequence, most graph database queries are navigational, asking whether some nodes are connected by edges or paths.</p><p>Up to now, most foundational work has concentrated on the study of computational models and query languages, analyzing their expressivity, computability, and complexity. However, in our work we address a different kind of foundational work. We are not concerned with expressibility, efficiency or feasibility issues, but with correctness. More precisely, given an algorithm or an implementation for solving queries, how can we be sure that the answers obtained are correct (soundness) and that all possible correct answers are obtained by our implementation (completeness).</p><p>In this sense, in this paper we first present a core query language, similar to Cypher or G-Core. Then, we define a simple logic whose formulas are precisely the database queries, and whose satisfaction relation defines what is a correct answer. Finally, we define an operational semantics, which could be seen as an abstract implementation of our language, showing that the semantics is correct, i.e. sound and complete with respect to our logic.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100997"},"PeriodicalIF":0.9,"publicationDate":"2024-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141404297","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Optimizing term rewriting with creeper trace transducers","authors":"Rick Erkens","doi":"10.1016/j.jlamp.2024.100987","DOIUrl":"https://doi.org/10.1016/j.jlamp.2024.100987","url":null,"abstract":"<div><p>In the context of functional programming/term normalization algorithms we discuss the optimization problem of constructing the result of a sequence of rewrite steps, without computing all the intermediate terms. From a rewrite system we construct a creeper trace transducer, which reads a sequence of backwards overlapping rewrite steps while producing the desired answer. The transducer writes each symbol of the output only once, skipping overlap between each pair of subsequent rules. In some cases a part of the trace can be disregarded altogether.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100987"},"PeriodicalIF":0.9,"publicationDate":"2024-05-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000415/pdfft?md5=4b78932f1e2e2f54af53fed5fd97c68c&pid=1-s2.0-S2352220824000415-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141250625","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A logical account of subtyping for session types","authors":"Ross Horne , Luca Padovani","doi":"10.1016/j.jlamp.2024.100986","DOIUrl":"10.1016/j.jlamp.2024.100986","url":null,"abstract":"<div><p>We study iso-recursive and equi-recursive subtyping for session types in a logical setting, where session types are propositions of multiplicative/additive linear logic extended with least and greatest fixed points. Both subtyping relations admit a simple characterization that can be roughly spelled out as the following lapalissade: every session type is larger than the smallest session type and smaller than the largest session type. We observe that, because of the logical setting in which they arise, these subtyping relations preserve termination in addition to the usual safety properties of sessions.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100986"},"PeriodicalIF":0.9,"publicationDate":"2024-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000403/pdfft?md5=b08604bd6126c32af455466713f5ba78&pid=1-s2.0-S2352220824000403-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141196225","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Esther H. Kim, Martijn A. Goorden, Kim G. Larsen, Thomas D. Nielsen
{"title":"Controlling stormwater detention ponds under partial observability","authors":"Esther H. Kim, Martijn A. Goorden, Kim G. Larsen, Thomas D. Nielsen","doi":"10.1016/j.jlamp.2024.100979","DOIUrl":"10.1016/j.jlamp.2024.100979","url":null,"abstract":"<div><p>Stormwater detention ponds play an important role in urban water management for collecting and conveying rainfall runoff from urban catchment areas to nearby streams. Their purpose is not only to avoid flooding but also to reduce stream erosion and degradation caused by the direct discharge of pollutants to the stream. We model the problem of controlling the discharge rate of water from the ponds as a partially observable hybrid Markov decision process and subsequently use <span>Uppaal Stratego</span> for synthesizing safe and near optimal control strategies. The generated strategies are based on noisy sensor measurements of the water height in the pond, hence the underlying system is only partially observable. We present results analyzing how sensitive the synthesized strategies are with respect to the accuracy of the measurement sensors in both offline and online settings. These types of analyses not only provide insight into the robustness of the generated strategies, but they can also be used for deciding on which measurement sensors to use, thereby balancing sensor cost and accuracy.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"141 ","pages":"Article 100979"},"PeriodicalIF":0.9,"publicationDate":"2024-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000336/pdfft?md5=9bbbbf2738bc98b9610d871cccaf8c97&pid=1-s2.0-S2352220824000336-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141144083","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bill Stoddart , Steve Dunne , Chunyan Mu , Frank Zeyda
{"title":"Bunch theory: Axioms, logic, applications and model","authors":"Bill Stoddart , Steve Dunne , Chunyan Mu , Frank Zeyda","doi":"10.1016/j.jlamp.2024.100977","DOIUrl":"10.1016/j.jlamp.2024.100977","url":null,"abstract":"<div><p>In his book <em>A practical theory of programming</em> <span>[10]</span>, <span>[12]</span>, Eric Hehner proposes and applies a radical reformulation of set theory in which the collection and packaging of elements are seen as separate activities. This provides for unpackaged collections, referred to as “bunches”. Bunches allow us to reason about non-determinism at the level of terms, and, very remarkably, allow us to reason about the conceptual entity “nothing”, which is just an empty bunch (and very different from an empty set). This eliminates mathematical “gaps” caused by undefined terms. We have made use of bunches in a number of papers that develop a refinement calculus for backtracking programs. We formulate our bunch theory as an extension of the set theory used in the B-Method, and provide a denotational model to give this formulation a sound mathematical basis. We replace the classical logic that underpins B with a version that is still able to prove the laws of our logic toolkit, but is unable to prove the property, derivable in classical logic, that every term denotes an element, which for us is pathological since we hold that terms such as 1/0 simply denote “nothing”. This change facilitates our ability to reason about partial functions and backtracking programs. We include a section on our backtracking program calculus, showing how it is derived from WP and how bunch theory simplifies its formulation. We illustrate its use with two small case studies.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"140 ","pages":"Article 100977"},"PeriodicalIF":0.9,"publicationDate":"2024-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000312/pdfft?md5=ca874c97c090c6c332b31c73bdbde60a&pid=1-s2.0-S2352220824000312-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141035057","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Succinct ordering and aggregation constraints in algebraic array theories","authors":"Rodrigo Raya , Viktor Kunčak","doi":"10.1016/j.jlamp.2024.100978","DOIUrl":"10.1016/j.jlamp.2024.100978","url":null,"abstract":"<div><p>We discuss two extensions to a recently introduced theory of arrays, which are based on considerations coming from the model theory of power structures. First, we discuss how the ordering relation on the index set can be expressed succinctly by referring to arbitrary Venn regions. Second, we show how to add general aggregators to the calculus. The result is a logic that subsumes four previous fragments discussed in the literature and is distinct from array fold logic, in that it can express summations, while its satisfiability problem remains in non-deterministic polynomial time.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"140 ","pages":"Article 100978"},"PeriodicalIF":0.9,"publicationDate":"2024-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S2352220824000324/pdfft?md5=673bb612f5206a7bb2a19b66ffdcb29a&pid=1-s2.0-S2352220824000324-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141056110","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}