{"title":"On difunctions","authors":"Roland Backhouse , José Nuno Oliveira","doi":"10.1016/j.jlamp.2023.100878","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100878","url":null,"abstract":"<div><p>The notion of a difunction was introduced by Jacques Riguet in 1948. Since then it has played a prominent role in database theory, type theory, program specification and process theory. The theory of difunctions is, however, less known in computing than it perhaps should be. The main purpose of the current paper is to give an account of difunction theory in relation algebra, with the aim of making the topic more mainstream.</p><p>As is common with many important concepts, there are several different but equivalent characterisations of difunctionality, each with its own strength and practical significance. This paper compares different proofs of the equivalence of the characterisations.</p><p>A well-known property is that a difunction is a set of completely disjoint rectangles. This property suggests the introduction of the (general) notion of the “core” of a relation; we use this notion to give a novel and, we believe, illuminating characterisation of difunctionality as a bijection between the classes of certain partial equivalence relations.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100878"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881537","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}
Kristopher Brown , Evan Patterson , Tyler Hanks , James Fairbanks
{"title":"Computational category-theoretic rewriting","authors":"Kristopher Brown , Evan Patterson , Tyler Hanks , James Fairbanks","doi":"10.1016/j.jlamp.2023.100888","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100888","url":null,"abstract":"<div><p>We demonstrate how category theory provides specifications that can efficiently be implemented via imperative algorithms and apply this to the field of graph transformation. By examples, we show how this paradigm of software development makes it easy to quickly write correct and performant code. We provide a modern implementation of graph rewriting techniques at the level of abstraction of finitely-presented <span><math><mi>C</mi></math></span>-sets and clarify the connections between <span><math><mi>C</mi></math></span><span>-sets and the typed graphs supported in existing rewriting software. We emphasize that our open-source library is extensible: by taking new categorical constructions (such as slice categories, structured cospans, and distributed graphs) and relating their limits and colimits to those of their underlying categories, users inherit efficient algorithms for pushout complements and (final) pullback complements. This allows one to perform double-, single-, and sesqui-pushout rewriting over a broad class of data structures. Graph transformation researchers, scientists, and engineers can then use this library to computationally manipulate rewriting systems and apply them to their domains of interest.</span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100888"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881538","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":"Variants and satisfiability in the infinitary unification wonderland","authors":"José Meseguer","doi":"10.1016/j.jlamp.2023.100877","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100877","url":null,"abstract":"<div><p><span>So far, results about variants, the finite variant property (FVP), variant unification, and variant satisfiability have been developed for equational theories </span><span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> where <em>B</em><span> is a set of axioms having a finitary unification algorithm, and the equations </span><em>E</em>, oriented as rewrite rules <span><math><mover><mrow><mi>E</mi></mrow><mrow><mo>→</mo></mrow></mover></math></span>, are convergent modulo <em>B</em>. The extension to the case when <em>B</em> has an infinitary unification algorithm, for example because of non-commutative symbols having associative axioms, was not developed. This paper develops such an extension. In particular, the relationships between the FVP and the boundedness (BP) properties, the identification of conditions on <span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> ensuring FVP, the effective computation of variants and variant unifiers, and criteria making possible the existence of variant satisfiability procedures for the initial algebras of theories <span><math><mi>E</mi><mo>∪</mo><mi>B</mi></math></span> that are either FVP or BP are all explored in detail. The extension from the finitary to the infinitary <em>B</em>-unification case includes some surprises. Furthermore, since all the results are extended beyond FVP theories to the wider class of BP theories, new opportunities are opened up to use these symbolic techniques in wider classes of theories and applications.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100877"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881569","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":"A formal model for blockchain-based consent management in data sharing","authors":"Neda Peyrone , Duangdao Wichadakul","doi":"10.1016/j.jlamp.2023.100886","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100886","url":null,"abstract":"<div><p><span>Consent is one of six legal bases for personal data processing mentioned in the </span>General Data Protection Regulation<span><span> (GDPR). The GDPR is a privacy law giving European Union (EU) citizens authority over personal data. It enforces software systems to collect, analyze, and share only necessary information (‘data minimization’) following the specific purpose (‘consent’). The GDPR defines consent as permission of individuals (‘data subjects’) to give organizations (‘data controllers’) processing their personal data. Without a data subject's consent, the data controller processes personal data unlawfully. Therefore, consent management is an essential component of a software system to build data subjects' trust and engagement. However, sharing data can lead to a potential loss of control over personal data, as data are across boundaries between software services. One of the significant risks is caused by a lack of developers' experience in data protection practices. Hence, in this paper, we propose to use blockchain technology to manage data subjects' informed consent for data sharing to build trust, transparency, and traceability to share data across software services. We formalized the semantics of </span>smart contracts<span> to extend the blockchain features to validate the consent authorization and manage the request-response interaction between the services. Furthermore, we used the Event-B method to describe the dynamic behavior of the proposed model and prove its correctness. Finally, we provided a mapping from the formal model to a smart contract class diagram and a prototype called SmartDataTrust implemented with solidity and Python REST API that developers can easily utilize.</span></span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100886"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881541","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":"Verification of mutable linear data structures and iterator-based algorithms in Dafny","authors":"Jorge Blázquez, Manuel Montenegro, Clara Segura","doi":"10.1016/j.jlamp.2023.100875","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100875","url":null,"abstract":"<div><p>We address the verification of mutable, heap-allocated abstract data types (ADTs) in Dafny, and their traversal via iterators. For this purpose, we devise a verification methodology that makes it possible to implement ADTs based on already existing ones, while maintaining proper encapsulation. Then, we apply this methodology to the specification and implementation of linear collections such as stacks, queues, deques, and lists with iterators. The approach introduced in this paper allows one to progressively refine some aspects of the specification such as iterator invalidation, so that clients of the library can reason about how structural changes to a list affect existing iterators. Finally, we extend our methodology to the verification of client code (i.e., code that makes use of the implemented ADTs) and identify the boilerplate conditions common to all methods that receive and manipulate ADTs.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100875"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881539","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":"Reducing non-occurrence of specified runtime errors to all-path reachability problems of constrained rewriting","authors":"Misaki Kojima, Naoki Nishida","doi":"10.1016/j.jlamp.2023.100903","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100903","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"135 1","pages":"100903"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"54463350","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}
Steven Eker , Narciso Martí-Oliet , José Meseguer , Rubén Rubio , Alberto Verdejo
{"title":"The Maude strategy language","authors":"Steven Eker , Narciso Martí-Oliet , José Meseguer , Rubén Rubio , Alberto Verdejo","doi":"10.1016/j.jlamp.2023.100887","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100887","url":null,"abstract":"<div><p>Rewriting logic is a natural and expressive framework for the specification of concurrent systems and logics. The Maude specification language provides an implementation of this formalism that allows executing, verifying, and analyzing the represented systems. These specifications declare their objects by means of terms and equations, and provide rewriting rules to represent potentially non-deterministic local transformations on the state. Sometimes a controlled application of these rules is required to reduce non-determinism, to capture global, goal-oriented or efficiency concerns, or to select specific executions for their analysis. That is what we call a strategy. In order to express them, respecting the separation of concerns principle, a Maude strategy language was proposed and developed. The first implementation of the strategy language was done in Maude itself using its reflective features. After ample experimentation, some more features have been added and, for greater efficiency, the strategy language has been implemented in C++ as an integral part of the Maude system. This paper describes the Maude strategy language along with its semantics, its implementation decisions, and several application examples from various fields.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100887"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881540","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}
Luca Cardelli , Giuseppe Squillace , Mirco Tribastone , Max Tschaikowski , Andrea Vandin
{"title":"Formal lumping of polynomial differential equations through approximate equivalences","authors":"Luca Cardelli , Giuseppe Squillace , Mirco Tribastone , Max Tschaikowski , Andrea Vandin","doi":"10.1016/j.jlamp.2023.100876","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100876","url":null,"abstract":"<div><p>It is well known that exact notions of model abstraction and reduction for dynamical systems may not be robust enough in practice because they are highly sensitive to the specific choice of parameters. In this paper we consider this problem for nonlinear ordinary differential equations (ODEs) with polynomial derivatives. We introduce a model reduction technique based on <em>approximate differential equivalence</em>, i.e., a partition of the set of ODE variables that performs an aggregation when the variables are governed by nearby derivatives. We develop algorithms to (i) compute the largest approximate differential equivalence; (ii) construct an approximately reduced model from the original one via an appropriate perturbation of the coefficients of the polynomials; and (iii) provide a formal certificate on the quality of the approximation as an error bound, computed as an over-approximation of the reachable set of the reduced model. Finally, we apply approximate differential equivalences to case studies on electric circuits, biological models, and polymerization reaction networks.</p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"134 ","pages":"Article 100876"},"PeriodicalIF":0.9,"publicationDate":"2023-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49881542","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":"Composition of synchronous communicating systems","authors":"F. Barbanera, Ivan Lanese, E. Tuosto","doi":"10.1016/j.jlamp.2023.100890","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100890","url":null,"abstract":"","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"135 1","pages":"100890"},"PeriodicalIF":0.9,"publicationDate":"2023-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"54463325","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}
Guohui Wang , Shanyan Chen , Yong Guan , Zhiping Shi , Ximeng Li , Jingzhi Zhang
{"title":"Formalization of the inverse kinematics of three-fingered dexterous hand","authors":"Guohui Wang , Shanyan Chen , Yong Guan , Zhiping Shi , Ximeng Li , Jingzhi Zhang","doi":"10.1016/j.jlamp.2023.100861","DOIUrl":"https://doi.org/10.1016/j.jlamp.2023.100861","url":null,"abstract":"<div><p><span>As an effective extension of human limbs, dexterous robotic hands based on cyber-physical systems (CPS) are used to perform diverse tasks in industrial production, medical operation, outer-space exploration, etc. The reliable functioning of dexterous robotic hands depends on the proper modeling and solving of </span>inverse kinematics<span> problems in the design phase. The traditional D-H parameter method for modeling and solving inverse kinematics problems<span><span> suffers from the singularity problem, which is avoided by methods based on the screw theory. However, the manual or computer-simulation-based development of these methods could suffer from human errors and software defects. In this paper, we address this problem by using formal techniques and tools to develop a screw-theory-based method. Firstly, we formalize theories related to the Paden-Kahan sub-problem in an interactive </span>theorem prover. Secondly, we construct a formal model for solving the inverse kinematics problem for robotic systems. Lastly, taking the three-fingered dexterous hand as a case study, we formally verified its inverse kinematics solutions. The results presented in this article help guarantee a level of safety for robotic systems that is beyond achievable by manual and computer-simulation-based development methods.</span></span></p></div>","PeriodicalId":48797,"journal":{"name":"Journal of Logical and Algebraic Methods in Programming","volume":"133 ","pages":"Article 100861"},"PeriodicalIF":0.9,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50203600","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}