Higher-Order Logic. Specification and Verification with Higher-Order Logic

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Higher-Order Logic. Specification and Verification with Higher-Order Logic"

Transcription

1 Higher-Order Logic Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

2 Outline Introduction 1 Introduction 2 Types Motivation Polymorphism Sematics 3 Terms Higher-Order Terms Semantics 4 HOL Proof System Formulas and Sequents Axioms and Rules 5 Summary Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

3 Overview Introduction Overview Higher-Order Logic quantification over predicates, functions and sets supports formalisation of arbitrary mathematics Motivation reasoning about hardware and software can require very sophisticated mathematics floating point: real numbers and analysis correctness of randomised algorithms: probability Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

4 Outline Types 1 Introduction 2 Types Motivation Polymorphism Sematics 3 Terms Higher-Order Terms Semantics 4 HOL Proof System Formulas and Sequents Axioms and Rules 5 Summary Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

5 Problem: Russell s Paradox Types Motivation Russel s Paradox Having variables that range over predicates allows to write terms like where P is a variable. By β -reduction: Ω def = λ P. (P P) Ω Ω = (λ P. (P P)) Ω = (Ω Ω) Conclusion To avoid this kind of thing types are needed! Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

6 Types Types of Types type constant: c type variable: α compound type: (σ 1,...,σ n )op Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

7 Types Type Examples Example (Type Constant) bool: Booleans num: natural numbers weekday: some appropriate user defined type Example (Compound Types) (σ 1,σ 2 )fun: functions from σ 1 to σ 2 (σ 1,σ 2 )prod: pairs of values Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

8 Terminology and Notation Types Definition (Type operator) op in (σ 1,...,σ n )op is called a type constructor Conventions The type (σ 1,σ 2 )fun is usually written σ 1 σ 2 and σ 1 σ 2 σ n = (σ 1 (σ 2 ( σ n ))) The type (σ 1,σ 2 )prod is usually written σ 1 σ 2 or σ 1 σ 2 and σ 1 σ 2 σ n = (σ 1 (σ 2 ( σ n ))) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

9 Typing of Terms Types Typing of Terms All terms must be well-typed. t:σ means the term t is well-typed and has type σ. Variables and Constants Variables may have any type: v:σ Constants have a fixed generic type: c:σ Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

10 Assigning Types to Terms Types Rules for the Assignment function application t 1 :σ 1 σ 2 t 2 :σ 1 (t 1 t 2 ):σ 2 abstraction x:σ 1 t:σ 2 λ x. t:σ 1 σ 2 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

11 Polymorphism Types Polymorphism Example (Polymorphism) Consider the constant I, defined by: I def = λ x. x We may want to apply the function I to things of different types: I 7 = 7 with I : num num I T = T with I : bool bool It seems that I must have two different types. Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

12 Types Polymorphism and Generic Types Polymorphism Polymorphism The types of polymorphic functions such as I contain type variables: I def = (λ x. x):α α where α stands for any type. α α is the generic type of I. The constant I then has every type obtainable by substituting any type for the variable α in its generic type: I : bool bool I : num num I : (α bool) (α bool) I : α α Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

13 Polymorphism Examples Types Polymorphism Example (Function Composition) o def = λ f.λ g.λ x.f(g(x)) where o : (β γ) (α β) (α γ) Example (Equality) Example (Apply a Function and Add) = : α α bool app_add def = λ f.(λ x.f(x) + f(x)) where app_add : (α num) (α num) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

14 Types Church s Simple Theory of Types Sematics Definition (Universe) each element X U is a non-empty set if X U and Y X, then Y U. if X U and Y U, then X Y U if X U, then powerset (X) = {Y : Y X} U U contains a distinguished infinite set I distinguished element ch Π X U X: ch(x) X witnesses non-emptiness Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

15 Model Types Sematics Definition (Model of Type Structure) given: type structure Ω as set of type constants (ν,n) model: M(ν) : U n U Polymorphic Types types containing type variables: polymorphic meaning of polymorphic types not single set, but set-valued function Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

16 Summary of Types Types Sematics Fact (Types) Types are introduced to avoid inconsistency. Types Type constants: bool, num,... Type variables: α, β, γ,... Compound Types: (σ 1,...,σ n )op e.g. σ 1 σ 2, and σ 1 σ 2. Polymorphism twice def = λ f.λ x.f(f(x)) where twice : (α α) (α α) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

17 Outline Terms 1 Introduction 2 Types Motivation Polymorphism Sematics 3 Terms Higher-Order Terms Semantics 4 HOL Proof System Formulas and Sequents Axioms and Rules 5 Summary Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

18 of Terms Terms of Terms constants: c variables : v function applications: T 1 T 2 lambda abstractions λ v. T Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

19 Constants and Variables Terms Fact (Distinction between Constants and Variables) The distinction between a constant and a variable always depends on the context. Identifiers x, y, foo, t, k 2, c_val,... Special Symbols,,,,,, 1, 2, 3,..., +,, =,... Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

20 Function Applications Terms Notation term 1 term 2 denotes the result of applying the function term 1 to the value term 2. Precedence parentheses can be used for grouping f(x), f (g y), (f x) y,... default precedence f x 1 x 2 x n = (((f x 1 ) x 2 ) x n ) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

21 Abstractions Terms Notation λ var. term denotes the function x term[x/var]. Convention λ x 1 x 2 x n. t = λ x 1. λ x 2. λ x n. t Example (Abstraction) λ x. x: the identity function λ x. f(f x): function that applies f twice λ f.λ g.λ x. f(g x): function composition Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

22 Free and Bound Variables Terms Definition (Free Variable) λ x. body A variable x is called free in a term if it does not occur inside the body of an abstraction. Definition (Bound Variables) If an instance of a variable is not free, it is bound. Example (Free and Bound Variables) Consider variable x: (λ x. f x)(λ y. x) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

23 Syntactic Sugar Terms Infix Aplications Certain constants are written in infix position: t 1 + t 2 abbreviates + t 1 t 2 t 1 t 2 abbreviates t 1 t 2 t 1 t 2 abbreviates t 1 t 2 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

24 Summary of Terms Terms Terms Terms may be Variables: x, y, a, a_var, phi 1,... Constants: T, F, phi,, +,... Applications: t 1 t 2, t 1 t 2 t 3... t n Abstractions: λ x. t, λ x 1 x 2... x n. t Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

25 Higher-Order Terms Terms Higher-Order Terms Fact (Higher-Order Terms) Variables can range over functions or predicates (i. e. boolean-valued functions) Example (Higher-Order Term) in λ f.f 0, the variable f ranges over functions in P. P(n) P(n+1), P ranges over predicates typical assertion x f. g. (g 0 = x) n.g (n+1) = (f (g n)) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

26 Syntactic Sugar Terms Higher-Order Terms Binders The quantifiers and are in fact polymorphic constants with types: : (α B) B : (α B) B They are defined such that for P : (α bool): P means P(x) = T for all x P means P(x) = T for some x Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

27 Hilbert s Choice Function Terms Higher-Order Terms Definition (ε-operator) εx. t[x] with x : σ and t[x] a term involving x binder of type (σ B) σ denotes a value of type σ some value of type σ, v:σ such that t[v] is true no such value exists: arbitrary but fixed value of type σ Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

28 Examples of ε-terms Terms Higher-Order Terms Example (ε-terms) This term denotes the number 1: εx. 0 < x x < 2 This term denotes an even number: εx. y. x = 2 y An unspecified natural number: εx. x + 1 = x The following proposition is true: (εx. x + 3 = 9) = 6 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

29 Standard Signatures Terms Semantics Standard Signature and Intended Interpretation standard type structure Ω contains the atomic types B of Boolean values and I of individuals of type (B B B) Intended interpretation: implication = of type (α α B) Intended interpretation: equality on the set α ε of type ((α B) α) Intended interpretation: Hilbert s choice function. Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

30 Standard Logical Constants Terms Semantics Definition of Standard Logical Constants EXISTS def = λ P.P(εP) TRUTH def true = ((λ x.x) = (λ x.x)) FORALL def = λ P.(P = (λ x.true)) FALSITY def false = x.x NEGATION def = λ x.x false DISJUNCTION def = λ(x,y). x y CONJUNCTION def = λ(x,y). ( x y) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

31 Outline HOL Proof System 1 Introduction 2 Types Motivation Polymorphism Sematics 3 Terms Higher-Order Terms Semantics 4 HOL Proof System Formulas and Sequents Axioms and Rules 5 Summary Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

32 Formulas HOL Proof System Formulas and Sequents Definition (Formulas in HOL) Formulas in HOL are terms of type B Example (Formulas in HOL) x. x = 0 (x = 0) true (λ x. x)( y. y = y) x. x = true Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

33 Sequents HOL Proof System Formulas and Sequents Definition (Sequents in HOL) A sequent is a pair (Γ,t) where Γ is a set of formulas (assumptions) t is a formula (conclusion) A sequent (Γ, t) essentially means From the formulas in Γ, t can be derived. Example (Sequents in HOL) The sequent ({x = 3, n. n = n},x = 99) means { x = 3, y = 7, n. n = n } x + y = 10 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

34 Theorems HOL Proof System Formulas and Sequents Definition (Theorems in HOL) A theorem is a sequent that is either an axiom, or can be derived from other theorems Notation Γ t or just t if Γ is empty Example (HOL Theorems) x. x = 0 (x = 0)? true? (λ x. x)( y. y = y)? x. x = true? Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

35 Axioms of the HOL Logic HOL Proof System Axioms and Rules Five Axioms b. (b = true) (b = false) b 1 b 2. (b 1 b 2 ) (b 2 b 1 ) (b 1 = b 2 ) f. (λ x. fx) = f P x. P x P(ε P) f.( x y. fx = fy x = y) ( x. y. x = f y) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

36 Inference Rules HOL Proof System Axioms and Rules Primitive Inference Rules ASSUME {t} t REFL MP t = t Γ 1 t 1 t 2 Γ 2 t 1 Γ 1 Γ 2 t 2 DISCH ABS Γ t 2 Γ {t 1 } t 1 t 2 Γ t 1 = t 2 Γ (λ x. t 1 ) = (λ x. t 2 ) (with x not free in Γ) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

37 Inference Rules HOL Proof System Axioms and Rules Primitive Inference Rules (continued) BETA_CONV SUBST INST_TYPE (λ x. t 1 )t 2 = t 1 [t 2 /x] Γ 1 t 1 = t 2 Γ 2 t[t 1 ] Γ 1 Γ 2 t[t 2 ] Γ t Γ t[σ 1...σ n /α 1...α n ] Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

38 Beta Conversion HOL Proof System Axioms and Rules Rule for Beta-Conversion BETA_CONV (λ x. t 1 )t 2 = t 1 [t 2 /x] t 1 [t 2 /x] denotes the result of substituting t 2 for all free occurrences of x in t 1 bound variables renamed if necessary so that no free variable in t 2 becomes bound Example (Beta Conversion) (λ x. x + 3) 7 = (λ x. ( x. x = true) x) false = ( x. x = true) false) (λ y. x. x = y) x = ( x. x = x) Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

39 HOL Proof System Axioms and Rules Substitution Rule for Substitution SUBST Γ 1 t 1 = t 2 Γ 2 t[t 1 ] Γ 1 Γ 2 t[t 2 ] where t[t 1 ] is a term with selected free occurences of t 1 singled out for t[t 2 ] is the result of replacing those chosen t 1 by t 2 bound variables are renamed so that variables free in t 2 do not become bound in t[t 2 ] Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

40 Type Instantiation HOL Proof System Axioms and Rules Rule for Type Instantiation INST_TYPE Γ t Γ t[σ 1...σ n /α 1...α n ] which effects the parallel substitution of types σ 1...σ n for type variables α 1...α n in t. Restriction: none of α 1...α n occur in Γ. Example (Type Instantiation) I(x : α) = x I(x : num) = x Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

41 Outline Summary 1 Introduction 2 Types Motivation Polymorphism Sematics 3 Terms Higher-Order Terms Semantics 4 HOL Proof System Formulas and Sequents Axioms and Rules 5 Summary Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

42 Summary Summary Higher-Order Logic types and terms quantification over predicates, functions and sets HOL Proof System five axioms and eight primitive inference rules Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich Informatik Higher-Order Technische Logic Universität Kaiserslautern) Sommersemester / 42

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

More information

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine. (LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

More information

Predicate Logic. Example: All men are mortal. Socrates is a man. Socrates is mortal.

Predicate Logic. Example: All men are mortal. Socrates is a man. Socrates is mortal. Predicate Logic Example: All men are mortal. Socrates is a man. Socrates is mortal. Note: We need logic laws that work for statements involving quantities like some and all. In English, the predicate is

More information

Predicate Logic. For example, consider the following argument:

Predicate Logic. For example, consider the following argument: Predicate Logic The analysis of compound statements covers key aspects of human reasoning but does not capture many important, and common, instances of reasoning that are also logically valid. For example,

More information

Formal Engineering for Industrial Software Development

Formal Engineering for Industrial Software Development Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3

More information

2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. 2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

More information

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

More information

The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs

The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs The Foundations: Logic and Proofs Chapter 1, Part III: Proofs Rules of Inference Section 1.6 Section Summary Valid Arguments Inference Rules for Propositional Logic Using Rules of Inference to Build Arguments

More information

Problems on Discrete Mathematics 1

Problems on Discrete Mathematics 1 Problems on Discrete Mathematics 1 Chung-Chih Li 2 Kishan Mehrotra 3 Syracuse University, New York L A TEX at January 11, 2007 (Part I) 1 No part of this book can be reproduced without permission from

More information

Predicate logic. Logic in computer science. Logic in Computer Science (lecture) PART II. first order logic

Predicate logic. Logic in computer science. Logic in Computer Science (lecture) PART II. first order logic PART II. Predicate logic first order logic Logic in computer science Seminar: INGK401-K5; INHK401; INJK401-K4 University of Debrecen, Faculty of Informatics kadek.tamas@inf.unideb.hu 1 / 19 Alphabets Logical

More information

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements. 3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but

More information

Foundations of mathematics

Foundations of mathematics Foundations of mathematics 1. First foundations of mathematics 1.1. Introduction to the foundations of mathematics Mathematics, theories and foundations Sylvain Poirier http://settheory.net/ Mathematics

More information

Handout #1: Mathematical Reasoning

Handout #1: Mathematical Reasoning Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or

More information

CS510 Software Engineering

CS510 Software Engineering CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se

More information

2. The Language of First-order Logic

2. The Language of First-order Logic 2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to

More information

! " # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs

!  # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs ,!0((,.+#$),%$(-&.& *,2(-$)%&2.'3&%!&, Logics for Data and Knowledge Representation Alessandro Agostini agostini@dit.unitn.it University of Trento Fausto Giunchiglia fausto@dit.unitn.it The Logic of Descriptions!$%&'()*$#)

More information

Mathematical Induction

Mathematical Induction Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How

More information

Summary of Last Lecture. Automated Reasoning. Outline of the Lecture. Definition. Example. Lemma non-redundant superposition inferences are liftable

Summary of Last Lecture. Automated Reasoning. Outline of the Lecture. Definition. Example. Lemma non-redundant superposition inferences are liftable Summary Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Summary of Last Lecture C A D B (C D)σ C s = t D A[s ] (C D A[t])σ ORe OPm(L) C s = t D u[s ] v SpL (C D u[t] v)σ C s t Cσ ERR

More information

Propositional Logic. A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both.

Propositional Logic. A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both. irst Order Logic Propositional Logic A proposition is a declarative sentence (a sentence that declares a fact) that is either true or false, but not both. Are the following sentences propositions? oronto

More information

INTRODUCTORY SET THEORY

INTRODUCTORY SET THEORY M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,

More information

University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees

University of Ostrava. Reasoning in Description Logic with Semantic Tableau Binary Trees University of Ostrava Institute for Research and Applications of Fuzzy Modeling Reasoning in Description Logic with Semantic Tableau Binary Trees Alena Lukasová Research report No. 63 2005 Submitted/to

More information

Consistency, completeness of undecidable preposition of Principia Mathematica. Tanmay Jaipurkar

Consistency, completeness of undecidable preposition of Principia Mathematica. Tanmay Jaipurkar Consistency, completeness of undecidable preposition of Principia Mathematica Tanmay Jaipurkar October 21, 2013 Abstract The fallowing paper discusses the inconsistency and undecidable preposition of Principia

More information

Deterministic Discrete Modeling

Deterministic Discrete Modeling Deterministic Discrete Modeling Formal Semantics of Firewalls in Isabelle/HOL Cornelius Diekmann, M.Sc. Dr. Heiko Niedermayer Prof. Dr.-Ing. Georg Carle Lehrstuhl für Netzarchitekturen und Netzdienste

More information

Correspondence analysis for strong three-valued logic

Correspondence analysis for strong three-valued logic Correspondence analysis for strong three-valued logic A. Tamminga abstract. I apply Kooi and Tamminga s (2012) idea of correspondence analysis for many-valued logics to strong three-valued logic (K 3 ).

More information

Functional Programming. Functional Programming Languages. Chapter 14. Introduction

Functional Programming. Functional Programming Languages. Chapter 14. Introduction Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five

More information

Lecture 13 of 41. More Propositional and Predicate Logic

Lecture 13 of 41. More Propositional and Predicate Logic Lecture 13 of 41 More Propositional and Predicate Logic Monday, 20 September 2004 William H. Hsu, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Sections 8.1-8.3, Russell and Norvig

More information

Chapter 7: Functional Programming Languages

Chapter 7: Functional Programming Languages Chapter 7: Functional Programming Languages Aarne Ranta Slides for the book Implementing Programming Languages. An Introduction to Compilers and Interpreters, College Publications, 2012. Fun: a language

More information

the type checking problem (TCP) schema the proof checking problem the type synthesis problem (TSP) decidability input: Γ M :? polymorphism in Coq

the type checking problem (TCP) schema the proof checking problem the type synthesis problem (TSP) decidability input: Γ M :? polymorphism in Coq schema the type checking problem (TCP) decidability polymorphism in Coq dependent inductive data-types in Coq further reading overview input: Γ M : N? output: true yes the typing judgement is derivable

More information

ML for the Working Programmer

ML for the Working Programmer ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

More information

def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system.

def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system. Section 1.5 Methods of Proof 1.5.1 1.5 METHODS OF PROOF Some forms of argument ( valid ) never lead from correct statements to an incorrect. Some other forms of argument ( fallacies ) can lead from true

More information

Monitoring Metric First-order Temporal Properties

Monitoring Metric First-order Temporal Properties Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at

More information

CS 441 Discrete Mathematics for CS Lecture 5. Predicate logic. CS 441 Discrete mathematics for CS. Negation of quantifiers

CS 441 Discrete Mathematics for CS Lecture 5. Predicate logic. CS 441 Discrete mathematics for CS. Negation of quantifiers CS 441 Discrete Mathematics for CS Lecture 5 Predicate logic Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Negation of quantifiers English statement: Nothing is perfect. Translation: x Perfect(x)

More information

A Propositional Dynamic Logic for CCS Programs

A Propositional Dynamic Logic for CCS Programs A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are

More information

Predicate Calculus. There are certain arguments that seem to be perfectly logical, yet they cannot be expressed by using propositional calculus.

Predicate Calculus. There are certain arguments that seem to be perfectly logical, yet they cannot be expressed by using propositional calculus. Predicate Calculus (Alternative names: predicate logic, first order logic, elementary logic, restricted predicate calculus, restricted functional calculus, relational calculus, theory of quantification,

More information

Subjects, Predicates and The Universal Quantifier

Subjects, Predicates and The Universal Quantifier Introduction to Logic Week Sixteen: 14 Jan., 2008 Subjects, Predicates and The Universal Quantifier 000. Office Hours this term: Tuesdays and Wednesdays 1-2, or by appointment; 5B-120. 00. Results from

More information

A Beginner s Guide to Modern Set Theory

A Beginner s Guide to Modern Set Theory A Beginner s Guide to Modern Set Theory Martin Dowd Product of Hyperon Software PO Box 4161 Costa Mesa, CA 92628 www.hyperonsoft.com Copyright c 2010 by Martin Dowd 1. Introduction..... 1 2. Formal logic......

More information

Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)

Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation) Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic

More information

Likewise, we have contradictions: formulas that can only be false, e.g. (p p).

Likewise, we have contradictions: formulas that can only be false, e.g. (p p). CHAPTER 4. STATEMENT LOGIC 59 The rightmost column of this truth table contains instances of T and instances of F. Notice that there are no degrees of contingency. If both values are possible, the formula

More information

Theorem Proving in Lean

Theorem Proving in Lean Theorem Proving in Lean Jeremy Avigad Leonardo de Moura Soonho Kong Version cd852b8, updated at 2016-07-16 00:37:44-0400 2 Copyright (c) 2014 2015, Jeremy Avigad, Leonardo de Moura, and Soonho Kong. rights

More information

Predicate Logic Review

Predicate Logic Review Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning

More information

Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets.

Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets. Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets. Logic is the study of reasoning. A language of propositions is fundamental to this study as well as true

More information

Dependent Types at Work

Dependent Types at Work Dependent Types at Work Ana Bove and Peter Dybjer Chalmers University of Technology, Göteborg, Sweden {bove,peterd}@chalmers.se Abstract. In these lecture notes we give an introduction to functional programming

More information

Research Note. Bi-intuitionistic Boolean Bunched Logic

Research Note. Bi-intuitionistic Boolean Bunched Logic UCL DEPARTMENT OF COMPUTER SCIENCE Research Note RN/14/06 Bi-intuitionistic Boolean Bunched Logic June, 2014 James Brotherston Dept. of Computer Science University College London Jules Villard Dept. of

More information

Type Theory & Functional Programming

Type Theory & Functional Programming Type Theory & Functional Programming Simon Thompson Computing Laboratory, University of Kent March 1999 c Simon Thompson, 1999 Not to be reproduced i ii To my parents Preface Constructive Type theory has

More information

Remarks on Non-Fregean Logic

Remarks on Non-Fregean Logic STUDIES IN LOGIC, GRAMMAR AND RHETORIC 10 (23) 2007 Remarks on Non-Fregean Logic Mieczys law Omy la Institute of Philosophy University of Warsaw Poland m.omyla@uw.edu.pl 1 Introduction In 1966 famous Polish

More information

CSE 459/598: Logic for Computer Scientists (Spring 2012)

CSE 459/598: Logic for Computer Scientists (Spring 2012) CSE 459/598: Logic for Computer Scientists (Spring 2012) Time and Place: T Th 10:30-11:45 a.m., M1-09 Instructor: Joohyung Lee (joolee@asu.edu) Instructor s Office Hours: T Th 4:30-5:30 p.m. and by appointment

More information

4 Domain Relational Calculus

4 Domain Relational Calculus 4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is

More information

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook. Elementary Number Theory and Methods of Proof CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 1 Number theory Properties: 2 Properties of integers (whole

More information

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce

More information

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

More information

Updating Action Domain Descriptions

Updating Action Domain Descriptions Updating Action Domain Descriptions Thomas Eiter, Esra Erdem, Michael Fink, and Ján Senko Institute of Information Systems, Vienna University of Technology, Vienna, Austria Email: (eiter esra michael jan)@kr.tuwien.ac.at

More information

One More Decidable Class of Finitely Ground Programs

One More Decidable Class of Finitely Ground Programs One More Decidable Class of Finitely Ground Programs Yuliya Lierler and Vladimir Lifschitz Department of Computer Sciences, University of Texas at Austin {yuliya,vl}@cs.utexas.edu Abstract. When a logic

More information

CHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r.

CHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r. CHAPTER 2 Logic 1. Logic Definitions 1.1. Propositions. Definition 1.1.1. A proposition is a declarative sentence that is either true (denoted either T or 1) or false (denoted either F or 0). Notation:

More information

Compiler Design. Type Checking

Compiler Design. Type Checking Compiler Design Type Checking Static Checking Token Stream Parser Abstract Syntax Tree Static Checker Decorated Abstract Syntax Tree Intermediate Code Generator Intermediate Code Static (Semantic) Checks

More information

Introduction to type systems

Introduction to type systems Introduction to type systems p. 1/5 Introductory Course on Logic and Automata Theory Introduction to type systems Polyvios.Pratikakis@imag.fr Based on slides by Jeff Foster, UMD Introduction to type systems

More information

Foundational Proof Certificates

Foundational Proof Certificates An application of proof theory to computer science INRIA-Saclay & LIX, École Polytechnique CUSO Winter School, Proof and Computation 30 January 2013 Can we standardize, communicate, and trust formal proofs?

More information

Semantics for the Predicate Calculus: Part I

Semantics for the Predicate Calculus: Part I Semantics for the Predicate Calculus: Part I (Version 0.3, revised 6:15pm, April 14, 2005. Please report typos to hhalvors@princeton.edu.) The study of formal logic is based on the fact that the validity

More information

Expressive powver of logical languages

Expressive powver of logical languages July 18, 2012 Expressive power distinguishability The expressive power of any language can be measured through its power of distinction or equivalently, by the situations it considers indistinguishable.

More information

2. Abstract State Machines

2. Abstract State Machines 2. Abstract State Machines The notion of Abstract State Machines (ASMs), defined in [20], captures in mathematically rigorous yet transparent form some fundamental operational intuitions of computing,

More information

We would like to state the following system of natural deduction rules preserving falsity:

We would like to state the following system of natural deduction rules preserving falsity: A Natural Deduction System Preserving Falsity 1 Wagner de Campos Sanz Dept. of Philosophy/UFG/Brazil sanz@fchf.ufg.br Abstract This paper presents a natural deduction system preserving falsity. This new

More information

Introduction to Proofs

Introduction to Proofs Chapter 1 Introduction to Proofs 1.1 Preview of Proof This section previews many of the key ideas of proof and cites [in brackets] the sections where they are discussed thoroughly. All of these ideas are

More information

Computational Methods for Database Repair by Signed Formulae

Computational Methods for Database Repair by Signed Formulae Computational Methods for Database Repair by Signed Formulae Ofer Arieli (oarieli@mta.ac.il) Department of Computer Science, The Academic College of Tel-Aviv, 4 Antokolski street, Tel-Aviv 61161, Israel.

More information

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK SJÄLVSTÄNDIGA ARBETEN I MATEMATIK MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET Automated Theorem Proving av Tom Everitt 2010 - No 8 MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET, 106 91 STOCKHOLM

More information

Lecture 1. Basic Concepts of Set Theory, Functions and Relations

Lecture 1. Basic Concepts of Set Theory, Functions and Relations September 7, 2005 p. 1 Lecture 1. Basic Concepts of Set Theory, Functions and Relations 0. Preliminaries...1 1. Basic Concepts of Set Theory...1 1.1. Sets and elements...1 1.2. Specification of sets...2

More information

NASA Technical Memorandum 108991 (Revised) An Elementary Tutorial on Formal. Specication and Verication. Using PVS 2. Ricky W.

NASA Technical Memorandum 108991 (Revised) An Elementary Tutorial on Formal. Specication and Verication. Using PVS 2. Ricky W. NASA Technical Memorandum 108991 (Revised) An Elementary Tutorial on Formal Specication and Verication Using PVS 2 Ricky W. Butler September 1993 (revised June 1995) NASA National Aeronautics and Space

More information

Foundations of Mathematics I Set Theory (only a draft)

Foundations of Mathematics I Set Theory (only a draft) Foundations of Mathematics I Set Theory (only a draft) Ali Nesin Mathematics Department Istanbul Bilgi University Kuştepe Şişli Istanbul Turkey anesin@bilgi.edu.tr February 12, 2004 2 Contents I Naive

More information

Applications of Methods of Proof

Applications of Methods of Proof CHAPTER 4 Applications of Methods of Proof 1. Set Operations 1.1. Set Operations. The set-theoretic operations, intersection, union, and complementation, defined in Chapter 1.1 Introduction to Sets are

More information

Bindings, mobility of bindings, and the -quantifier

Bindings, mobility of bindings, and the -quantifier ICMS, 26 May 2007 1/17 Bindings, mobility of bindings, and the -quantifier Dale Miller, INRIA-Saclay and LIX, École Polytechnique This talk is based on papers with Tiu in LICS2003 & ACM ToCL, and experience

More information

Mathematical Induction. Lecture 10-11

Mathematical Induction. Lecture 10-11 Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach

More information

3. Mathematical Induction

3. Mathematical Induction 3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

More information

A Subatomic Proof System

A Subatomic Proof System A Subatomic Proof System Andrea Aler Tubella Alessio Guglielmi University of Bath In this work we show a proof system, called SA, that generates propositional proofs by employing a single, linear, simple

More information

First-Order Logics and Truth Degrees

First-Order Logics and Truth Degrees First-Order Logics and Truth Degrees George Metcalfe Mathematics Institute University of Bern LATD 2014, Vienna Summer of Logic, 15-19 July 2014 George Metcalfe (University of Bern) First-Order Logics

More information

Set Theory and Logic: Fundamental Concepts (Notes by Dr. J. Santos)

Set Theory and Logic: Fundamental Concepts (Notes by Dr. J. Santos) A.1 Set Theory and Logi: Fundamental Conepts (Notes by Dr. J. Santos) A.1. Primitive Conepts. In mathematis, the notion of a set is a primitive notion. That is, we admit, as a starting point, the existene

More information

4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2:

4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2: 4. CLASSES OF RINGS 4.1. Classes of Rings Normally we associate, with any property, a set of objects that satisfy that property. But problems can arise when we allow sets to be elements of larger sets

More information

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

More information

10.4 Traditional Subject Predicate Propositions

10.4 Traditional Subject Predicate Propositions M10_COPI1396_13_SE_C10.QXD 10/22/07 8:42 AM Page 445 10.4 Traditional Subject Predicate Propositions 445 Continuing to assume the existence of at least one individual, we can say, referring to this square,

More information

Foundations of Logic and Mathematics

Foundations of Logic and Mathematics Yves Nievergelt Foundations of Logic and Mathematics Applications to Computer Science and Cryptography Birkhäuser Boston Basel Berlin Contents Preface Outline xiii xv A Theory 1 0 Boolean Algebraic Logic

More information

MITES Physics III Summer Introduction 1. 3 Π = Product 2. 4 Proofs by Induction 3. 5 Problems 5

MITES Physics III Summer Introduction 1. 3 Π = Product 2. 4 Proofs by Induction 3. 5 Problems 5 MITES Physics III Summer 010 Sums Products and Proofs Contents 1 Introduction 1 Sum 1 3 Π Product 4 Proofs by Induction 3 5 Problems 5 1 Introduction These notes will introduce two topics: A notation which

More information

INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo

More information

From Workflow Design Patterns to Logical Specifications

From Workflow Design Patterns to Logical Specifications AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software

More information

Logic in general. Inference rules and theorem proving

Logic in general. Inference rules and theorem proving Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent

More information

Improving type-error messages in functional languages

Improving type-error messages in functional languages Improving type-error messages in Bastiaan Heeren Universiteit Utrecht January 5, 200 Contents Introduction Constraints Type inference rules Solving constraints Solving inconsistencies Future work Conclusion

More information

Software Engineering

Software Engineering Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method

More information

Peter V. Homeier and David F. Martin. homeier@cs.ucla.edu and dmartin@cs.ucla.edu

Peter V. Homeier and David F. Martin. homeier@cs.ucla.edu and dmartin@cs.ucla.edu A Mechanically Veried Verication Condition Generator Peter V. Homeier and David F. Martin Computer Science Department, University of California, Los Angeles 90024 USA homeier@cs.ucla.edu and dmartin@cs.ucla.edu

More information

AN INTRODUCTION TO SET THEORY. Professor William A. R. Weiss

AN INTRODUCTION TO SET THEORY. Professor William A. R. Weiss AN INTRODUCTION TO SET THEORY Professor William A. R. Weiss October 2, 2008 2 Contents 0 Introduction 7 1 LOST 11 2 FOUND 19 3 The Axioms of Set Theory 23 4 The Natural Numbers 31 5 The Ordinal Numbers

More information

Fuzzy Implication Rules. Adnan Yazıcı Dept. of Computer Engineering, Middle East Technical University Ankara/Turkey

Fuzzy Implication Rules. Adnan Yazıcı Dept. of Computer Engineering, Middle East Technical University Ankara/Turkey Fuzzy Implication Rules Adnan Yazıcı Dept. of Computer Engineering, Middle East Technical University Ankara/Turkey Fuzzy If-Then Rules Remember: The difference between the semantics of fuzzy mapping rules

More information

On strong fairness in UNITY

On strong fairness in UNITY On strong fairness in UNITY H.P.Gumm, D.Zhukov Fachbereich Mathematik und Informatik Philipps Universität Marburg {gumm,shukov}@mathematik.uni-marburg.de Abstract. In [6] Tsay and Bagrodia present a correct

More information

Relations: their uses in programming and computational specifications

Relations: their uses in programming and computational specifications PEPS Relations, 15 December 2008 1/27 Relations: their uses in programming and computational specifications Dale Miller INRIA - Saclay & LIX, Ecole Polytechnique 1. Logic and computation Outline 2. Comparing

More information

A Semantical Perspective on Verification of Knowledge

A Semantical Perspective on Verification of Knowledge A Semantical Perspective on Verification of Knowledge Paul Leemans, Jan Treur, Mark Willems Vrije Universiteit Amsterdam, Department of Artificial Intelligence De Boelelaan 1081a, 1081 HV Amsterdam The

More information

Announcements. CompSci 230 Discrete Math for Computer Science Sets. Introduction to Sets. Sets

Announcements. CompSci 230 Discrete Math for Computer Science Sets. Introduction to Sets. Sets CompSci 230 Discrete Math for Computer Science Sets September 12, 2013 Prof. Rodger Slides modified from Rosen 1 nnouncements Read for next time Chap. 2.3-2.6 Homework 2 due Tuesday Recitation 3 on Friday

More information

Indiana State Core Curriculum Standards updated 2009 Algebra I

Indiana State Core Curriculum Standards updated 2009 Algebra I Indiana State Core Curriculum Standards updated 2009 Algebra I Strand Description Boardworks High School Algebra presentations Operations With Real Numbers Linear Equations and A1.1 Students simplify and

More information

Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic

Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic Lars Birkedal Rasmus Ejlers Møgelberg Rasmus Lerchedahl Petersen IT University Technical Report Series TR-00-7 ISSN 600 600 February 00

More information

OutsideIn(X) Modular type inference with local assumptions

OutsideIn(X) Modular type inference with local assumptions Under consideration for publication in J. Functional Programming 1 OutsideIn(X) Modular type inference with local assumptions 11 April 2011 Dimitrios Vytiniotis Microsoft Research Simon Peyton Jones Microsoft

More information

Relational Calculus. Chapter Comp 521 Files and Databases Spring

Relational Calculus. Chapter Comp 521 Files and Databases Spring Relational Calculus Chapter 4.3-4.5 Comp 521 Files and Databases Spring 2010 1 Relational Calculus Comes in two flavors: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus has

More information

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example

Overview. Elements of Programming Languages. Advanced constructs. Motivating inner class example Overview Elements of Programming Languages Lecture 12: Object-oriented functional programming James Cheney University of Edinburgh November 6, 2015 We ve now covered: basics of functional and imperative

More information

1 Elementary Set Theory

1 Elementary Set Theory 1 Elementary Set Theory Notation: {} enclose a set. {1, 2, 3} = {3, 2, 2, 1, 3} because a set is not defined by order or multiplicity. {0, 2, 4,...} = {x x is an even natural number} because two ways of

More information

Applied Logic in Engineering

Applied Logic in Engineering Applied Logic in Engineering Logic Programming Technische Universität München Institut für Informatik Software & Systems Engineering Dr. Maria Spichkova M. Spichkova WS 2012/13: Applied Logic in Engineering

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information