首页 > 最新文献

Electronic Notes in Theoretical Computer Science最新文献

英文 中文
Hennessy-Milner Results for Probabilistic PDL 概率PDL的Hennessy-Milner结果
Q3 Computer Science Pub Date : 2020-10-01 DOI: 10.1016/j.entcs.2020.09.014
Tao Gu, Alexandra Silva, Fabio Zanasi

Kozen introduced probabilistic propositional dynamic logic (PPDL) in 1985 as a compositional framework to reason about probabilistic programs. In this paper we study expressiveness for PPDL and provide a series of results analogues to the classical Hennessy-Milner theorem for modal logic. First, we show that PPDL charaterises probabilistic trace equivalence of probabilistic automata (with outputs). Second, we show that PPDL can be mildly extended to yield a characterisation of probabilistic state bisimulation for PPDL models. Third, we provide a different extension of PPDL, this time characterising probabilistic event bisimulation.

1985年,Kozen引入了概率命题动态逻辑(PPDL),作为对概率程序进行推理的组合框架。本文研究了PPDL的可表达性,并给出了一系列类似于模态逻辑经典Hennessy-Milner定理的结果。首先,我们证明了PPDL表征了概率自动机(带输出)的概率轨迹等价。其次,我们证明PPDL可以适度扩展,以产生PPDL模型的概率状态双模拟的特征。第三,我们提供了PPDL的不同扩展,这次描述了概率事件双模拟。
{"title":"Hennessy-Milner Results for Probabilistic PDL","authors":"Tao Gu,&nbsp;Alexandra Silva,&nbsp;Fabio Zanasi","doi":"10.1016/j.entcs.2020.09.014","DOIUrl":"10.1016/j.entcs.2020.09.014","url":null,"abstract":"<div><p>Kozen introduced probabilistic propositional dynamic logic (PPDL) in 1985 as a compositional framework to reason about probabilistic programs. In this paper we study expressiveness for PPDL and provide a series of results analogues to the classical Hennessy-Milner theorem for modal logic. First, we show that PPDL charaterises probabilistic trace equivalence of probabilistic automata (with outputs). Second, we show that PPDL can be mildly extended to yield a characterisation of probabilistic state bisimulation for PPDL models. Third, we provide a different extension of PPDL, this time characterising probabilistic event bisimulation.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.09.014","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126719628","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Equational Logic and Categorical Semantics for Multi-Languages 多语言的等式逻辑和范畴语义
Q3 Computer Science Pub Date : 2020-10-01 DOI: 10.1016/j.entcs.2020.09.005
Samuele Buro , Roy Crole , Isabella Mastroeni

Programming language interoperability is the capability of two programming languages to interact as parts of a single system. Each language may be optimized for specific tasks, and a programmer can take advantage of this. HTML, CSS, and JavaScript yield a form of interoperability, working in conjunction to render webpages. Some object oriented languages have interoperability via a virtual machine host (.NET CLI compliant languages in the Common Language Runtime, and JVM compliant languages in the Java Virtual Machine). A high-level language can interact with a lower level one (Apple's Swift and Objective-C). While there has been some research exploring the interoperability mechanisms (Section 1) there is little development of theoretical foundations. This paper presents an approach to interoperability based around theories of equational logic, and categorical semantics.

We give ways in which two languages can be blended, and interoperability reasoned about using equations over the blended language. Formally, multi-language equational logic is defined within which one may deduce valid equations starting from a collection of axioms that postulate properties of the combined language. Thus we have the notion of a multi-language theory and much of the paper is devoted to exploring the properties of these theories. This is accomplished by way of category theory, giving us a very general and flexible semantics, and hence a nice collection of models. Classifying categories are constructed, and hence equational theories furnish each categorical model with an internal language; from this we can also establish soundness and completeness. A set-theoretic semantics follows as an instance, itself sound and complete. The categorical semantics is based on some pre-existing research, but we give a presentation that we feel is easier and simpler to work with, improves and mildly extends current research, and in particular is well suited to computer scientists. Throughout the paper we prove some interesting properties of the new semantic machinery. We provide a small running example throughout the paper to illustrate our ideas, and a more complex example in conclusion.

编程语言互操作性是两种编程语言作为单个系统的一部分进行交互的能力。每种语言都可以针对特定的任务进行优化,程序员可以利用这一点。HTML、CSS和JavaScript产生了一种互操作性的形式,它们一起工作来呈现网页。一些面向对象的语言通过虚拟机主机具有互操作性。. NET CLI兼容的公共语言运行库语言和Java虚拟机JVM兼容的语言)。高级语言可以与低级语言交互(苹果的Swift和Objective-C)。虽然已经有一些研究探索互操作性机制(第1节),但理论基础的发展很少。本文提出了一种基于等价逻辑和范畴语义理论的互操作性方法。我们给出了两种语言可以混合的方法,以及在混合语言上使用方程的互操作性。形式上,定义了多语言方程逻辑,其中可以从假定组合语言的属性的公理集合中推导出有效的方程。因此,我们有了多语言理论的概念,本文的大部分内容都致力于探索这些理论的性质。这是通过范畴论实现的,给我们一个非常一般和灵活的语义,因此是一个很好的模型集合。分类范畴被构建,因此等式理论为每个范畴模型提供了一种内部语言;由此我们也可以建立健全和完备性。集合论语义作为一个实例紧随其后,它本身是健全的和完整的。分类语义是基于一些已有的研究,但我们给出了一个我们认为更容易和更简单的演示,改进并适度扩展了当前的研究,特别适合计算机科学家。在整个论文中,我们证明了新的语义机制的一些有趣的性质。我们在本文中提供了一个小的运行示例来说明我们的想法,并在结论中提供了一个更复杂的示例。
{"title":"Equational Logic and Categorical Semantics for Multi-Languages","authors":"Samuele Buro ,&nbsp;Roy Crole ,&nbsp;Isabella Mastroeni","doi":"10.1016/j.entcs.2020.09.005","DOIUrl":"10.1016/j.entcs.2020.09.005","url":null,"abstract":"<div><p>Programming language interoperability is the capability of two programming languages to interact as parts of a single system. Each language may be optimized for specific tasks, and a programmer can take advantage of this. HTML, CSS, and JavaScript yield a form of interoperability, working in conjunction to render webpages. Some object oriented languages have interoperability via a virtual machine host (.NET CLI compliant languages in the Common Language Runtime, and JVM compliant languages in the Java Virtual Machine). A high-level language can interact with a lower level one (Apple's Swift and Objective-C). While there has been some research exploring the interoperability mechanisms (Section 1) there is little development of theoretical foundations. This paper presents an approach to interoperability based around theories of equational logic, and categorical semantics.</p><p>We give ways in which two languages can be blended, and interoperability reasoned about using equations over the blended language. Formally, <em>multi-language equational logic</em> is defined within which one may deduce valid equations starting from a collection of axioms that postulate properties of the combined language. Thus we have the notion of a <em>multi-language theory</em> and much of the paper is devoted to exploring the properties of these theories. This is accomplished by way of <em>category theory</em>, giving us a very general and flexible semantics, and hence a nice collection of models. Classifying categories are constructed, and hence equational theories furnish each categorical model with an internal language; from this we can also establish soundness and completeness. A set-theoretic semantics follows as an instance, itself sound and complete. The categorical semantics is based on some pre-existing research, but we give a presentation that we feel is easier and simpler to work with, improves and mildly extends current research, and in particular is well suited to computer scientists. Throughout the paper we prove some interesting properties of the new semantic machinery. We provide a small running example throughout the paper to illustrate our ideas, and a more complex example in conclusion.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.09.005","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128017130","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Correct Audit Logging in Concurrent Systems 并发系统中正确的审计日志
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.007
Sepehr Amir-Mohammadian, Chadi Kari

Audit logging provides post-facto analysis of runtime behavior for different purposes, including error detection, amelioration of system operations, and the establishment of security in depth. This necessitates some level of assurance on the quality of the generated audit logs, i.e., how well the audit log represents the events transpired during the execution. Information-algebraic techniques have been proposed to formally specify this relation and provide a framework to study correct audit log generation in a provable fashion. However, previous work fall short on how to guarantee this property of audit logging in concurrent environments. In this paper, we study an implementation model in a concurrent environment. We propose an algorithm that instruments a concurrent system according to a formal specification of audit logging requirements, so that any instrumented concurrent system guarantees correct audit log generation. As an application, we consider systems with microservices architecture, where logging an event by a microservice is conditioned on the occurrence of a collection of events that take place in other microservices of the system.

审计日志为不同的目的提供了对运行时行为的事后分析,包括错误检测、改进系统操作和深入建立安全性。这就需要对生成的审计日志的质量进行某种程度的保证,即审计日志如何很好地表示执行期间发生的事件。已经提出了信息代数技术来正式指定这种关系,并提供一个框架,以可证明的方式研究正确的审计日志生成。然而,以前的工作在如何在并发环境中保证审计日志记录的这一属性方面做得不够。在本文中,我们研究了一个并发环境下的实现模型。我们提出了一种算法,该算法根据审计日志需求的正式规范对并发系统进行检测,以便任何检测的并发系统都能保证正确的审计日志生成。作为一个应用程序,我们考虑具有微服务架构的系统,其中微服务记录事件的条件是发生在系统的其他微服务中的事件集合的发生。
{"title":"Correct Audit Logging in Concurrent Systems","authors":"Sepehr Amir-Mohammadian,&nbsp;Chadi Kari","doi":"10.1016/j.entcs.2020.08.007","DOIUrl":"10.1016/j.entcs.2020.08.007","url":null,"abstract":"<div><p>Audit logging provides post-facto analysis of runtime behavior for different purposes, including error detection, amelioration of system operations, and the establishment of security in depth. This necessitates some level of assurance on the quality of the generated audit logs, i.e., how well the audit log represents the events transpired during the execution. Information-algebraic techniques have been proposed to formally specify this relation and provide a framework to study correct audit log generation in a provable fashion. However, previous work fall short on how to guarantee this property of audit logging in concurrent environments. In this paper, we study an implementation model in a concurrent environment. We propose an algorithm that instruments a concurrent system according to a formal specification of audit logging requirements, so that any instrumented concurrent system guarantees correct audit log generation. As an application, we consider systems with microservices architecture, where logging an event by a microservice is conditioned on the occurrence of a collection of events that take place in other microservices of the system.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.007","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128058660","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
An Efficient Algorithm for Representing Piecewise Linear Functions into Logic 一种将分段线性函数表示成逻辑的有效算法
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.009
Sandro Preto , Marcelo Finger

Rational McNaughton functions may be implicitly represented by logical formulas in Łukasiewicz Infinitely-valued Logic by constraining the set of valuations to the ones that satisfy some specific formulas. This work investigates this implicit representation called representation modulo satisfiability and describes a polynomial algorithm that builds it — the representative formula and the constraining ones — for a given rational McNaughton function.

在Łukasiewicz无穷值逻辑中,通过将一组值约束为满足某些特定公式的值,可以用逻辑公式隐式地表示有理McNaughton函数。这项工作研究了这种被称为表示模可满足性的隐式表示,并描述了一个多项式算法来构建它-代表公式和约束公式-对于给定的有理McNaughton函数。
{"title":"An Efficient Algorithm for Representing Piecewise Linear Functions into Logic","authors":"Sandro Preto ,&nbsp;Marcelo Finger","doi":"10.1016/j.entcs.2020.08.009","DOIUrl":"10.1016/j.entcs.2020.08.009","url":null,"abstract":"<div><p>Rational McNaughton functions may be implicitly represented by logical formulas in Łukasiewicz Infinitely-valued Logic by constraining the set of valuations to the ones that satisfy some specific formulas. This work investigates this implicit representation called representation modulo satisfiability and describes a polynomial algorithm that builds it — the representative formula and the constraining ones — for a given rational McNaughton function.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.009","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131034224","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Pure Pattern Calculus à la de Bruijn 纯模式微积分在de Bruijn
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.006
Alexis Martín, Alejandro Ríos, Andrés Viso

It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the λ-calculus. The advantage of this approach relies on the fact that so-called α-equivalence becomes syntactical equality when working with indices.

In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, etc. However, the literature falls short when it comes to dealing with α-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of λ-calculus that allows to abstract virtually any term.

This paper extends de Bruijn's ideas to properly overcome the multi-binding problem by introducing a novel presentation of PPC with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on PPC that captures path polymorphism.

在编程语言领域中,处理变量名和绑定器可能会导致冲突,例如在实现解释器或编译器时不希望捕获。这种情况已经克服了诉诸de Bruijn指数的微积分,其中粘合剂只捕获一个变量名称,如λ-微积分。这种方法的优点在于,当使用索引时,所谓的α-等价变成了语法等价。近年来,模式演算因其表现力受到了广泛的关注。事实证明,它们非常方便地研究现代函数式编程语言的基础建模功能,如模式匹配、路径多态性、模式多态性等。然而,当涉及到处理α-转换和同时捕获多个变量名称的粘合剂时,文献不足。这就是纯模式演算(PPC)的情况:λ演算的自然扩展,允许抽象几乎任何术语。本文扩展了de Bruijn的思想,通过引入一种具有二维索引的PPC的新表示来适当地克服多绑定问题,努力实现基于PPC的捕获路径多态性的类型函数式编程语言的原型。
{"title":"Pure Pattern Calculus à la de Bruijn","authors":"Alexis Martín,&nbsp;Alejandro Ríos,&nbsp;Andrés Viso","doi":"10.1016/j.entcs.2020.08.006","DOIUrl":"10.1016/j.entcs.2020.08.006","url":null,"abstract":"<div><p>It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the <em>λ</em>-calculus. The advantage of this approach relies on the fact that so-called <em>α</em>-equivalence becomes syntactical equality when working with indices.</p><p>In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, etc. However, the literature falls short when it comes to dealing with <em>α</em>-conversion and binders capturing simultaneously several variable names. Such is the case of the <em>Pure Pattern Calculus</em> (<span>PPC</span>): a natural extension of <em>λ</em>-calculus that allows to abstract virtually any term.</p><p>This paper extends de Bruijn's ideas to properly overcome the multi-binding problem by introducing a novel presentation of <span>PPC</span> with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on <span>PPC</span> that captures path polymorphism.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.006","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134030210","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Agda Formalization of a Security-preserving Translation from Flow-sensitive to Flow-insensitive Security Types 从流敏感安全类型到流不敏感安全类型的安全转换的议程形式化
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.005
Cecilia Manzino, Alberto Pardo

The analysis of information flow is a popular technique for ensuring the confidentiality of data. It is in this context that confidentiality policies arise for giving guarantees that private data cannot be inferred by the inspection of public data. One of those policies is non-interference, a semantic condition that ensures the absence of illicit information flow during program execution by not allowing to distinguish the results of two computations when they only vary in their confidential inputs. A remarkable feature of non-interference is that it can be enforced statically by the definition of information flow type systems. In those type systems, if a program type-checks, then it means that it meets the security policy.

In this paper we focus on the preservation of non-interference through program translation. Concretely, we formalize the proof of security preservation of Hunt and Sands' translation that transforms high-level While programs typable in a flow-sensitive type system into equivalent high-level programs typable in a flow-insensitive type system. Our formalization is performed in the dependently-typed language Agda. We use the expressive power of Agda's type system to encode the security type systems at the type level. A particular aspect of our formalization is that it follows a fully internalist approach where we decorate the type of the abstract syntax with security type information in order to obtain the representation of well-typed (i.e secure) programs. A benefit of this approach is that it allows us to directly express the property of security preservation in the type of the translation relation. In this manner, apart from inherently expressing the transformation of programs, the translation relation also stands for an inductive proof of security preservation.

信息流分析是保证数据机密性的常用技术。正是在这种背景下,出现了保密政策,以保证不会通过检查公共数据来推断私人数据。其中一项策略是不干扰,这是一种语义条件,通过不允许区分两个计算结果,确保在程序执行期间没有非法信息流,当它们只是在其机密输入中变化时。非干扰的一个显著特征是,它可以通过定义信息流类型系统来静态地强制执行。在这些类型系统中,如果程序进行类型检查,则意味着它符合安全策略。在本文中,我们着重于通过程序翻译来保持不干扰。具体地说,我们形式化了Hunt和Sands的转换的安全保存证明,该转换将流敏感类型系统中可类型化的高级While程序转换为流不敏感类型系统中可类型化的等效高级程序。我们的形式化是在依赖类型语言Agda中执行的。我们利用Agda类型系统的表达能力在类型级别对安全类型系统进行编码。我们的形式化的一个特殊方面是,它遵循一种完全内部化的方法,我们用安全类型信息修饰抽象语法的类型,以便获得类型良好(即安全)的程序的表示。这种方法的一个好处是,它允许我们在翻译关系的类型中直接表示安全保存的属性。这样,翻译关系除了固有地表达程序的变换之外,还代表了安全保存的归纳证明。
{"title":"Agda Formalization of a Security-preserving Translation from Flow-sensitive to Flow-insensitive Security Types","authors":"Cecilia Manzino,&nbsp;Alberto Pardo","doi":"10.1016/j.entcs.2020.08.005","DOIUrl":"10.1016/j.entcs.2020.08.005","url":null,"abstract":"<div><p>The analysis of information flow is a popular technique for ensuring the confidentiality of data. It is in this context that confidentiality policies arise for giving guarantees that private data cannot be inferred by the inspection of public data. One of those policies is non-interference, a semantic condition that ensures the absence of illicit information flow during program execution by not allowing to distinguish the results of two computations when they only vary in their confidential inputs. A remarkable feature of non-interference is that it can be enforced statically by the definition of information flow type systems. In those type systems, if a program type-checks, then it means that it meets the security policy.</p><p>In this paper we focus on the preservation of non-interference through program translation. Concretely, we formalize the proof of security preservation of Hunt and Sands' translation that transforms high-level While programs typable in a flow-sensitive type system into equivalent high-level programs typable in a flow-insensitive type system. Our formalization is performed in the dependently-typed language Agda. We use the expressive power of Agda's type system to encode the security type systems at the type level. A particular aspect of our formalization is that it follows a fully internalist approach where we decorate the type of the abstract syntax with security type information in order to obtain the representation of well-typed (i.e secure) programs. A benefit of this approach is that it allows us to directly express the property of security preservation in the type of the translation relation. In this manner, apart from inherently expressing the transformation of programs, the translation relation also stands for an inductive proof of security preservation.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.005","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115273545","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Fresh View of Linear Logic as a Logical Framework 线性逻辑作为逻辑框架的新观点
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.008
Carlos Olarte, Elaine Pimentel, Bruno Xavier

One of the most fundamental properties of a proof system is analyticity, expressing the fact that a proof of a given formula F only uses subformulas of F. In sequent calculus, this property is usually proved by showing that the cut rule is admissible, i.e., the introduction of the auxiliary lemma A in the reasoning “if A follows from B and C follows from A, then C follows from B” can be eliminated. Mathematically, this means that we can inline the intermediate step A to have a direct proof of C from the hypothesis B. More importantly, the proof of cut-elimination shows that the proof of C follows directly from the axiomatic theory and B (and no external lemmas are needed). The proof of cut-elimination is usually a tedious process through several proof transformations, thus requiring the assistance of (semi-)automatic procedures to avoid mistakes. In a previous work by Miller and Pimentel, linear logic (LL) was used as a logical framework for establishing sufficient conditions for cut-elimination of object logics (OL). The OL's inference rules were encoded as an LL theory and an easy-to-verify criterion sufficed to establish the cut-elimination theorem for the OL at hand. Using such procedure, analyticity of logical systems such as LK (classical logic), LJ (intuitionistic logic) and substructural logics such as MALL (multiplicative additive LL) was proved within the framework. However, there are many logical systems that cannot be adequately encoded in LL, the most symptomatic cases being sequent systems for modal logics. In this paper we use a linear-nested sequent (LNS) presentation of SLL (a variant of linear logic with subexponentials) and show that it is possible to establish a cut-elimination criterion for a larger class of logical systems, including LNS proof systems for K, 4, KT, KD, S4 and the multi-conclusion LNS system for intuitionistic logic (mLJ). Impressively enough, the sufficient conditions for cut-elimination presented here remain as simple as the one proposed by Miller and Pimentel. The key ingredient in our developments is the use of the right formalism: we adopt LNS based OL systems, instead of sequent ones. This not only provides a neat encoding procedure of OLs into SLL, but it also allows for the use of the meta-theory of SLL to establish fundamental meta-properties of the encoded OLs. We thus contribute with procedures for checking cut-elimination of several logical systems that are widely used in philosophy, mathematics and computer science.

证明系统最基本的性质之一是解析性,它表示一个给定公式F的证明只使用F的子公式。在序演学中,通常通过证明割规则是可容许的来证明这一性质,即在“如果a从B引出,C从a引出,则C从B引出”的推理中可以消除引入辅助引理a。在数学上,这意味着我们可以内联中间步骤A,从假设B中直接证明C。更重要的是,切消的证明表明,C的证明直接遵循公理理论和B(不需要外部引理)。消割证明通常是一个繁琐的过程,需要经过多次证明变换,因此需要(半)自动化程序的帮助来避免错误。在Miller和Pimentel之前的工作中,线性逻辑(LL)被用作建立对象逻辑(OL)切割消除的充分条件的逻辑框架。将OL的推理规则编码为一个LL理论,并且一个易于验证的准则足以建立手头OL的切割消去定理。利用这一过程,在框架内证明了逻辑系统的可分析性,如LK(经典逻辑),LJ(直觉逻辑)和子结构逻辑,如MALL(乘法加性LL)。然而,有许多逻辑系统不能在LL中充分编码,最典型的情况是模态逻辑的顺序系统。在本文中,我们使用线性嵌套序列(SLL)的线性嵌套序列(LNS)表示,并证明可以为更大的一类逻辑系统建立切消准则,包括K、4、KT、KD、S4的LNS证明系统和直觉逻辑(mLJ)的多结论LNS系统。令人印象深刻的是,这里提出的消割的充分条件和Miller和Pimentel提出的一样简单。我们开发的关键因素是使用正确的形式:我们采用基于LNS的OL系统,而不是后续的OL系统。这不仅提供了一个简洁的将OLs编码为SLL的过程,而且还允许使用SLL的元理论来建立编码后OLs的基本元属性。因此,我们提供了检查在哲学、数学和计算机科学中广泛使用的几个逻辑系统的切-消去的程序。
{"title":"A Fresh View of Linear Logic as a Logical Framework","authors":"Carlos Olarte,&nbsp;Elaine Pimentel,&nbsp;Bruno Xavier","doi":"10.1016/j.entcs.2020.08.008","DOIUrl":"10.1016/j.entcs.2020.08.008","url":null,"abstract":"<div><p>One of the most fundamental properties of a proof system is <em>analyticity</em>, expressing the fact that a proof of a given formula <em>F</em> only uses subformulas of <em>F</em>. In sequent calculus, this property is usually proved by showing that the cut rule is admissible, <em>i.e</em>., the introduction of the auxiliary lemma <em>A</em> in the reasoning “if <em>A</em> follows from <em>B</em> and <em>C</em> follows from <em>A</em>, then <em>C</em> follows from <em>B</em>” can be eliminated. Mathematically, this means that we can inline the intermediate step <em>A</em> to have a direct proof of <em>C</em> from the hypothesis <em>B</em>. More importantly, the proof of cut-elimination shows that the proof of <em>C</em> follows directly from the axiomatic theory and <em>B</em> (and no external lemmas are needed). The proof of cut-elimination is usually a tedious process through several proof transformations, thus requiring the assistance of (semi-)automatic procedures to avoid mistakes. In a previous work by Miller and Pimentel, linear logic (<span>LL</span>) was used as a logical framework for establishing sufficient conditions for cut-elimination of object logics (OL). The OL's inference rules were encoded as an <span>LL</span> theory and an easy-to-verify criterion sufficed to establish the cut-elimination theorem for the OL at hand. Using such procedure, analyticity of logical systems such as <span>LK</span> (classical logic), <span>LJ</span> (intuitionistic logic) and substructural logics such as <span>MALL</span> (multiplicative additive <span>LL</span>) was proved within the framework. However, there are many logical systems that cannot be adequately encoded in <span>LL</span>, the most symptomatic cases being sequent systems for modal logics. In this paper we use a linear-nested sequent (<span>LNS</span>) presentation of <span>SLL</span> (a variant of linear logic with subexponentials) and show that it is possible to establish a cut-elimination criterion for a larger class of logical systems, including <span>LNS</span> proof systems for <span>K</span>, <span>4</span>, <span>KT</span>, <span>KD</span>, <span>S4</span> and the multi-conclusion <span>LNS</span> system for intuitionistic logic (<span>mLJ</span>). Impressively enough, the sufficient conditions for cut-elimination presented here remain as simple as the one proposed by Miller and Pimentel. The key ingredient in our developments is the use of the right formalism: we adopt <span>LNS</span> based OL systems, instead of sequent ones. This not only provides a neat encoding procedure of OLs into <span>SLL</span>, but it also allows for the use of the meta-theory of <span>SLL</span> to establish fundamental meta-properties of the encoded OLs. We thus contribute with procedures for checking cut-elimination of several logical systems that are widely used in philosophy, mathematics and computer science.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.008","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131318503","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Safety of a Smart Classes-Used Regression Test Selection Algorithm 智能类回归测试选择算法的安全性
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.004
Susannah Mansky , Elsa L. Gunter

Regression Test Selection (RTS) algorithms select which tests to rerun on revised code, reducing the time required to check for newly introduced errors. An RTS algorithm is considered safe if and only if all deselected tests would have unchanged results. In this paper, we present a formal proof of safety of an RTS algorithm based on that used by Ekstazi [Gligoric, M., L. Eloussi and D. Marinov, Practical regression test selection with dynamic file dependencies, in: Proceedings of the 2015 International Symposium on Software Testing and Analysis, ISSTA 2015 (2015), p. 211–222. URL https://doi.org/10.1145/2771783.2771784], a Java library for regression testing. Ekstazi's algorithm adds print statements to JVM code in order to collect the names of classes used by a test during its execution on a program. When the program is changed, tests are only rerun if a class they used changed. The main insight in their algorithm is that not all uses of classes must be noted, as many necessarily require previous uses, such as when using an object previously created. The algorithm we formally define and prove safe here uses an instrumented semantics to collect touched classes in an even smaller set of locations. We identify problems with Ekstazi's current collection location set that make it not safe, then present a modified set that will make it equivalent to our safe set. The theorems given in this paper have been formalized in the theorem prover Isabelle over JinjaDCI [Mansky, S. and E. L. Gunter, Dynamic class initialization semantics: A jinja extension, in: Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2019 (2019), p. 209–221. URL https://doi.org/10.1145/3293880.3294104], a semantics for a subset of Java and JVM including dynamic class initialization and static field and methods. We instrumented JinjaDCI's JVM semantics by giving a general definition for Collection Semantics, small-step semantics instrumented to collect information during execution. We also give a formal general definition of RTS algorithms, including a definition of safety.

回归测试选择(RTS)算法选择在修改后的代码上重新运行哪些测试,从而减少检查新引入的错误所需的时间。当且仅当所有取消选择的测试结果不变时,RTS算法被认为是安全的。在本文中,我们提出了基于Ekstazi [Gligoric, M., L. Eloussi和D. Marinov]使用的RTS算法的安全性的正式证明,动态文件依赖性的实际回归测试选择,见:2015年软件测试与分析国际研讨会论文集,ISSTA 2015(2015),第211-222页。URL https://doi.org/10.1145/2771783.2771784],一个用于回归测试的Java库。Ekstazi的算法将print语句添加到JVM代码中,以便收集测试在程序上执行期间使用的类的名称。当程序发生更改时,只有当测试使用的类发生更改时,测试才会重新运行。他们的算法的主要观点是,并不是所有类的使用都必须被记录,因为许多类必须需要以前的使用,比如使用以前创建的对象。我们在这里正式定义并证明安全的算法使用工具化语义在更小的位置集合中收集触摸类。我们找出Ekstazi当前的收集位置集存在的问题,使其不安全,然后提出一个修改后的集合,使其等同于我们的安全集。本文所给出的定理在定理证明者Isabelle over JinjaDCI中得到了形式化[Mansky, S. and E. L. Gunter,动态类初始化语义:一个jinja扩展,第8届ACM SIGPLAN国际认证程序与证明会议论文集,CPP 2019 (2019), p. 209-221]。URL https://doi.org/10.1145/3293880.3294104], Java和JVM子集的语义,包括动态类初始化和静态字段和方法。我们通过给出集合语义(Collection semantics)的通用定义来检测JinjaDCI的JVM语义,小步骤语义用于在执行期间收集信息。我们还给出了RTS算法的正式一般定义,包括安全性的定义。
{"title":"Safety of a Smart Classes-Used Regression Test Selection Algorithm","authors":"Susannah Mansky ,&nbsp;Elsa L. Gunter","doi":"10.1016/j.entcs.2020.08.004","DOIUrl":"10.1016/j.entcs.2020.08.004","url":null,"abstract":"<div><p>Regression Test Selection (RTS) algorithms select which tests to rerun on revised code, reducing the time required to check for newly introduced errors. An RTS algorithm is considered safe if and only if all deselected tests would have unchanged results. In this paper, we present a formal proof of safety of an RTS algorithm based on that used by Ekstazi [Gligoric, M., L. Eloussi and D. Marinov, <em>Practical regression test selection with dynamic file dependencies</em>, in: <em>Proceedings of the 2015 International Symposium on Software Testing and Analysis</em>, ISSTA 2015 (2015), p. 211–222. URL <span>https://doi.org/10.1145/2771783.2771784</span><svg><path></path></svg>], a Java library for regression testing. Ekstazi's algorithm adds print statements to JVM code in order to collect the names of classes used by a test during its execution on a program. When the program is changed, tests are only rerun if a class they used changed. The main insight in their algorithm is that not all uses of classes must be noted, as many necessarily require previous uses, such as when using an object previously created. The algorithm we formally define and prove safe here uses an instrumented semantics to collect touched classes in an even smaller set of locations. We identify problems with Ekstazi's current collection location set that make it not safe, then present a modified set that will make it equivalent to our safe set. The theorems given in this paper have been formalized in the theorem prover Isabelle over JinjaDCI [Mansky, S. and E. L. Gunter, <em>Dynamic class initialization semantics: A jinja extension</em>, in: <em>Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and Proofs</em>, CPP 2019 (2019), p. 209–221. URL <span>https://doi.org/10.1145/3293880.3294104</span><svg><path></path></svg>], a semantics for a subset of Java and JVM including dynamic class initialization and static field and methods. We instrumented JinjaDCI's JVM semantics by giving a general definition for Collection Semantics, small-step semantics instrumented to collect information during execution. We also give a formal general definition of RTS algorithms, including a definition of safety.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.004","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120947264","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Strong Normalization for the Simply-Typed Lambda Calculus in Constructive Type Theory Using Agda 构造型理论中使用Agda的简单型λ演算的强归一化
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.010
Sebastián Urciuoli , Álvaro Tasistro, Nora Szasz

We consider a pre-existing formalization in Constructive Type Theory of the pure Lambda Calculus in its presentation in first order syntax with only one sort of names and alpha-conversion based upon multiple substitution, as well as of the system of assignment of simple types to terms. On top of it, we formalize a slick proof of strong normalization given by Joachimski and Matthes whose main lemma proceeds by complete induction on types and subordinate induction on a characterization of the strongly normalizing terms which is in turn proven sound with respect to their direct definition as the accessible part of the relation of one-step beta reduction. The proof of strong normalization itself is thereby allowed to consist just of a direct induction on the type system. The whole development has been machine-checked using the system Agda. We assess merits and drawbacks of the approach.

我们考虑了纯Lambda微积分构造类型论中一种已存在的形式化形式,它的一阶语法表示和基于多次替换的α -转换,以及简单类型对项的赋值系统。在此基础上,我们形式化了Joachimski和Matthes给出的强归一化的光滑证明,其主要引理是通过对类型的完全归纳法和对强归一化项的表征的从属归纳法进行的,而强归一化项的表征反过来又证明了它们作为一步还原关系的可访问部分的直接定义是正确的。因此,强归一化本身的证明可以只由类型系统上的直接归纳组成。使用Agda系统对整个开发过程进行了机检。我们评估了该方法的优点和缺点。
{"title":"Strong Normalization for the Simply-Typed Lambda Calculus in Constructive Type Theory Using Agda","authors":"Sebastián Urciuoli ,&nbsp;Álvaro Tasistro,&nbsp;Nora Szasz","doi":"10.1016/j.entcs.2020.08.010","DOIUrl":"10.1016/j.entcs.2020.08.010","url":null,"abstract":"<div><p>We consider a pre-existing formalization in Constructive Type Theory of the pure Lambda Calculus in its presentation in first order syntax with only one sort of names and alpha-conversion based upon multiple substitution, as well as of the system of assignment of simple types to terms. On top of it, we formalize a slick proof of strong normalization given by Joachimski and Matthes whose main lemma proceeds by complete induction on types and subordinate induction on a characterization of the strongly normalizing terms which is in turn proven sound with respect to their direct definition as the accessible part of the relation of one-step beta reduction. The proof of strong normalization itself is thereby allowed to consist just of a direct induction on the type system. The whole development has been machine-checked using the system Agda. We assess merits and drawbacks of the approach.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.010","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124089064","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
EVL: A Typed Higher-order Functional Language for Events EVL:用于事件的类型化高阶函数语言
Q3 Computer Science Pub Date : 2020-09-15 DOI: 10.1016/j.entcs.2020.08.002
Sandra Alves, Maribel Fernández, Miguel Ramos

We define EVL, a minimal higher-order functional language for dealing with generic events. The notion of generic event extends the well-known notion of event traditionally used in a variety of areas, such as database management, concurrency, reactive systems and cybersecurity. Generic events were introduced in the context of a metamodel to deal with obligations in access control systems. Event specifications are represented as records and we use polymorphic record types to type events in our language. We show how the higher-order capabilities of EVL can be used in the context of Complex Event Processing (CEP), to define higher-order parameterised functions that deal with the usual CEP techniques.

我们定义了EVL,一种用于处理泛型事件的最小高阶函数式语言。通用事件的概念扩展了众所周知的事件概念,传统上用于各种领域,如数据库管理、并发性、响应式系统和网络安全。在元模型的上下文中引入了通用事件,以处理访问控制系统中的义务。事件规范被表示为记录,我们使用多态记录类型在我们的语言中对事件进行分类。我们展示了EVL的高阶功能如何在复杂事件处理(CEP)的上下文中使用,以定义处理通常CEP技术的高阶参数化函数。
{"title":"EVL: A Typed Higher-order Functional Language for Events","authors":"Sandra Alves,&nbsp;Maribel Fernández,&nbsp;Miguel Ramos","doi":"10.1016/j.entcs.2020.08.002","DOIUrl":"10.1016/j.entcs.2020.08.002","url":null,"abstract":"<div><p>We define EVL, a minimal higher-order functional language for dealing with generic events. The notion of generic event extends the well-known notion of event traditionally used in a variety of areas, such as database management, concurrency, reactive systems and cybersecurity. Generic events were introduced in the context of a metamodel to deal with obligations in access control systems. Event specifications are represented as records and we use polymorphic record types to type events in our language. We show how the higher-order capabilities of EVL can be used in the context of Complex Event Processing (CEP), to define higher-order parameterised functions that deal with the usual CEP techniques.</p></div>","PeriodicalId":38770,"journal":{"name":"Electronic Notes in Theoretical Computer Science","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.entcs.2020.08.002","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128031288","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
期刊
Electronic Notes in Theoretical Computer Science
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1