A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice

Size: px
Start display at page:

Download "A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice"

Transcription

1 A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice Nate Foster (Penn) Benjamin C. Pierce (Penn) Alan Schmitt (INRIA Rhône-Alpes) µx. {} (hd[t ]+tl[x ]) PLAN-X 07 2 φ(x 0,.., x 4 ), 3 hd[t ], hd[ T ], 4 tl[x ], tl[ X ], 5 {hd, tl}[true]

2 µx. {} (hd[t ]+tl[x ]) φ(x 0,.., x 4 ), hd[t ], hd[ T ], tl[x ], tl[ X ], {hd, tl}[true]

3 Types in A O Sync B Harmony A B T A generic synchronization framework Architecture takes two replicas + original updated replicas. Data model is deterministic trees: unordered, edge-labeled trees.

4 Types in A O Sync B A B T Harmony: Typed Synchronization [DBPL 05] Behavior of synchronizer guided by type. If inputs well-typed, so are outputs. Required operations: membership of trees in type [also sets of names].

5 Types in A O Sync B A B T Harmony: Lenses [POPL 05] Pre-/post-process replicas using bi-directional programs. Facilitates heterogeneous synchronization. Types in conditionals, run-time asserts, static checkers. Required operations: membership, inclusion, equivalence, emptiness, [projection, injection, etc.].

6 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ]

7 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Singleton denoting the unique tree with no children: {}

8 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Atoms: trees with single child n and subtree in T : If T, then n n[t ] t t

9 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Commutative concatenation operator: If t T and t T, then t t T +T

10 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Boolean operations and recursion: X 1 =. T 1 X n = T n

11 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] If m {n 1,.., n k } and t T, then t m!\{n 1,.., n k }[T ]

12 Deterministic Tree Types Syntax Semantics T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] If m 1,.., m k {n 1,.., n k } and t 1.. t k T, then m m k *\{n 1,.., n k }[T ] t 1 t k

13 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Example: hd[true]+tl[true] hd tl

14 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Example: {} (hd[true]+tl[true]) hd tl or

15 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Example: X = {} (hd[true]+tl[x ]) hd tl or hd tl hd tl

16 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Example:![True]+![True]

17 Deterministic Tree Types Syntax T ::= {} n[t ] T +T T T ~T X!\{n 1,.., n k }[T ] *\{n 1,.., n k }[T ] Example: ~(![True]+![True]) or or or... Can eliminate negations, and use direct algorithms, but types get large...

18 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. [Dal Zilio, Lugiez, Meyssonnier, POPL 04]

19 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x 0, x 1 ), [b[true], {a, c}[true]] 0 0 a b c

20 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x 0, x 1 ), [b[true], {a, c}[true]] 0 1 a b c

21 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x 0, x 1 ), [b[true], {a, c}[true]] 1 1 a b c

22 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x 0, x 1 ), [b[true], {a, c}[true]] 1 2 a b c

23 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x 0, x 1 ), [b[true], {a, c}[true]] 1 2? = φ(1, 2)

24 Sheaves Formulas Formulas S = φ(x 0,.., x k ), [r 0 [S 0 ],.., r k [S k ]] where φ is a Presburger formula and r i a set of names. φ(x [ 0, x 1, x 2 ), ] b[true], {a, c}[true], {a, b, c}[true] For coherence: r i [S i ] must partition set of atoms. Note: does not ensure determinism.

25 Examples as Sheaves Formulas X = ({} hd[true]+tl[x ]) X = (x 0 =x 1 =x 2 =x 3 =0) [ (x 0 =x 1 =1 x 2 =x 3 =0), ] hd[true], tl[x ], tl[ X ], {hd, tl}[true]

26 Examples as Sheaves Formulas X = ({} hd[true]+tl[x ]) X = (x 0 =x 1 =x 2 =x 3 =0) [ (x 0 =x 1 =1 x 2 =x 3 =0), ] hd[true], tl[x ], tl[ X ], {hd, tl}[true] ~(![True]+![True]) x [ 0 2, ] {}[True]

27 Challenges and Strategies Blowup in naive compilation from types to formulas. Syntactic optimizations avoid blowup in common cases. Backtracking in top-down, non-deterministic traversal. Incremental algorithm avoids useless paths. Presburger arithmetic requires double-exponential time. Compile Presburger formulas to MONA representation. Hash-consing allocation + aggressive memoization.

28 Challenges and Strategies Blowup in naive compilation from types to formulas. Syntactic optimizations avoid blowup in common cases. Backtracking in top-down, non-deterministic traversal. Incremental algorithm avoids useless paths. Presburger arithmetic requires double-exponential time. Compile Presburger formulas to MONA representation. Hash-consing allocation + aggressive memoization. Contributions Strategies and algorithms; Implementation in Harmony; Experimental results.

29 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] n 1 n 2.. n k 1 n k..

30 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ) n 1 n 2.. n k 1 n k..

31 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ ψ dom ) n 1 n 2.. n k 1 n k..

32 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ ψ dom ψ 1 ) n 1 n 2.. n k 1 n k..

33 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ ψ dom ψ 1 ψ 2 ) n 1 n 2.. n k 1 n k..

34 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ ψ dom ψ 1.. ψ k 1 ) n 1 n 2.. n k 1 n k..

35 Incremental Algorithm φ(x 0,.., x k ), [r 0 [S 0 ],..r k [S k ]] (φ ψ dom ψ 1.. ψ k ) n 1 n 2.. n k 1 n k..

36 Hash-Consing and Memoization Thousands of formulas and trees, but many repeats. Suggests hash-consed allocation: Sheaves formulas; Presburger formulas; Trees. Memoization of intermediate results: MONA representations of Presburger formulas; Satisfiability of Presburger formulas; Membership results; Partially-evaluated member functions.

37 Experiments Programs: Structured text parser; Address book validator; icalendar lens. Experimental setup: structures populated with snippets of Joyce s Ulysses; 1.4GHz Intel Pentium III, 2GB RAM, SuSE Linux OS kernel ; execution times collected from POSIX functions.

38 Experiments: Address Book Validator 150 base base-memo Time(seconds) Input Size (# lines) States Formulas Sat Trees % % %

39 Experiments: Address Book Validator 150 base base-memo incr-all-off incr Time(seconds) Input Size (# lines) States Formulas Sat Trees % % %

40 Experiments: Address Book Validator 150 base base-memo incr-all-off incr-phi-off incr-member-off incr Time(seconds) Input Size (# lines) States Formulas Sat Trees % % %

41 Experiments: Structured Text Parser base base-memo incr-all-off incr-phi-off incr-member-off incr Time(seconds) Input Size (# lines) States Formulas Sat Trees % % %

42 Experiments: icalendar Lens Time(seconds) base base-memo incr-all-off incr-phi-off incr-member-off incr Input Size (# lines) States Formulas Sat Trees % % %

43 Related Work Types and Automata: TQL [Cardelli and Ghelli, ESOP 01] A Logic You Can Count On [Dal Zilio, Lugiez, Meyssonnier, POPL 04] Counting In Trees For Free [Seidl, Schwentick, Muscholl, Habermehl, ICALP 04] Survey and Foundations: [Boneva and Talbot, RTA 05, LICS 05] Implementations: Static Checkers for Tree Structrures and Heaps [Hague 04] Boolean Operations and Inclusion Test for Attribute Element Constraints [Hosoya and Murata, ICALP 03]

44 Conclusions and Future Work Summary Strategies and algorithms; Implemented in Harmony; Reasonable performance. Tune algorithm, hash-consing, memoization parameters. Determinize sheaves formulas. Implement Presburger arithmetic directly, optimized for adding constraints incrementally; also restricted fragments. Extend to new structures and types: multitrees, ordered trees, also horizontal recursion, adjoint operators, etc.

45 Acknowledgements Haruo Hosoya, Christian Kirkegaard, Stéphane Lescuyer, Thang Nguyen, Val Tannen, Penn PLClub and DB Group. harmony/

Query Reasoning on Trees with Types, Interleaving, and Counting

Query Reasoning on Trees with Types, Interleaving, and Counting Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Query Reasoning on Trees with Types, Interleaving, and Counting Everardo Bárcenas, 1 Pierre Genevès, 2 Nabil Layaïda,

More information

Modal Logics with Presburger Constraints

Modal Logics with Presburger Constraints LSV, ENS de Cachan, CNRS, INRIA Saclay LABRI March 5th, 2009 Joint work with Denis Lugiez (LIF, Marseille) Overview Introduction Presburger constraints Regularity constraints Motivations Definition Simplifications

More information

Query Reasoning on Data Trees with Counting

Query Reasoning on Data Trees with Counting Query Reasoning on Data Trees with Counting Everardo Bárcenas 1,2, Edgard Benítez-Guerrero 2, and Jesús Lavalle 3,4 1 CONACYT 2 Universidad Veracruzana 3 Benemérita Universidad Autónoma de Puebla 4 Instituto

More information

Counting in trees. Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3. 1 Introduction

Counting in trees. Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3. 1 Introduction Counting in trees Helmut Seidl 1 Thomas Schwentick 2 Anca Muscholl 3 1 Institut für Informatik, I2 TU München Germany 2 Lehrstuhl Informatik I Universität Dortmund Germany 3 LaBRI Université Bordeaux France

More information

Static Checkers For Tree Structures and Heaps

Static Checkers For Tree Structures and Heaps Static Checkers For Tree Structures and Heaps Final Year Project Report Matthew Hague Supervisors: Dr. Philippa Gardner and Dr. Cristiano Calcagno Second Marker: Dr. Nobuko Yoshida

More information

On the Satisfiability of Two-Variable Logic over Data Words

On the Satisfiability of Two-Variable Logic over Data Words On the Satisfiability of Two-Variable Logic over Data Words Claire David, Leonid Libkin, and Tony Tan School of Informatics, University of Edinburgh Abstract. Data trees and data words have been studied

More information

XML schema, tree logic and sheaves automata

XML schema, tree logic and sheaves automata XML schema, tree logic and sheaves automata Silvano Dal Zilio, Denis Lugiez To cite this version: Silvano Dal Zilio, Denis Lugiez. XML schema, tree logic and sheaves automata. Applicable Algebra in Engineering,

More information

Unranked Tree Automata with Sibling Equalities and Disequalities

Unranked Tree Automata with Sibling Equalities and Disequalities Unranked Tree Automata with Sibling Equalities and Disequalities Wong Karianto and Christof Löding Lehrstuhl für Informatik 7, RWTH Aachen, Germany Abstract. We propose an extension of the tree automata

More information

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION

REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION REGULAR TREE LANGUAGE RECOGNITION WITH STATIC INFORMATION Alain Frisch École Normale Supérieure Alain.Frisch@ens.fr Abstract This paper presents our compilation strategy to produce efficient code for pattern

More information

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S)

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) 2013 Reachability in the Heap Many programs manipulate linked data structures (lists, trees). To express many important properties

More information

Tree Automata for Non-Linear Arithmetic

Tree Automata for Non-Linear Arithmetic Tree Automata for Non-Linear Arithmetic Naoki Kobayashi 1 and Hitoshi Ohsaki 2 1 Tohoku University, Japan koba@ecei.tohoku.ac.jp 2 National Institute of Advanced Industrial Science and Technology, Japan

More information

On Nondeterministic Unranked Tree Automata with Sibling Constraints

On Nondeterministic Unranked Tree Automata with Sibling Constraints LIPIcs Leibniz International Proceedings in Informatics On Nondeterministic Unranked Tree Automata with Sibling Constraints Christof Löding and Karianto Wong RWTH Aachen University, Germany ABSTRACT. We

More information

Compact Representation for Answer Sets of n-ary Regular Queries

Compact Representation for Answer Sets of n-ary Regular Queries Compact Representation for Answer Sets of n-ary Regular Queries Kazuhiro Inaba 1 and Haruo Hosoya 1 The University of Tokyo, {kinaba,hahosoya}@is.s.u-tokyo.ac.jp Abstract. An n-ary query over trees takes

More information

Mapping Maintenance in XML P2P Databases

Mapping Maintenance in XML P2P Databases Mapping Maintenance in XML P2P Databases Dario Colazzo LRI - Université Paris Sud Carlo Sartiani Dipartimento di Informatica - Università di Pisa Motivating Example (1/3) P i sab i b = b i b[ (Au t hor

More information

Towards Practical Typechecking for Macro Forest Transducers

Towards Practical Typechecking for Macro Forest Transducers [DOI: 10.2197/ipsjjip.25.962] Regular Paper Towards Practical Typechecking for Macro Forest Transducers Kazuhiro Abe 1,a) Keisuke Nakano 1,b) Received: February 4, 2017, Accepted: August 4, 2017 Abstract:

More information

Regular tree language recognition with static information

Regular tree language recognition with static information Regular tree language recognition with static information Alain Frisch Département d Informatique École Normale Supérieure, Paris, France Alain.Frisch@ens.fr Abstract This paper presents our compilation

More information

Unranked Tree Automata with Sibling Equalities and Disequalities

Unranked Tree Automata with Sibling Equalities and Disequalities Unranked Tree Automata with Sibling Equalities and Disequalities Wong Karianto Christof Löding Lehrstuhl für Informatik 7, RWTH Aachen, Germany 34th International Colloquium, ICALP 2007 Xu Gao (NFS) Unranked

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

The Parikh image of languages and linear constraints

The Parikh image of languages and linear constraints The Parikh image of languages and linear constraints Peter.Habermehl@liafa.univ-paris-diderot.fr 1 1 LIAFA, Université Paris Diderot, Sorbonne Paris Cité, CNRS CP meets CAV, Turunç June 28th, 2012 Peter

More information

Compact Representation for Answer Sets of n-ary Regular Queries

Compact Representation for Answer Sets of n-ary Regular Queries Compact Representation for Answer Sets of n-ary Regular Queries Kazuhiro Inaba a, Haruo Hosoya b a National Institute of Informatics, 2-1-1, Hitotsubashi, Chiyoda-ku, Tokyo, Japan b The University of Tokyo,

More information

From Monadic Second-Order Definable String Transformations to Transducers

From Monadic Second-Order Definable String Transformations to Transducers From Monadic Second-Order Definable String Transformations to Transducers Rajeev Alur 1 Antoine Durand-Gasselin 2 Ashutosh Trivedi 3 1 University of Pennsylvania 2 LIAFA, Université Paris Diderot 3 Indian

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

Counter Automata and Classical Logics for Data Words

Counter Automata and Classical Logics for Data Words Counter Automata and Classical Logics for Data Words Amal Dev Manuel amal@imsc.res.in Institute of Mathematical Sciences, Taramani, Chennai, India. January 31, 2012 Data Words Definition (Data Words) A

More information

CASPA - A Tool for Symbolic Performance Evaluation and Stochastic Model Checking

CASPA - A Tool for Symbolic Performance Evaluation and Stochastic Model Checking CASPA - A Tool for Symbolic Performance Evaluation and Stochastic Model Checking Boudewijn R. Haverkort 1, Matthias Kuntz 1, Martin Riedl 2, Johann Schuster 2, Markus Siegle 2 1 : Universiteit Twente 2

More information

Efficient Inclusion Checking for Deterministic Tree Automata and DTDs

Efficient Inclusion Checking for Deterministic Tree Automata and DTDs Efficient Inclusion Checking for Deterministic Tree Automata and DTDs Jérôme Champavère, Rémi Gilleron, Aurélien Lemay, and Joachim Niehren INRIA Futurs and Lille University, LIFL, Mostrare project Abstract.

More information

Non-Deterministic Time

Non-Deterministic Time Non-Deterministic Time Master Informatique 2016 1 Non-Deterministic Time Complexity Classes Reminder on DTM vs NDTM [Turing 1936] (q 0, x 0 ) (q 1, x 1 ) Deterministic (q n, x n ) Non-Deterministic (q

More information

Combinators for Bi-Directional Tree Transformations: A Linguistic Approach to the View Update Problem

Combinators for Bi-Directional Tree Transformations: A Linguistic Approach to the View Update Problem Combinators for Bi-Directional Tree Transformations: A Linguistic Approach to the View Update Problem J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt Technical

More information

Computación y Sistemas ISSN: Instituto Politécnico Nacional México

Computación y Sistemas ISSN: Instituto Politécnico Nacional México Computación y Sistemas ISSN: 1405-5546 computacion-y-sistemas@cic.ipn.mx Instituto Politécnico Nacional México Bárcenas, Everardo A Counting Logic for Trees Computación y Sistemas, vol. 19, núm. 2, 2015,

More information

Chapter 6: Computation Tree Logic

Chapter 6: Computation Tree Logic Chapter 6: Computation Tree Logic Prof. Ali Movaghar Verification of Reactive Systems Outline We introduce Computation Tree Logic (CTL), a branching temporal logic for specifying system properties. A comparison

More information

Reasoning about XML with Temporal Logics and Automata

Reasoning about XML with Temporal Logics and Automata Reasoning about XML with Temporal Logics and Automata Leonid Libkin 1 and Cristina Sirangelo 1,2 1 University of Edinburgh 2 LSV, ENS Cachan, INRIA Abstract. We show that problems arising in static analysis

More information

Efficient Techniques for Fast Packet Classification

Efficient Techniques for Fast Packet Classification Efficient Techniques for Fast Packet Classification Network Reading Group Alok Tongaonkar, R Sekar Stony Brook University Sept 16, 2008 What is Packet Classification? Packet Classification A mechanism

More information

Roy L. Crole. Operational Semantics Abstract Machines and Correctness. University of Leicester, UK

Roy L. Crole. Operational Semantics Abstract Machines and Correctness. University of Leicester, UK Midlands Graduate School, University of Birmingham, April 2008 1 Operational Semantics Abstract Machines and Correctness Roy L. Crole University of Leicester, UK Midlands Graduate School, University of

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional

More information

Symbolic Model Checking with ROBDDs

Symbolic Model Checking with ROBDDs Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching

More information

Deciding XPath Containment with MSO

Deciding XPath Containment with MSO Deciding XPath Containment with MSO Pierre Genevès and Nabil Layaïda INRIA Rhône-Alpes, 655 avenue de l Europe, 38330 Montbonnot, France Abstract XPath is the standard language for addressing parts of

More information

Satisfiability of Downward XPath with Data Equality Tests

Satisfiability of Downward XPath with Data Equality Tests Satisfiability of Downward XPath with Data Equality Tests Diego Figueira LSV, ENS Cachan, CNRS, INRIA Saclay, France ABSTRACT In this work we investigate the satisfiability problem for the logic XPath(,,

More information

Reckhow s Theorem. Yuval Filmus. November 2010

Reckhow s Theorem. Yuval Filmus. November 2010 Reckhow s Theorem Yuval Filmus November 2010 1 Introduction In 5.3.1 of his thesis [2], Reckhow showed that any two Frege systems p-simulate each other. One of the difficulties involves translation of

More information

Chapter 3 Deterministic planning

Chapter 3 Deterministic planning Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions

More information

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties Bernd Finkbeiner, Christopher Hahn, and Marvin Stenger Saarland Informatics Campus, Saarland University, Saarbrücken, Germany

More information

Regular transformations of data words through origin information

Regular transformations of data words through origin information Regular transformations of data words through origin information Antoine Durand-Gasselin 1 and Peter Habermehl 2 1 Aix Marseille Université, CNRS & Centrale Marseille Antoine.Durand-Gasselin@centrale-marseille.fr

More information

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes.

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes. Analysis of Algorithms Fibonacci Heaps Andres Mendez-Vazquez October 29, 2015 1 / 119 Outline 1 Introduction Basic Definitions Ordered Trees 2 Binomial Trees Example 3 Fibonacci Heap Operations Fibonacci

More information

Logic. proof and truth syntacs and semantics. Peter Antal

Logic. proof and truth syntacs and semantics. Peter Antal Logic proof and truth syntacs and semantics Peter Antal antal@mit.bme.hu 10/9/2015 1 Knowledge-based agents Wumpus world Logic in general Syntacs transformational grammars Semantics Truth, meaning, models

More information

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

More information

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations (Extended Abstract) Gaoyan Xie, Cheng Li and Zhe Dang School of Electrical Engineering and

More information

Languages, logics and automata

Languages, logics and automata Languages, logics and automata Anca Muscholl LaBRI, Bordeaux, France EWM summer school, Leiden 2011 1 / 89 Before all that.. Sonia Kowalewskaya Emmy Noether Julia Robinson All this attention has been gratifying

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK

More information

Tree Automata with Global Constraints

Tree Automata with Global Constraints Tree Automata with Global Constraints Emmanuel Filiot 1 Jean-Marc Talbot 2 Sophie Tison 1 1 INRIA Lille - Nord Europe, Mostrare Project, University of Lille 1 (LIFL, UMR 8022 of CNRS) 2 University of Provence

More information

Introduction to Arti Intelligence

Introduction to Arti Intelligence Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.

More information

Automata theory. An algorithmic approach. Lecture Notes. Javier Esparza

Automata theory. An algorithmic approach. Lecture Notes. Javier Esparza Automata theory An algorithmic approach Lecture Notes Javier Esparza July 2 22 2 Chapter 9 Automata and Logic A regular expression can be seen as a set of instructions ( a recipe ) for generating the words

More information

Partially Ordered Two-way Büchi Automata

Partially Ordered Two-way Büchi Automata Partially Ordered Two-way Büchi Automata Manfred Kufleitner Alexander Lauser FMI, Universität Stuttgart, Germany {kufleitner, lauser}@fmi.uni-stuttgart.de June 14, 2010 Abstract We introduce partially

More information

Logical Characterization of Weighted Pebble Walking Automata

Logical Characterization of Weighted Pebble Walking Automata Logical Characterization of Weighted Pebble Walking Automata Benjamin Monmege Université libre de Bruxelles, Belgium Benedikt Bollig and Paul Gastin (LSV, ENS Cachan, France) Marc Zeitoun (LaBRI, Bordeaux

More information

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems Extended abstract Andrzej Zbrzezny IMCS, Jan Długosz University in Częstochowa, Al. Armii Krajowej 13/15, 42-2

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

Satisfiability of XPath Queries with Sibling Axes

Satisfiability of XPath Queries with Sibling Axes Satisfiability of XPath Queries with Sibling Axes Floris Geerts 1 and Wenfei Fan 2 1 Hasselt University and University of Edinburgh 2 University of Edinburgh and Bell Laboratories Abstract. We study the

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Automata, Logic and Games: Theory and Application

Automata, Logic and Games: Theory and Application Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June

More information

Recursive descent for grammars with contexts

Recursive descent for grammars with contexts 39th International Conference on Current Trends in Theory and Practice of Computer Science Špindleruv Mlýn, Czech Republic Recursive descent parsing for grammars with contexts Ph.D. student, Department

More information

An Alternative Direct Simulation of Minsky Machines into Classical Bunched Logics via Group Semantics (full version)

An Alternative Direct Simulation of Minsky Machines into Classical Bunched Logics via Group Semantics (full version) MFPS 2010 An Alternative Direct Simulation of Minsky Machines into Classical Bunched Logics via Group Semantics (full version) Dominique Larchey-Wendling LORIA CNRS, UMR 7503 Vandœuvre-lès-Nancy, France

More information

Friendly Logics, Fall 2015, Lecture Notes 1

Friendly Logics, Fall 2015, Lecture Notes 1 Friendly Logics, Fall 2015, Lecture Notes 1 Val Tannen 1 Some references Course Web Page: http://www.cis.upenn.edu/~val/cis682. I have posted there the remarkable On the Unusual Effectiveness of Logic

More information

1 Efficient Reasoning about Data Trees via Integer Linear Programming

1 Efficient Reasoning about Data Trees via Integer Linear Programming 1 Efficient Reasoning about Data Trees via Integer Linear Programming CLAIRE DAVID, Université Paris-Est LEONID LIBKIN, University of Edinburgh TONY TAN, University of Edinburgh Data trees provide a standard

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES

SYLLABUS. Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 3 : REGULAR EXPRESSIONS AND LANGUAGES Contents i SYLLABUS UNIT - I CHAPTER - 1 : AUT UTOMA OMATA Introduction to Finite Automata, Central Concepts of Automata Theory. CHAPTER - 2 : FINITE AUT UTOMA OMATA An Informal Picture of Finite Automata,

More information

Lecture 11: Data Flow Analysis III

Lecture 11: Data Flow Analysis III CS 515 Programming Language and Compilers I Lecture 11: Data Flow Analysis III (The lectures are based on the slides copyrighted by Keith Cooper and Linda Torczon from Rice University.) Zheng (Eddy) Zhang

More information

CS 6112 (Fall 2011) Foundations of Concurrency

CS 6112 (Fall 2011) Foundations of Concurrency CS 6112 (Fall 2011) Foundations of Concurrency 29 November 2011 Scribe: Jean-Baptiste Jeannin 1 Readings The readings for today were: Eventually Consistent Transactions, by Sebastian Burckhardt, Manuel

More information

Introduction to Tree Logics

Introduction to Tree Logics 1 / 26 Introduction to Tree Logics Pierre Genevès CNRS (slides mostly based on the ones by W. Martens and T. Schwentick) University of Grenoble, 2014 2015 2 / 26 Why Logic? Tree automaton algorithm Logical

More information

A System for the Static Analysis of XPath

A System for the Static Analysis of XPath A System for the Static Analysis of XPath PIERRE GENEVÈS and NABIL LAYAÏDA INRIA Rhône-Alpes XPath is the standard language for navigating XML documents and returning a set of matching nodes. We present

More information

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms First-Order Logic 1 Syntax Domain of Discourse The domain of discourse for first order logic is FO structures or models. A FO structure contains Relations Functions Constants (functions of arity 0) FO

More information

Propositional and Predicate Logic. jean/gbooks/logic.html

Propositional and Predicate Logic.   jean/gbooks/logic.html CMSC 630 February 10, 2009 1 Propositional and Predicate Logic Sources J. Gallier. Logic for Computer Science, John Wiley and Sons, Hoboken NJ, 1986. 2003 revised edition available on line at http://www.cis.upenn.edu/

More information

SeLoger: A Tool for Graph-Based Reasoning in Separation Logic

SeLoger: A Tool for Graph-Based Reasoning in Separation Logic SeLoger: A Tool for Graph-Based Reasoning in Separation Logic Christoph Haase 1, Samin Ishtiaq 2, Joël Ouaknine 3, and Matthew J. Parkinson 2 1 LSV CNRS & ENS Cachan, France 2 Microsoft Research Cambridge,

More information

Bayesian Networks Factor Graphs the Case-Factor Algorithm and the Junction Tree Algorithm

Bayesian Networks Factor Graphs the Case-Factor Algorithm and the Junction Tree Algorithm Bayesian Networks Factor Graphs the Case-Factor Algorithm and the Junction Tree Algorithm 1 Bayesian Networks We will use capital letters for random variables and lower case letters for values of those

More information

CS 173 Lecture 2: Propositional Logic

CS 173 Lecture 2: Propositional Logic CS 173 Lecture 2: Propositional Logic José Meseguer University of Illinois at Urbana-Champaign 1 Propositional Formulas A proposition is a statement that is either true, T or false, F. A proposition usually

More information

arxiv: v1 [cs.ds] 9 Apr 2018

arxiv: v1 [cs.ds] 9 Apr 2018 From Regular Expression Matching to Parsing Philip Bille Technical University of Denmark phbi@dtu.dk Inge Li Gørtz Technical University of Denmark inge@dtu.dk arxiv:1804.02906v1 [cs.ds] 9 Apr 2018 Abstract

More information

Groupe de travail. Analysis of Mobile Systems by Abstract Interpretation

Groupe de travail. Analysis of Mobile Systems by Abstract Interpretation Groupe de travail Analysis of Mobile Systems by Abstract Interpretation Jérôme Feret École Normale Supérieure http://www.di.ens.fr/ feret 31/03/2005 Introduction I We propose a unifying framework to design

More information

Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World School of Informatics, University of Edinburgh 26/01/18 Slide Credits: Jacques Fleuriot, Michael Rovatsos, Michael Herrmann Outline Knowledge-based

More information

Course Runtime Verification

Course Runtime Verification Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite

More information

Linear Arithmetic with Stars

Linear Arithmetic with Stars Linear Arithmetic with Stars Ruzica Piskac and Viktor Kuncak School of Computer and Communication Sciences, EPFL, Switzerland Abstract. We consider an extension of integer linear arithmetic with a star

More information

LIF. Laboratoire d Informatique Fondamentale de Marseille. Unité Mixte de Recherche 6166 CNRS - Université de Provence - Université de la Méditerranée

LIF. Laboratoire d Informatique Fondamentale de Marseille. Unité Mixte de Recherche 6166 CNRS - Université de Provence - Université de la Méditerranée LIF Laboratoire d Informatique Fondamentale de Marseille Unité Mixte de Recherche 6166 CNRS - Université de Provence - Université de la Méditerranée Multitrees Automata, Presburger s Constraints and Tree

More information

COSE312: Compilers. Lecture 17 Intermediate Representation (2)

COSE312: Compilers. Lecture 17 Intermediate Representation (2) COSE312: Compilers Lecture 17 Intermediate Representation (2) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 17 May 31, 2017 1 / 19 Common Intermediate Representations Three-address code

More information

An Exact Optimization Algorithm for Linear Decomposition of Index Generation Functions

An Exact Optimization Algorithm for Linear Decomposition of Index Generation Functions An Exact Optimization Algorithm for Linear Decomposition of Index Generation Functions Shinobu Nagayama Tsutomu Sasao Jon T. Butler Dept. of Computer and Network Eng., Hiroshima City University, Hiroshima,

More information

Principles of Program Analysis: Control Flow Analysis

Principles of Program Analysis: Control Flow Analysis Principles of Program Analysis: Control Flow Analysis Transparencies based on Chapter 3 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag

More information

The Sum-Product Theorem: A Foundation for Learning Tractable Models (Supplementary Material)

The Sum-Product Theorem: A Foundation for Learning Tractable Models (Supplementary Material) The Sum-Product Theorem: A Foundation for Learning Tractable Models (Supplementary Material) Abram L. Friesen AFRIESEN@CS.WASHINGTON.EDU Pedro Domingos PEDROD@CS.WASHINGTON.EDU Department of Computer Science

More information

Compact Representation for Answer Sets of n-ary Regular Queries

Compact Representation for Answer Sets of n-ary Regular Queries Compact Representation for Answer Sets of n-ary Regular Queries by Kazuhiro Inaba (National Institute of Informatics, Japan) and Hauro Hosoya (The University of Tokyo) CIAA 2009, Sydney BACKGROUND N-ary

More information

EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES

EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES Arie Gurfinkel, Sagar Chaki and Samir Sapra Carnegie Mellon Uni In NFM11 Presented by Nimrod Partush OUTLINE Introduction Predicate Abstraction CEGAR

More information

Lecture 2 Propositional Logic & SAT

Lecture 2 Propositional Logic & SAT CS 5110/6110 Rigorous System Design Spring 2017 Jan-17 Lecture 2 Propositional Logic & SAT Zvonimir Rakamarić University of Utah Announcements Homework 1 will be posted soon Propositional logic: Chapter

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

More information

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3 6.841/18.405J: Advanced Complexity Wednesday, February 12, 2003 Lecture Lecture 3 Instructor: Madhu Sudan Scribe: Bobby Kleinberg 1 The language MinDNF At the end of the last lecture, we introduced the

More information

Topics in Model-Based Reasoning

Topics in Model-Based Reasoning Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Applied Automata Theory

Applied Automata Theory Applied Automata Theory Roland Meyer TU Kaiserslautern Roland Meyer (TU KL) Applied Automata Theory (WiSe 2013) 1 / 161 Table of Contents I 1 Regular Languages and Finite Automata Regular Languages Finite

More information

Optimizing Schema Languages for XML: Numerical Constraints and Interleaving

Optimizing Schema Languages for XML: Numerical Constraints and Interleaving Optimizing Schema Languages for XML: Numerical Constraints and Interleaving Wouter Gelade, Wim Martens, and Frank Neven Hasselt University and Transnational University of Limburg School for Information

More information

A Collection of Problems in Propositional Logic

A Collection of Problems in Propositional Logic A Collection of Problems in Propositional Logic Hans Kleine Büning SS 2016 Problem 1: SAT (respectively SAT) Instance: A propositional formula α (for SAT in CNF). Question: Is α satisfiable? The problems

More information

Deciding Validity in a Spatial Logic for Trees

Deciding Validity in a Spatial Logic for Trees Under consideration for publication in J. Functional Programming 1 Deciding Validity in a Spatial Logic for Trees Cristiano Calcagno Imperial College London Luca Cardelli, Andrew D. Gordon Microsoft Research

More information

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking Temporal & Modal Logic E. Allen Emerson Presenter: Aly Farahat 2/12/2009 CS5090 1 Acronyms TL: Temporal Logic BTL: Branching-time Logic LTL: Linear-Time Logic CTL: Computation Tree Logic PLTL: Propositional

More information

Completeness of Pointer Program Verification by Separation Logic

Completeness of Pointer Program Verification by Separation Logic ISSN 1346-5597 NII Technical Report Completeness of Pointer Program Verification by Separation Logic Makoto Tatsuta, Wei-Ngan Chin, and Mahmudul Faisal Al Ameen NII-2009-013E June 2009 Completeness of

More information

An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints

An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints Khalil Djelloul Laboratoire d Informatique Fondamentale d Orléans. Bat. 3IA, rue Léonard de Vinci. 45067 Orléans,

More information

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,

More information

Ordering Constraints over Feature Trees

Ordering Constraints over Feature Trees Ordering Constraints over Feature Trees Martin Müller, Joachim Niehren, Andreas Podelski To cite this version: Martin Müller, Joachim Niehren, Andreas Podelski. Ordering Constraints over Feature Trees.

More information

Classes of Boolean Functions

Classes of Boolean Functions Classes of Boolean Functions Nader H. Bshouty Eyal Kushilevitz Abstract Here we give classes of Boolean functions that considered in COLT. Classes of Functions Here we introduce the basic classes of functions

More information