Probabilistic NetKAT

Size: px
Start display at page:

Download "Probabilistic NetKAT"

Transcription

1 Probabilistic NetKAT Nate Foster (Cornell) Dexter Kozen (Cornell) Konstantinos Mamouras (Penn) Mark Reitblatt (Facebook) Alexandra Silva (UCL) Steffen Smolka (Cornell)

2 Team ProbNetKAT Nate Foster Dexter Kozen Mark Reitblatt Konstantinos Mamouras [ESOP '16] Alexandra Silva Steffen Smolka

3 Team ProbNetKAT Nate Foster Dexter Kozen Mark Reitblatt Konstantinos Mamouras Alexandra Silva Steffen Smolka

4 Context: Software-Defined Networking

5 Context: Software-Defined Networking High Performance ` Nightmare to Maintain & Control at Scale

6 Networks have become programmable (just now!) high-level program low-level rule tables Firewall Pattern Pattern Pattern ; Route Compiler Actions Actions Actions dstport=22 Drop dstport=22 Drop srcip= dstport=22 Forward Drop srcip= /8 Forward 1 srcip= */8 Forward Forward 1 */8 Forward 2 1 * Forward 2 2 System SDN switches

7 Networks have become programmable (just now!) high-level program low-level rule tables Firewall Pattern Pattern Pattern ; Route Compiler Actions Actions Actions dstport=22 Drop dstport=22 Drop srcip= dstport=22 Forward Drop srcip= /8 Forward 1 srcip= */8 Forward Forward 1 */8 Forward 2 1 * Forward 2 2 System PL Problems: programming abstractions compilation verification synthesis, SDN switches

8 NetKAT: A Success Story programming language, modeling language, programming logic

9 NetKAT: A Success Story programming language, modeling language, programming logic powerful tools Compiler Virtualization Automatic Verification basis of many systems

10 NetKAT: A Success Story programming language, modeling language, programming logic rich theory Enables powerful tools [ p ] denotational semantics p q sound & complete axiomatization Compiler Virtualization Automatic Verification automata theory symbolic representation basis of many systems

11 ProbNetKAT: Not Yet A Success Story programming language, modeling language, programming logic rich theory Enables powerful tools [ p ] denotational semantics

12 ProbNetKAT: Not Yet A Success Story programming language, modeling language, programming logic rich theory Enables powerful tools [ p ] denotational semantics

13 ProbNetKAT: Not Yet A Success Story programming language, modeling language, programming logic rich theory Enables powerful tools [ p ] denotational semantics

14 Language

15 Model Packets are records of values. Programs are functions on packets. { switch = A, port = 3, ethsrc = 8:8:::::8:8, ethdst = 2:2:::::2:2, vlan = 8, ipsrc = , ipdst = ,... }

16 Review: NetKAT Language pol ::= false true field = val field := val pol 1 + pol 2 pol 1 ; pol 2!pol pol * S S'

17 Review: NetKAT Language pol ::= false Boolean Algebra true field = val field := val pol 1 + pol 2 pol 1 ; pol 2!pol pol * S S'

18 Review: NetKAT Language pol ::= false true field = val field := val pol 1 + pol 2 Boolean Algebra + Kleene Algebra "Regular Expressions" pol 1 ; pol 2!pol pol * S S'

19 Review: NetKAT Language pol ::= false true field = val field := val pol 1 + pol 2 pol 1 ; pol 2!pol pol * Boolean Algebra + Kleene Algebra "Regular Expressions" + Packet Primitives S S'

20 Review: NetKAT Language pol ::= false Boolean Algebra true if p then q else r p;q +!p;r field = val field := val ` while p do q p;q*;!p pol 1 + pol 2 + Kleene Algebra "Regular Expressions" pol 1 ; pol 2!pol pol * + Packet Primitives S S'

21 Review: NetKAT Semantics pol ::= false true field = val field := val pol 1 + pol 2 pol 1 ; pol 2!pol pol * S S'

22 Review: NetKAT Semantics pol ::= Local NetKAT: input-output behavior of switches false true field = val field := val pol 1 + pol 2 pol Packet Packet Set pol 1 ; pol 2!pol pol * S S'

23 Review: NetKAT Semantics pol ::= Local NetKAT: input-output behavior of switches false true field = val field := val pol 1 + pol 2 pol Packet Packet Set pol 1 ; pol 2!pol pol * Global NetKAT: network-wide behavior S S' pol History History Set

24 Example A B

25 Local NetKAT Program A B pol A pol B

26 Local NetKAT Program A B port:=3???

27 Local NetKAT Program A B port=1; tag:=1; port:=3 + port=2; tag:=2; port:=3???

28 Local NetKAT Program A B port=1; tag:=1; port:=3 + port=2; tag:=2; port:=3 tag=1; port:=5 + tag=2; port:=6

29 Global NetKAT Program A B pol

30 Global NetKAT Program A B port=1; A B; port:=5 + port=2; A B; port:=6

31 Virtual NetKAT Program A B

32 Virtual NetKAT Program virtual "big switch" A B

33 Virtual NetKAT Program virtual "big switch" A B port=1; port:=5 + port=2; port:=6 even simpler!

34 Probabilistic NetKAT

35 Probabilistic NetKAT pol ::= false true field = val field := val pol 1 + pol 2 pol 1 ; pol 2 pol 1 r pol 2!pol pol * S S'

36 Probabilistic NetKAT pol ::= false Randomized Routing pt:=1.5 pt:=2 true field = val field := val pol 1 + pol 2 Link Failure A B.99 false pol 1 ; pol 2 pol 1 r pol 2!pol pol * S S'

37 Probabilistic NetKAT pol ::= false Randomized Routing pt:=1.5 pt:=2 true field = val field := val pol 1 + pol 2 pol 1 ; pol 2 pol 1 r pol 2!pol pol * S S' Link Failure A B.99 false Expected Congestion? Probability of Delivery? Quantitative Reasoning!

38 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History)

39 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History) Problem: Can't express correlation! pt:=1 0.5 pt:=2 (pt:=1+pt:=2) 0.5 false

40 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History Set) pol History History Set [0,1]

41 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History Set) pol History History Set [0,1] Problem: Some distributions give pr=0 to all points. p ; (S S ; p)*

42 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History Set) pol History B [0,1] where B are Borel sets of the Cantor Space

43 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History Set) pol History B [0,1] where B are Borel sets of the Cantor Space B is set of set of set of histories! uncountable set of uncountable sets!

44 Denotational Semantics [ESOP '16] Before: pol History History Set pol History Dist(History Set) Math works out, but nightmare ` to deal with! pol History B [0,1] where B are Borel sets of the Cantor Space B is set of set of set of histories! uncountable set of uncountable sets!

45 Problem: Know how to model properties mathematically Program p, Property X: 2 H -> R, Input Distribution μ E[X] = X(a) [ p ](μ, da) (Lebesgue Integral over 2 H ) but not how to compute the answer!

46 Positive Results

47 Measures μ : B->[0,1] are "finitely observable". (I.e., if μ1 μ2 there exists a finite witness!) Automata should be able to capture μ!

48 We have identified an order p q that should allow (arbitrarily close) approximation! p (0) p (1) p (2) p*

49 Wrap-Up Classical (continuous) probability theory doesn't come with algorithms out of the box Need to develop domain-specific theory & algorithms Will likely generalize to other domains

50 Questions?

A Coalgebraic Decision Procedure for NetKAT

A Coalgebraic Decision Procedure for NetKAT A Coalgebraic Decision Procedure for NetKAT Dexter Kozen Cornell University MFPS XXX June 12, 2014 Dexter Kozen June 12, 2014 A Coalgebraic Decision Procedure for NetKAT 1 / 44 NetKAT Collaborators Carolyn

More information

Probabilistic NetKAT

Probabilistic NetKAT Probabilistic NetKAT Nate Foster 1(B), Dexter Kozen 1, Konstantinos Mamouras 2, Mark Reitblatt 1, and Alexandra Silva 3 1 Cornell University, New York, USA jnfoster@cs.cornell.edu 2 University of Pennsylvania,

More information

Completeness and Incompleteness in nominal Kleene algebra

Completeness and Incompleteness in nominal Kleene algebra 1/35 Completeness and Incompleteness in nominal Kleene algebra Dexter Kozen, Konstantinos Mamouras, Alexandra Silva Cornell University, University College London & HasLab INESC TEC September 28th, 2015

More information

An Algebraic Approach to Automatic Reasoning for NetKAT Based on its Operational Semantics

An Algebraic Approach to Automatic Reasoning for NetKAT Based on its Operational Semantics An Algebraic Approach to Automatic Reasoning for NetKAT Based on its Operational Semantics Yuxin Deng, Min Zhang, and Guoqing Lei Shanghai Key Laboratory of Trustworthy Computing, MOE International Joint

More information

NetKAT: Semantic Foundations for Networks. Nate Foster. Cornell University. Cornell University Computing and Information Science October 5, 2013

NetKAT: Semantic Foundations for Networks. Nate Foster. Cornell University. Cornell University Computing and Information Science October 5, 2013 Technical Report NetKAT: Semantic Foundations for Networks Carolyn Jane Anderson Swarthmore College Nate Foster Cornell University Arjun Guha Cornell University Jean-Baptiste Jeannin Dexter Kozen Cole

More information

Research Statement Christopher Hardin

Research Statement Christopher Hardin Research Statement Christopher Hardin Brief summary of research interests. I am interested in mathematical logic and theoretical computer science. Specifically, I am interested in program logics, particularly

More information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

Introduction to Kleene Algebras

Introduction to Kleene Algebras Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)

More information

Kleene Algebra and Arden s Theorem. Anshul Kumar Inzemamul Haque

Kleene Algebra and Arden s Theorem. Anshul Kumar Inzemamul Haque Kleene Algebra and Arden s Theorem Anshul Kumar Inzemamul Haque Motivation Regular Expression is a Kleene Algebra. We can use the properties and theorems of Kleene Algebra to simplify regular expressions

More information

Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004

Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004 Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004 KAT and Hoare Logic In this lecture and the next we show that KAT subsumes propositional Hoare logic (PHL). Thus the specialized

More information

Gossip in NetKAT. MSc Thesis (Afstudeerscriptie) written by. Jana Wagemaker (born March 14th, 1993 in Amsterdam, Netherlands)

Gossip in NetKAT. MSc Thesis (Afstudeerscriptie) written by. Jana Wagemaker (born March 14th, 1993 in Amsterdam, Netherlands) Gossip in NetKAT MSc Thesis (Afstudeerscriptie) written by Jana Wagemaker (born March 14th, 1993 in Amsterdam, Netherlands) under the supervision of Prof Dr D. J. N. van Eijck, and submitted to the Board

More information

Abstractions for. Software-defined Networks

Abstractions for. Software-defined Networks Abstractions for Software-defined Networks Cole Nathan Schlesinger A Dissertation Presented to the Faculty of Princeton University in Candidacy for the Degree of Doctor of Philosophy Recommended for Acceptance

More information

Regular Expressions Kleene s Theorem Equation-based alternate construction. Regular Expressions. Deepak D Souza

Regular Expressions Kleene s Theorem Equation-based alternate construction. Regular Expressions. Deepak D Souza Regular Expressions Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 16 August 2012 Outline 1 Regular Expressions 2 Kleene s Theorem 3 Equation-based

More information

Bob Brown, CCBC Essex Math 163 College Algebra, Chapter 1 Section 7 COMPLETED 1 Linear, Compound, and Absolute Value Inequalities

Bob Brown, CCBC Essex Math 163 College Algebra, Chapter 1 Section 7 COMPLETED 1 Linear, Compound, and Absolute Value Inequalities Bob Brown, CCBC Essex Math 163 College Algebra, Chapter 1 Section 7 COMPLETED 1 What is the following symbol? < The inequality symbols < > are used to compare two real numbers. The meaning of anyone of

More information

An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California. 2. Background: Semirings and Kleene algebras

An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California. 2. Background: Semirings and Kleene algebras An Overview of Residuated Kleene Algebras and Lattices Peter Jipsen Chapman University, California 1. Residuated Lattices with iteration 2. Background: Semirings and Kleene algebras 3. A Gentzen system

More information

Formalization of Normal Random Variables

Formalization of Normal Random Variables Formalization of Normal Random Variables M. Qasim, O. Hasan, M. Elleuch, S. Tahar Hardware Verification Group ECE Department, Concordia University, Montreal, Canada CICM 16 July 28, 2016 2 Outline n Introduction

More information

Propositions. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 5.1, Page 1

Propositions. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 5.1, Page 1 Propositions An interpretation is an assignment of values to all variables. A model is an interpretation that satisfies the constraints. Often we don t want to just find a model, but want to know what

More information

Kleene Algebra Modulo Theories

Kleene Algebra Modulo Theories 1 Kleene Algebra Modulo Theories RYAN BECKETT, Princeton University ERIC CAMPBELL, Pomona College MICHAEL GREENBERG, Pomona College Kleene algebras with tests (KATs) offer sound, complete, and decidable

More information

Introduction to Kleene Algebra Lecture 15 CS786 Spring 2004 March 15 & 29, 2004

Introduction to Kleene Algebra Lecture 15 CS786 Spring 2004 March 15 & 29, 2004 Introduction to Kleene Algebra Lecture 15 CS786 Spring 2004 March 15 & 29, 2004 Completeness of KAT In this lecture we show that the equational theories of the Kleene algebras with tests and the star-continuous

More information

Kleene Algebra with Equations

Kleene Algebra with Equations Kleene Algebra with Equations Dexter Kozen and Konstantinos Mamouras Computer Science Department, Cornell University, Ithaca, NY 14853-7501, USA {kozen,mamouras}@cs.cornell.edu Abstract. We identify sufficient

More information

The Legacy of Hilbert, Gödel, Gentzen and Turing

The Legacy of Hilbert, Gödel, Gentzen and Turing The Legacy of Hilbert, Gödel, Gentzen and Turing Amílcar Sernadas Departamento de Matemática - Instituto Superior Técnico Security and Quantum Information Group - Instituto de Telecomunicações TULisbon

More information

Constructive Formalization of Regular Languages

Constructive Formalization of Regular Languages Constructive Formalization of Regular Languages Jan-Oliver Kaiser Advisors: Christian Doczkal, Gert Smolka Supervisor: Gert Smolka UdS November 7, 2012 Jan-Oliver Kaiser (UdS) Constr. Formalization of

More information

Every time has a value associated with it, not just some times. A variable can take on any value within a range

Every time has a value associated with it, not just some times. A variable can take on any value within a range Digital Logic Circuits Binary Logic and Gates Logic Simulation Boolean Algebra NAND/NOR and XOR gates Decoder fundamentals Half Adder, Full Adder, Ripple Carry Adder Analog vs Digital Analog Continuous»

More information

Kleene Algebra with Equations

Kleene Algebra with Equations Kleene Algebra with Equations Dexter Kozen and Konstantinos Mamouras Computer Science Department, Cornell University, Ithaca, NY 14853-7501, USA {kozen,mamouras}@cs.cornell.edu Abstract. We identify sufficient

More information

Reasoning About Imperative Programs. COS 441 Slides 10b

Reasoning About Imperative Programs. COS 441 Slides 10b Reasoning About Imperative Programs COS 441 Slides 10b Last time Hoare Logic: { P } C { Q } Agenda If P is true in the initial state s. And C in state s evaluates to s. Then Q must be true in s. Program

More information

Some Results on (Synchronous) Kleene Algebra with Tests

Some Results on (Synchronous) Kleene Algebra with Tests Some Results on (Synchronous) Kleene Algebra with Tests Sabine Broda António Machiavelo Nelma Moreira Rogério Reis Ricardo Almeida Sílvia Cavadas Faculty of Sciences, University of Porto, Portugal 1 Computer

More information

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

More information

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues Content What are Events? Examples for Problematic Event Semantics Inhibit, Enabler / Conditioning

More information

Operational semantics for disintegration

Operational semantics for disintegration Operational semantics for disintegration Chung-chieh Shan (Indiana University) Norman Ramsey (Tufts University) Mathematical Foundations of Programming Semantics 2016-05-25 1 What is semantics for? 1.

More information

CS 226: Digital Logic Design

CS 226: Digital Logic Design CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

More information

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table.

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table. The Laws of Boolean Boolean algebra As well as the logic symbols 0 and 1 being used to represent a digital input or output, we can also use them as constants for a permanently Open or Closed circuit or

More information

Semantic Foundations for Probabilistic Programming

Semantic Foundations for Probabilistic Programming Semantic Foundations for Probabilistic Programming Chris Heunen Ohad Kammar, Sam Staton, Frank Wood, Hongseok Yang 1 / 21 Semantic foundations programs mathematical objects s1 s2 2 / 21 Semantic foundations

More information

Equational Theory of Kleene Algebra

Equational Theory of Kleene Algebra Introduction to Kleene Algebra Lecture 7 CS786 Spring 2004 February 16, 2004 Equational Theory of Kleene Algebra We now turn to the equational theory of Kleene algebra. This and the next lecture will be

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

Axiomatic Semantics. Lecture 9 CS 565 2/12/08

Axiomatic Semantics. Lecture 9 CS 565 2/12/08 Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics

More information

Introduction to Computer Programming

Introduction to Computer Programming Introduction to Computer Programming Lecture 01 Software engineering is a field of engineering, for designing and writing programs for computers or other electronic devices. A software engineer, or programmer,

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

Causality Interfaces and Compositional Causality Analysis

Causality Interfaces and Compositional Causality Analysis Causality Interfaces and Compositional Causality Analysis Edward A. Lee Haiyang Zheng Ye Zhou {eal,hyzheng,zhouye}@eecs.berkeley.edu Center for Hybrid and Embedded Software Systems (CHESS) Department of

More information

Simply Typed Lambda Calculus

Simply Typed Lambda Calculus Simply Typed Lambda Calculus Language (ver1) Lambda calculus with boolean values t ::= x variable x : T.t abstraction tt application true false boolean values if ttt conditional expression Values v ::=

More information

Solutions. CS 2800 Fall 2017 Final exam Friday, December 8. NetID: 1. Modular arithmetic [9 pts]

Solutions. CS 2800 Fall 2017 Final exam Friday, December 8. NetID: 1. Modular arithmetic [9 pts] S 28 Fall 27 Final exam Friday, December 8. Modular arithmetic [9 pts] Solutions (a) [5 pts] Let d j d j... d 2 d d be the base representation of n. Use equivalence classes to prove that if n is a multiple

More information

Propositional Logic: Semantics and an Example

Propositional Logic: Semantics and an Example Propositional Logic: Semantics and an Example CPSC 322 Logic 2 Textbook 5.2 Propositional Logic: Semantics and an Example CPSC 322 Logic 2, Slide 1 Lecture Overview 1 Recap: Syntax 2 Propositional Definite

More information

Regular Expressions Kleene s Theorem Equation-based alternate construction. Regular Expressions. Deepak D Souza

Regular Expressions Kleene s Theorem Equation-based alternate construction. Regular Expressions. Deepak D Souza Regular Expressions Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 11 August 2011 Outline 1 Regular Expressions 2 Kleene s Theorem 3 Equation-based

More information

Decision Methods for Concurrent Kleene Algebra with Tests : Based on Derivative

Decision Methods for Concurrent Kleene Algebra with Tests : Based on Derivative Decision Methods for Concurrent Kleene Algebra with Tests : Based on Derivative Yoshiki Nakamura Tokyo Instutute of Technology, Oookayama, Meguroku, Japan, nakamura.y.ay@m.titech.ac.jp Abstract. Concurrent

More information

ILP = Logic, CS, ML Stop counting, start reasoning

ILP = Logic, CS, ML Stop counting, start reasoning ILP = Logic, CS, ML Stop counting, start reasoning Gilles Richard AOC team The story so far Several actors K. Brouwer K. Godel J. Herbrand A. Colmerauer R. Kowalski S. Muggleton L. Brouwer (1881-1966)

More information

Lecture 4 Event Systems

Lecture 4 Event Systems Lecture 4 Event Systems This lecture is based on work done with Mark Bickford. Marktoberdorf Summer School, 2003 Formal Methods One of the major research challenges faced by computer science is providing

More information

Computer Science Introductory Course MSc - Introduction to Java

Computer Science Introductory Course MSc - Introduction to Java Computer Science Introductory Course MSc - Introduction to Java Lecture 1: Diving into java Pablo Oliveira ENST Outline 1 Introduction 2 Primitive types 3 Operators 4 5 Control Flow

More information

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction

More information

22c:145 Artificial Intelligence

22c:145 Artificial Intelligence 22c:145 Artificial Intelligence Fall 2005 Propositional Logic Cesare Tinelli The University of Iowa Copyright 2001-05 Cesare Tinelli and Hantao Zhang. a a These notes are copyrighted material and may not

More information

Discrete Mathematics and Logic II. Regular Sets

Discrete Mathematics and Logic II. Regular Sets Discrete Mathematics and Logic II. Regular Sets SFWR ENG 2FA3 Ryszard Janicki Winter 24 Acknowledgments: Material based on Automata and Computability by Dexter C. Kozen (Chapter 4). Ryszard Janicki Discrete

More information

ON INDUCTION VS. *-CONTINUITY. Dexter Kozen. IBM Thomas L Watson Research Center Yorktown Heights, New York 10598

ON INDUCTION VS. *-CONTINUITY. Dexter Kozen. IBM Thomas L Watson Research Center Yorktown Heights, New York 10598 ON INDUCTION VS. *-CONTINUITY Dexter Kozen IBM Thomas L Watson Research Center Yorktown Heights, New York 10598 Abstract. In this paper we study the relative expressibility of the infinitary *-continuity

More information

Part II Logic and Set Theory

Part II Logic and Set Theory Part II Logic and Set Theory Theorems Based on lectures by I. B. Leader Notes taken by Dexter Chua Lent 2015 These notes are not endorsed by the lecturers, and I have modified them (often significantly)

More information

Lecture 2: Axiomatic semantics

Lecture 2: Axiomatic semantics Chair of Software Engineering Trusted Components Prof. Dr. Bertrand Meyer Lecture 2: Axiomatic semantics Reading assignment for next week Ariane paper and response (see course page) Axiomatic semantics

More information

Positive provability logic

Positive provability logic Positive provability logic Lev Beklemishev Steklov Mathematical Institute Russian Academy of Sciences, Moscow November 12, 2013 Strictly positive modal formulas The language of modal logic extends that

More information

A Coalgebraic Decision Procedure for NetKAT

A Coalgebraic Decision Procedure for NetKAT A Coalgebraic Decision Procedure for NetKAT Nate Foster Cornell University Dexter Kozen Cornell University Matthew Milano Cornell University Alexandra Silva Radboud University Nijmegen Laure Thompson Cornell

More information

A Stochastic Lambda-Calculus for Probabilistic Programming

A Stochastic Lambda-Calculus for Probabilistic Programming A Stochastic Lambda-Calculus for Probabilistic Programming (Preliminary Report) Radu Mardare, Prakash Panangaden, and Dana Scott Logical Structures in Computation Reunion Workshop December 2017 Randomizing

More information

Halting and Equivalence of Schemes over Recursive Theories

Halting and Equivalence of Schemes over Recursive Theories Halting and Equivalence of Schemes over Recursive Theories Dexter Kozen Computer Science Department, Cornell University, Ithaca, New York 14853-7501, USA Abstract Let Σ be a fixed first-order signature.

More information

KAT + B! Niels Bjørn Bugge Grathwohl. Abstract. 1. Introduction. University of Copenhagen

KAT + B! Niels Bjørn Bugge Grathwohl. Abstract. 1. Introduction. University of Copenhagen KAT + B! Niels Bjørn Bugge Grathwohl University of Copenhagen bugge@diku.dk Dexter Kozen Konstantinos Mamouras Cornell University {kozen,mamouras}@cs.cornell.edu Abstract It is known that certain program

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Boolean Algebra Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2014 1 2 Boolean Algebra Reading F. M. Brown. Boolean Reasoning:

More information

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Dexter Kozen Cornell University, Ithaca, New York 14853-7501, USA, kozen@cs.cornell.edu, http://www.cs.cornell.edu/~kozen In Honor

More information

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.

More information

Introduction to Kleene Algebra Lecture 13 CS786 Spring 2004 March 15, 2004

Introduction to Kleene Algebra Lecture 13 CS786 Spring 2004 March 15, 2004 Introduction to Kleene Algebra Lecture 13 CS786 Spring 2004 March 15, 2004 Models of KAT In this lecture we show that the equational theories of KAT, KAT (the star-continuous Kleene algebras with tests),

More information

Propositional and Predicate Logic

Propositional and Predicate Logic Formal Verification of Software Propositional and Predicate Logic Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Verification of Software p.1 Propositional Logic: Syntax Special symbols

More information

Chapter 18 Section 8.5 Fault Trees Analysis (FTA) Don t get caught out on a limb of your fault tree.

Chapter 18 Section 8.5 Fault Trees Analysis (FTA) Don t get caught out on a limb of your fault tree. Chapter 18 Section 8.5 Fault Trees Analysis (FTA) Don t get caught out on a limb of your fault tree. C. Ebeling, Intro to Reliability & Maintainability Engineering, 2 nd ed. Waveland Press, Inc. Copyright

More information

Finite Automata and Languages

Finite Automata and Languages CS62, IIT BOMBAY Finite Automata and Languages Ashutosh Trivedi Department of Computer Science and Engineering, IIT Bombay CS62: New Trends in IT: Modeling and Verification of Cyber-Physical Systems (2

More information

Verifying Probabilistic Programs using the HOL Theorem Prover Joe Hurd p.1/32

Verifying Probabilistic Programs using the HOL Theorem Prover Joe Hurd p.1/32 Verifying Probabilistic Programs using the HOL Theorem Prover Joe Hurd joe.hurd@cl.cam.ac.uk University of Cambridge Verifying Probabilistic Programs using the HOL Theorem Prover Joe Hurd p.1/32 Contents

More information

On-the-Fly Model Checking for Extended Action-Based Probabilistic Operators

On-the-Fly Model Checking for Extended Action-Based Probabilistic Operators On-the-Fly Model Checking for Extended Action-Based Probabilistic Operators Radu Mateescu and José Ignacio Requeno Inria Grenoble and LIG / Convecs http://convecs.inria.fr SPIN 2016 - Eindhoven, March

More information

Math6100 Day 8 Notes 6.1, 6.2 & 6.3, Area

Math6100 Day 8 Notes 6.1, 6.2 & 6.3, Area Math6100 Day 8 Notes 6.1, 6.2 & 6.3, Area 6.1 Area of Polygonal Regions Let's first derive formulas for the area of these shapes. 1. Rectangle 2. Parallelogram 3. Triangle 4. Trapezoid 1 Ex 1: Find the

More information

The Hoare Logic of Deterministic and Nondeterministic Monadic Recursion Schemes

The Hoare Logic of Deterministic and Nondeterministic Monadic Recursion Schemes The Hoare Logic of Deterministic and Nondeterministic Monadic Recursion Schemes Konstantinos Mamouras Cornell University mamouras@cs.cornell.edu December 24, 2014 Abstract The equational theory of deterministic

More information

Introduction to Kleene Algebra Lecture 9 CS786 Spring 2004 February 23, 2004

Introduction to Kleene Algebra Lecture 9 CS786 Spring 2004 February 23, 2004 Introduction to Kleene Algebra Lecture 9 CS786 Spring 2004 February 23, 2004 Completeness Here we continue the program begun in the previous lecture to show the completeness of Kleene algebra for the equational

More information

CHAPTER 6 - THINKING ABOUT AND PRACTICING PROPOSITIONAL LOGIC

CHAPTER 6 - THINKING ABOUT AND PRACTICING PROPOSITIONAL LOGIC 1 CHAPTER 6 - THINKING ABOUT AND PRACTICING PROPOSITIONAL LOGIC Here, you ll learn: what it means for a logic system to be finished some strategies for constructing proofs Congratulations! Our system of

More information

Kleene Algebra with Tests

Kleene Algebra with Tests Introduction to Kleene Algebra Lecture 12 CS786 Spring 2004 March 8, 2004 Kleene Algebra with Tests In semantics and logics of programs, Kleene algebra forms an essential component of Propositional Dynamic

More information

The theory of regular cost functions.

The theory of regular cost functions. The theory of regular cost functions. Denis Kuperberg PhD under supervision of Thomas Colcombet Hebrew University of Jerusalem ERC Workshop on Quantitative Formal Methods Jerusalem, 10-05-2013 1 / 30 Introduction

More information

NONSTANDARD MODELS AND KRIPKE S PROOF OF THE GÖDEL THEOREM

NONSTANDARD MODELS AND KRIPKE S PROOF OF THE GÖDEL THEOREM Notre Dame Journal of Formal Logic Volume 41, Number 1, 2000 NONSTANDARD MODELS AND KRIPKE S PROOF OF THE GÖDEL THEOREM HILARY PUTNAM Abstract This lecture, given at Beijing University in 1984, presents

More information

Domain theory and denotational semantics of functional programming

Domain theory and denotational semantics of functional programming Domain theory and denotational semantics of functional programming Martín Escardó School of Computer Science, Birmingham University MGS 2007, Nottingham, version of April 20, 2007 17:26 What is denotational

More information

Stochastic Games with Time The value Min strategies Max strategies Determinacy Finite-state games Cont.-time Markov chains

Stochastic Games with Time The value Min strategies Max strategies Determinacy Finite-state games Cont.-time Markov chains Games with Time Finite-state Masaryk University Brno GASICS 00 /39 Outline Finite-state stochastic processes. Games over event-driven stochastic processes. Strategies,, determinacy. Existing results for

More information

Propositional Languages

Propositional Languages Propositional Logic Propositional Languages A propositional signature is a set/sequence of primitive symbols, called proposition constants. Given a propositional signature, a propositional sentence is

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Performance Analysis of ARQ Protocols using a Theorem Prover

Performance Analysis of ARQ Protocols using a Theorem Prover Performance Analysis of ARQ Protocols using a Theorem Prover Osman Hasan Sofiene Tahar Hardware Verification Group Concordia University Montreal, Canada ISPASS 2008 Objectives n Probabilistic Theorem Proving

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Propositional Logic [1] Boolean algebras by examples U X U U = {a} U = {a, b} U = {a, b, c} {a} {b} {a, b} {a, c} {b, c}... {a} {b} {c} {a, b} {a} The arrows represents proper inclusion

More information

Towards a Mechanised Denotational Semantics for Modelica

Towards a Mechanised Denotational Semantics for Modelica Towards a Mechanised Denotational Semantics for Modelica Simon Foster Bernhard Thiele Jim Woodcock Peter Fritzson Department of Computer Science, University of York PELAB, Linköping University 3rd February

More information

Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng

Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng 1 Knowledge How can we infer knowledge from observations? 2 Ron s box Bob has a box

More information

TR : Possible World Semantics for First Order LP

TR : Possible World Semantics for First Order LP City University of New York (CUNY) CUNY Academic Works Computer Science Technical Reports Graduate Center 2011 TR-2011010: Possible World Semantics for First Order LP Melvin Fitting Follow this and additional

More information

RELATION OF WHITEHEAD AND RUSSELL'S THEORY OF DEDUCTION TO THE BOOLEAN LOGIC OF PROPOSITIONS*

RELATION OF WHITEHEAD AND RUSSELL'S THEORY OF DEDUCTION TO THE BOOLEAN LOGIC OF PROPOSITIONS* 932.] BOOLEAN LOGIC OF PROPOSITIONS 589 RELATION OF WHITEHEAD AND RUSSELL'S THEORY OF DEDUCTION TO THE BOOLEAN LOGIC OF PROPOSITIONS* BY B. A. BERNSTEIN. Introduction. Whitehead and Russell's theory of

More information

Logic: The Big Picture

Logic: The Big Picture Logic: The Big Picture A typical logic is described in terms of syntax: what are the legitimate formulas semantics: under what circumstances is a formula true proof theory/ axiomatization: rules for proving

More information

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna The Calculus of Computation: Decision Procedures with Applications to Verification Part I: FOUNDATIONS by Aaron Bradley Zohar Manna 1. Propositional Logic(PL) Springer 2007 1-1 1-2 Propositional Logic(PL)

More information

Propositional logic (revision) & semantic entailment. p. 1/34

Propositional logic (revision) & semantic entailment. p. 1/34 Propositional logic (revision) & semantic entailment p. 1/34 Reading The background reading for propositional logic is Chapter 1 of Huth/Ryan. (This will cover approximately the first three lectures.)

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

Lectures on Computational Type Theory

Lectures on Computational Type Theory Lectures on Computational Type Theory From Proofs-as-Programs to Proofs-as-Processes Robert L. Constable Cornell University Lecture Schedule Lecture 1: Origins and Introduction to Computational Type Theory

More information

Model Checking & Program Analysis

Model Checking & Program Analysis Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to

More information

Bound and Free Variables. Theorems and Proofs. More valid formulas involving quantifiers:

Bound and Free Variables. Theorems and Proofs. More valid formulas involving quantifiers: Bound and Free Variables More valid formulas involving quantifiers: xp(x) x P(x) Replacing P by P, we get: x P(x) x P(x) Therefore x P(x) xp(x) Similarly, we have xp(x) x P(x) x P(x) xp(x) i(i 2 > i) is

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)

More information

Constructions on Finite Automata

Constructions on Finite Automata Constructions on Finite Automata Informatics 2A: Lecture 4 Mary Cryan School of Informatics University of Edinburgh mcryan@inf.ed.ac.uk 24 September 2018 1 / 33 Determinization The subset construction

More information

CTL Model Update Implementation Using ANTLR Tools

CTL Model Update Implementation Using ANTLR Tools CTL Model Update Implementation Using ANTLR Tools LAURA FLORENTINA CACOVEAN Department of Computer Science Lucian Blaga University of Sibiu, Faculty of Sciences Str. Dr. Ion Ratiu 5-7, 550012, Sibiu ROMANIA

More information

Realization of Coinductive Types

Realization of Coinductive Types MFPS 2011 Realization of Coinductive Types Dexter Kozen 1,2 Department of Computer Science Cornell University Ithaca, New York 14853 7501, USA Abstract We give an explicit combinatorial construction of

More information

Proofs Propositions and Calculuses

Proofs Propositions and Calculuses Lecture 2 CS 1813 Discrete Mathematics Proofs Propositions and Calculuses 1 City of Königsberg (Kaliningrad) 2 Bridges of Königsberg Problem Find a route that crosses each bridge exactly once Must the

More information

Stéphane Lafortune. August 2006

Stéphane Lafortune. August 2006 UNIVERSITY OF MICHIGAN DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE LECTURE NOTES FOR EECS 661 CHAPTER 1: INTRODUCTION TO DISCRETE EVENT SYSTEMS Stéphane Lafortune August 2006 References for

More information

Partial model checking via abstract interpretation

Partial model checking via abstract interpretation Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi

More information

Logic. Propositional Logic: Syntax. Wffs

Logic. Propositional Logic: Syntax. Wffs Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

Propositional Logic. Spring Propositional Logic Spring / 32

Propositional Logic. Spring Propositional Logic Spring / 32 Propositional Logic Spring 2016 Propositional Logic Spring 2016 1 / 32 Introduction Learning Outcomes for this Presentation Learning Outcomes... At the conclusion of this session, we will Define the elements

More information