Didrik Lundberg , Roberto Guanciale , Andreas Lindner , Mads Dam
{"title":"Hoare-style logic for unstructured programs","authors":"Didrik Lundberg , Roberto Guanciale , Andreas Lindner , Mads Dam","doi":"10.1016/j.jlamp.2025.101099","DOIUrl":"10.1016/j.jlamp.2025.101099","url":null,"abstract":"<div><div>Enabling Hoare-style reasoning for low-level code is attractive since it opens the way to regain structure and modularity in a domain where structure is essentially absent. The field, however, has not yet arrived at a fully satisfactory solution, in the sense of avoiding restrictions on control flow (important for compiler optimization), controlling access to intermediate program points (important for modularity), and supporting total correctness. Proposals in the literature support some of these properties, but a solution that meets them all is yet to be found. We introduce the novel Hoare-style program logic <span><math><msub><mi>L</mi><mi>A</mi></msub></math></span>, which interprets postconditions relative to program points when these are first encountered. The logic supports both partial and total correctness, derives contracts for arbitrary control flow, and allows one to freely choose decomposition strategy during verification while avoiding step-indexed approximations and global invariants. The logic can be instantiated for a variety of concrete instruction set architectures and intermediate languages. The rules of <span><math><msub><mi>L</mi><mi>A</mi></msub></math></span> have been verified in the interactive theorem prover HOL4 and integrated with the toolbox HolBA for semi-automated program verification, which supports the ARMv6, ARMv8 and RISC-V instruction sets.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101099"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145625365","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}
Kyungmin Bae , Santiago Escobar , Raúl López-Rueda , José Meseguer , Julia Sapiña
{"title":"DM-Check: Verifying invariants of concurrent systems by deductive model checking","authors":"Kyungmin Bae , Santiago Escobar , Raúl López-Rueda , José Meseguer , Julia Sapiña","doi":"10.1016/j.jlamp.2025.101107","DOIUrl":"10.1016/j.jlamp.2025.101107","url":null,"abstract":"<div><div>We propose a new <em>deductive model checking</em> methodology where narrowing-based logical model checking of symbolic states specified as disjunctions of <em>constrained patterns</em>is combined with inductive theorem proving to discharge inductive verification conditions that ensure useful symbolic state space reductions. An obvious combination is to use an inductive theorem prover in <em>automated mode</em> as an <em>oracle</em> to help logical model checking reach a fixpoint. But this is not the only possible combination. In this paper we focus instead on a new deductive model checking methodology to verify invariants —including inductive invariants— of infinite-state systems, where logical model checking automates large parts of the verification effort with the help of an inductive theorem prover as an <em>oracle</em>. Inductive verification conditions not discharged automatically by the oracle are dealt with by commands that refine some constrained patterns by useful semantic equivalences, and by using an inductive theorem prover in interactive mode. This methodology is demonstrated by means of concurrent system examples using two Maude tools working in tandem: the <span>DM-Check</span> narrowing-based symbolic model checker, and the <span>NuITP</span> inductive theorem prover.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101107"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145797548","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":"Preface of the PLACES 2023 special issue","authors":"Ilaria Castellani , Alceste Scalas","doi":"10.1016/j.jlamp.2026.101110","DOIUrl":"10.1016/j.jlamp.2026.101110","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101110"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"147420830","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":"Computational modelling for combinatorial game strategies","authors":"Răzvan Diaconescu","doi":"10.1016/j.jlamp.2025.101097","DOIUrl":"10.1016/j.jlamp.2025.101097","url":null,"abstract":"<div><div>We develop a generic computational model that can be used effectively for establishing the existence of winning strategies for concrete finite combinatorial games. Our modelling is (equational) logic-based involving advanced techniques from algebraic specification, and it can be executed by equational programming systems such as those from the OBJ-family. We show how this provides a form of experimental mathematics for strategy problems involving combinatorial games. We do this by defining general methods and by illustrating these with case studies.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101097"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145694225","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":"NWPT 2022 - Special issue","authors":"Mikhail Barash , Crystal Chang Din, Magne Haveraaen","doi":"10.1016/j.jlamp.2025.101091","DOIUrl":"10.1016/j.jlamp.2025.101091","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101091"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"147420828","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":"Preface to selected papers from 21st Workshop on Programming and Languages (PROLE 2022)","authors":"Pascual Julián-Iranzo","doi":"10.1016/j.jlamp.2025.101098","DOIUrl":"10.1016/j.jlamp.2025.101098","url":null,"abstract":"<div><div>This special issue features extended versions of selected papers presented at the 21st Workshop on Programming and Languages (PROLE 2022), held in Santiago de Compostela from September 5-7, 2022, as part of the SISTEDES 2022 Conference.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101098"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"147420829","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":"Nominal anti-unification modulo equational theories","authors":"Alexander Baumgartner , Daniele Nantes-Sobrinho","doi":"10.1016/j.jlamp.2025.101100","DOIUrl":"10.1016/j.jlamp.2025.101100","url":null,"abstract":"<div><div>This paper investigates nominal anti-unification, i.e., the problem of computing least general generalizations of terms in the presence of binding structures and freshness constraints. We extend this problem to account for equational theories, specifically associativity (A), commutativity (C), and their combination (AC), yielding the notion of anti-unification modulo a theory <em>E</em>. Solutions in this setting, called <em>E</em>-generalizations, must consider both, the syntactic structure of nominal terms, and the algebraic properties imposed by <em>E</em>. In the general case, the problem has no solution due to the unbounded supply of atoms. To obtain a finitary setting, we fix a finite set of atoms <em>A</em> and introduce a rule-based algorithm for computing <em>E</em>-generalizations where only atoms from <em>A</em> are allowed to appear. The algorithm includes dedicated rules for reasoning modulo <em>E</em> and systematically explores permutations of subterms, which may lead to exponential blow-up in the number of generalizations. Although the computed set is not minimal, we describe heuristics that lead to computing promising <em>E</em>-generalizations in reasonable time. We also give an implementation of our algorithm which can be used to explore different optimization strategies that improve efficiency in practice, up to archiving tractability.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101100"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145580383","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}
Hongxia Sun , Zhiping Shi , Shanyan Chen , Guohui Wang , Ximeng Li , Yong Guan
{"title":"Formal reasoning about Bernstein-Vazirani algorithm","authors":"Hongxia Sun , Zhiping Shi , Shanyan Chen , Guohui Wang , Ximeng Li , Yong Guan","doi":"10.1016/j.jlamp.2025.101108","DOIUrl":"10.1016/j.jlamp.2025.101108","url":null,"abstract":"<div><div>As a basic quantum algorithm, the Bernstein-Vazirani algorithm is based on the principles of superposition in quantum mechanics, demonstrating superior efficiency over classical computation in finding hidden strings. Due to the high complexity of quantum mechanics, the correctness of quantum algorithms is difficult to guarantee through traditional simulation methods. By contrast, the Bernstein-Vazirani algorithm’s fundamental concepts and mathematical structures can be formalized into logical expressions and verified by higher-order logical reasoning. In this paper, we formally model and verify the Bernstein-Vazirani algorithm in the HOL Light theorem prover. Meanwhile, to indicate the practical significance of our work, we analyze two realistic scenarios, the error correction in quantum key distribution and image encryption and decryption.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"149 ","pages":"Article 101108"},"PeriodicalIF":1.2,"publicationDate":"2026-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145938365","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}
Carlos Olarte , Carlos Ramírez , Camilo Rocha , Frank Valencia
{"title":"Unified opinion formation analysis in rewriting logic","authors":"Carlos Olarte , Carlos Ramírez , Camilo Rocha , Frank Valencia","doi":"10.1016/j.jlamp.2025.101095","DOIUrl":"10.1016/j.jlamp.2025.101095","url":null,"abstract":"<div><div>Processes of opinion formation rooted in social dynamics can significantly contribute to the polarization of social, political, and democratic interaction. Opinion dynamic models are essential for understanding the impact of specific social factors on the acceptance or rejection of opinions. This extended paper builds upon the conference presentation documented in <span><span>[1]</span></span>, introducing improvements and new opinion models that explore biases and collective human behaviors. It presents a framework based on concurrent set relations that formalizes, simulates, and analyzes social interaction systems with dynamic opinion models. Within this framework, standard models for social learning are realized as specific instances. Implemented in the Maude system as a fully executable rewrite theory, the framework enables a detailed examination of how agents' opinions can be influenced within a system. The authors report on new formalization of several and existing social learning models, exploring their relationships with different concurrency models. New experimentation involving reachability analysis, probabilistic simulation, and statistical model checking has been conducted. These experiments are crucial for validating significant properties related to dynamic opinion models in Maude, offering new insights into the mechanisms of opinion shaping in social interaction.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"148 ","pages":"Article 101095"},"PeriodicalIF":1.2,"publicationDate":"2026-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145324333","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}
Bernardo Almeida, Andreia Mordido, Vasco T. Vasconcelos
{"title":"Kind inference for the FreeST programming language","authors":"Bernardo Almeida, Andreia Mordido, Vasco T. Vasconcelos","doi":"10.1016/j.jlamp.2025.101083","DOIUrl":"10.1016/j.jlamp.2025.101083","url":null,"abstract":"<div><div><span>FreeST</span> is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, <span>FreeST</span> only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — <span>close</span> and <span>wait</span> — together with their corresponding types — <span>Close</span> and <span>Wait</span> — which call for a third kind of types, that of channel types. Type variable declaration is usually annotated with its kind. We provide a sound and complete algorithm for kind inference and prove that it terminates yielding the most general kind.</div></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"148 ","pages":"Article 101083"},"PeriodicalIF":1.2,"publicationDate":"2026-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144922385","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}