LOGIC AND DISCRETE MATHEMATICS

Size: px
Start display at page:

Transcription

1 LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University of Saskatchewan PRENTICE HALL, Upper Saddle River, New Jersey 07458

2 Preface xv Propositional Calculus Logical Arguments and Propositions Introduction Some Important Logical Arguments Propositions 4 Logical Connectives Introduction Negation Conjunction Disjunction Conditional Biconditional Further Remarks on Connectives 12 Compound Propositions Introduction Logical Expressions Analysis of Compound Propositions Precedence Rules Evaluation of Expressions and Truth Tables Examples of Compound Propositions 21 Tautologies and Contradictions Introduction 23 Tautologies 24 19

3 yi Contents Tautologies and Sound Reasoning Contradictions Important Types of Tautologies Logical Equivalences and Their Use Introduction Proving Logical Equivalences by Truth Tables Statement Algebra Removing Conditionals and Biconditionals Essential Laws for Statement Algebra Shortcuts for Manipulating Expressions Normal Forms Truth Tables and Disjunctive Normal Forms Conjunctive Normal Forms and Complementation Logical Implications and Derivations Introduction Logical Implications Soundness Proofs through Truth Tables Proofs Systems for Derivations The Deduction Theorem 52 Predicate Calculus Syntactic Components of Predicate Calculus Introduction 60.2 The Universe of Discourse 60.3 Predicates 61.4 Variables and Instantiations 63.5 Quantifiers 65.6 Restrictions of Quantifiers to Certain Groups Interpretations and Validity Introduction Interpretations Validity Invalid Expressions Proving Validity Derivations Introduction Universal Instantiation Universal Generalization Deduction Theorem and Universal Generalization Dropping the Universal Quantifiers Existential Generalization Existential Instantiation 88

4 vii 2.4 Logical Equivalences Introduction Basic Logical Equivalences Other Important Equivalences Equational Logic Introduction Equality Equality and Uniqueness Functions and Equational Logic Function Compositions Properties of Operators Identity and Zero Elements Derivations in Equational Logic Equational Logic in Practice Boolean Algebra 115 Induction and Recursion Induction on Natural Numbers Introduction Natural Numbers Mathematical Induction Induction for Proving Properties of Addition Changing the Induction Base Strong Induction Sums and Related Constructs Introduction Recursive Definitions of Sums and Products Identities Involving Sums Double Sums and Matrices Proof by Recursion Introduction Recursive Definitions Descending Sequences The Principle of Proofs by Recursion Structural Induction Applications of Recursion to Programming Introduction Programming as Function Composition Recursion in Programs Programs Involving Trees Recursive Functions Introduction Primitive Recursive Functions 168

5 viii Contents Programming and Primitive Recursion Minimalization 173 Prolog Basic Prolog 178 Introduction 178 Facts, Rules, and Queries 179 Derivations Involving Facts 181 Derivations Involving Rules 183 Instantiations and Unification 186 Backtracking 188 Resolution 190 Running and Testing Programs Introduction Prolog Compilers and Interpreters Consulting a Database Debugging and Tracing 196 Additional Features of Prolog Introduction Input and Output Structures Infix Notation Arithmetic Equality Predicates 201 Recursion Introduction Recursive Predicates Termination Loops and Prolog Lists Recursive Predicates Involving Lists Successive Refinement 213 Negation in Prolog Introduction Prolog as a Logic Language Negation as Failure Use of the Clause Order Cuts 220 Application of Prolog to Logic Introduction 222 Lists as Logical Expressions 222 Representing Logical Expressions as Structures 224

6 ix Sets and Relations Sets and Set Operations Introduction 230 Sets and Their Members 231 Subsets 233 Intersections 235 Unions 236 Differences and Complements 237 Expressions Involving Sets 239 Tuples, Sequences, and Powersets Introduction Tuples and Cartesian Products Sequences and Strings Powersets Types and Signatures 248 Relations Introduction 251 Relations and Their Representation Domains and Ranges 254 Some Operations on Relations 255 Composition of Relations 257 Examples 261 Properties of Relations Introduction Relations on a Set Reflective Relations Symmetric Relations Transitivity Closures Equivalence Relations Partial Orders More About Functions Representations and Manipulations Involving Functions Introduction Definitions and Notation Representations of Functions The Lambda Notation Restrictions and Overloading Composition of Functions Injections, Surjections, and Inverses Creating Inverses by Creating Types 296

7 6.2 Enumerations, Isomorphisms, and Homomorphisms Introduction Enumerations Countable and Uncountable Sets Permutations and Combinations Isomorphisms and Homomorphisms Computational Complexity Introduction Polynomials and Polynomial-time Algorithms Functions and Algorithms Related to Exponentials The Limits of Computability Asymptotic Analysis Divide and Conquer Nondeterministic Polynomial Recurrence Relations Introduction Homogeneous Recurrence Relations Nonhomogeneous Recurrence Relations Miranda Introduction Command Level Function Definitions Types, Functions, and Declarations Pattern Matching and Rewriting A Programming Problem 348 Graphs and Trees Introduction and Examples of Graph Modeling Basic Definitions of Graph Theory 362 _7.3 Paths, Reachability, and Connectedness Computing Paths from a Matrix Representation of Graphs Traversing Graphs Represented as Adjacency Lists Introduction Adjacency Lists Representation of Graphs Breadth-first Search Depth-first Search Dijkstra's Algorithm for Finding Minimum Paths Trees and Spanning Trees Introduction Free Trees Spanning Trees Minimum Spanning Trees 416

8 xi 7.7 Scheduling Networks Introduction A Project Management Model Topological Sorting Formal Requirement Specification in Z Introduction Software Life Cycle Need for Formal Specifications Introduction to Z Introduction Alphabet and Lexical Elements Types and Declarations Specifying a System with Logic and Sets Schemas Relations Functions Sequences 472 Program Correctness Proofs Preliminary Concepts Introduction Programs and Codes Assertions Correctness General Rules Involving Preconditions and Postconditions Introduction Precondition Strengthening Postcondition Weakening Conjunction and Disjunction Rules Correctness Proofs in Loopless Code Introduction Assignment Statements Concatenation of Code The If-Statement Loops and Arrays Introduction A Preliminary While Rule The General While Rule Arrays Program Termination 515

9 xii Contents 10 Grammars, Languages, and Parsing Languages and Grammars Introduction Discussion of Grammars Formal Definition of a Language Notions of Syntax Analysis Ambiguous Grammars Reduced Grammars Top-down Parsing Introduction General Top-down Parsing Strategy Deterministic Top-down Parsing with LL(1) Grammars Derivations Derivations in Propositional Calculus Introduction Basics of Natural Derivation Implementation of the Deduction Theorem Resolution Some Results from Predicate Calculus Introduction Complements Prenex Normal Forms Derivations in Predicate Calculus Introduction Canonical Derivations Quantifiers in Natural Deduction Replacing Quantifiers by Functions and Free Variables Resolution in Predicate Calculus An Overview of Relational Database Systems Basic Concepts Introduction Definitions and Concepts Introductory Example of a Relational Database Overview of a Database System Relational Data Model Introduction 600 c Overview of the Relational Structure Relations and Their Schemas 602

10 xiii Representing Relations in the Relational Model Integrity Rules Relational Algebra Introduction Basic Operations Additional Relational Operations Examples Relational Calculus Introduction Tuple Calculus Examples Structured Query Language Introduction Data Definition Data Management Data Queries Concluding Remarks 637 Bibliography 641 Solutions to Even-numbered Problems 644 Index 736

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

DISCRETE MATHEMATICS

DISCRETE MATHEMATICS WITH APPLICATIONS THIRD EDITION SUSANNA S. EPP DePaul University THOIVISON * BROOKS/COLE Australia Canada Mexico Singapore Spain United Kingdom United States CONTENTS Chapter 1 The

Fundamentals of Discrete Mathematical Structures

Fundamentals of Discrete Mathematical Structures THIRD EDITION K.R. Chowdhary Campus Director JIET School of Engineering and Technology for Girls Jodhpur Delhi-110092 2015 FUNDAMENTALS OF DISCRETE MATHEMATICAL

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

Logic and its Applications

Logic and its Applications Edmund Burke and Eric Foxley PRENTICE HALL London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Contents Preface xiii Propositional logic 1 1.1 Informal introduction

EXTENSIONS OF FIRST ORDER LOGIC

EXTENSIONS OF FIRST ORDER LOGIC Maria Manzano University of Barcelona CAMBRIDGE UNIVERSITY PRESS Table of contents PREFACE xv CHAPTER I: STANDARD SECOND ORDER LOGIC. 1 1.- Introduction. 1 1.1. General

CSE 20 DISCRETE MATH. Fall

CSE 20 DISCRETE MATH Fall 2017 http://cseweb.ucsd.edu/classes/fa17/cse20-ab/ Final exam The final exam is Saturday December 16 11:30am-2:30pm. Lecture A will take the exam in Lecture B will take the exam

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

Preface About the Author Dependency Chart xiii xix xxi Chapter 1: Logic and Sets 1 1.1: Logical Operators: Statements and Truth Values, Negations, Conjunctions, and Disjunctions, Truth Tables, Conditional

CSE 20 DISCRETE MATH. Winter

CSE 20 DISCRETE MATH Winter 2017 http://cseweb.ucsd.edu/classes/wi17/cse20-ab/ Final exam The final exam is Saturday March 18 8am-11am. Lecture A will take the exam in GH 242 Lecture B will take the exam

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 Unit 1 : LINEAR DATA STRUCTURES Introduction - Abstract Data Types (ADT), Arrays and its representation Structures, Stack, Queue, Circular

Summary of Course Coverage

CS-227, Discrete Structures I Spring 2006 Semester Summary of Course Coverage 1) Propositional Calculus a) Negation (logical NOT) b) Conjunction (logical AND) c) Disjunction (logical inclusive-or) d) Inequalities

r=1 The Binomial Theorem. 4 MA095/98G Revision

Revision Read through the whole course once Make summary sheets of important definitions and results, you can use the following pages as a start and fill in more yourself Do all assignments again Do the

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

quanüfied Statements; valid well-formed formulas; comparison of propositional and predicate wffs. Exercises

Contents Preface xix Note to the Student xxv 1 Formal Logic 1 Chapter Objectives 1 1.1 Statements, Symbolic-Representation, and Tautologies 1 Statements and logical connectives; truth tables; well-formed

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

Introductory Combinatorics

Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS

Programming Languages Third Edition

Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered

Discrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London

Discrete Mathematics SECOND EDITION Norman L. Biggs Professor of Mathematics London School of Economics University of London OXFORD UNIVERSITY PRESS Contents PART I FOUNDATIONS Statements and proofs. 1

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

MATH 139 W12 Review 1 Checklist 1. Exam Checklist. 1. Introduction to Predicates and Quantified Statements (chapters ).

MATH 139 W12 Review 1 Checklist 1 Exam Checklist 1. Introduction to Predicates and Quantified Statements (chapters 3.1-3.4). universal and existential statements truth set negations of universal and existential

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Foundations of AI 9. Predicate Logic Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution Wolfram Burgard, Andreas Karwath, Bernhard Nebel, and Martin Riedmiller 09/1 Contents Motivation

Boolean Reasoning. The Logic of Boolean Equations. Frank Markham Brown Air Force Institute of Technology

Boolean Reasoning The Logic of Boolean Equations by Frank Markham Brown Air Force Institute of Technology ff Kluwer Academic Publishers Boston/Dordrecht/London Contents Preface Two Logical Languages Boolean

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions

A Survey of Mathematics with Applications 8 th Edition, 2009

A Correlation of A Survey of Mathematics with Applications 8 th Edition, 2009 South Carolina Discrete Mathematics Sample Course Outline including Alternate Topics and Related Objectives INTRODUCTION This

Computation Engineering Applied Automata Theory and Logic. Ganesh Gopalakrishnan University of Utah. ^J Springer

Computation Engineering Applied Automata Theory and Logic Ganesh Gopalakrishnan University of Utah ^J Springer Foreword Preface XXV XXVII 1 Introduction 1 Computation Science and Computation Engineering

FUZZY SPECIFICATION IN SOFTWARE ENGINEERING

1 FUZZY SPECIFICATION IN SOFTWARE ENGINEERING V. LOPEZ Faculty of Informatics, Complutense University Madrid, Spain E-mail: ab vlopez@fdi.ucm.es www.fdi.ucm.es J. MONTERO Faculty of Mathematics, Complutense

COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER. lg Cambridge UNIVERSITY PRESS

COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER lg Cambridge UNIVERSITY PRESS ^0 Contents Foreword page ix Preface xiii 1 Formal Study of Natural Language 1 1.1 The

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England

The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation

Contents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)

Contents Preface... (vii) Acknowledgements... (ix) 1 Introduction 1.1 Algorithm 1 1.2 Life Cycle of Design and Analysis of Algorithm 2 1.3 Pseudo-Code for Expressing Algorithms 5 1.4 Recursive Algorithms

Z Notation. June 21, 2018

Z Notation June 21, 2018 1 Definitions There are many different ways to introduce an object in a Z specification: declarations, abbreviations, axiomatic definitions, and free types. Keep in mind that the

Notation Index. Probability notation. (there exists) (such that) Fn-4 B n (Bell numbers) CL-27 s t (equivalence relation) GT-5.

Notation Index (there exists) (for all) Fn-4 Fn-4 (such that) Fn-4 B n (Bell numbers) CL-27 s t (equivalence relation) GT-5 ( n ) k (binomial coefficient) CL-15 ( n m 1,m 2,...) (multinomial coefficient)

Chapter 16. Logic Programming Languages

Chapter 16 Logic Programming Languages Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming The Origins of

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...

Contents 1 Introduction... 1 1.1 What is Competitive Programming?... 1 1.1.1 Programming Contests.... 2 1.1.2 Tips for Practicing.... 3 1.2 About This Book... 3 1.3 CSES Problem Set... 5 1.4 Other Resources...

R13 SET Discuss how producer-consumer problem and Dining philosopher s problem are solved using concurrency in ADA.

R13 SET - 1 III B. Tech I Semester Regular Examinations, November - 2015 1 a) What constitutes a programming environment? [3M] b) What mixed-mode assignments are allowed in C and Java? [4M] c) What is

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and

Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational

CSC Discrete Math I, Spring Sets

CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its

Software Engineering Lecture Notes

Software Engineering Lecture Notes Paul C. Attie August 30, 2013 c Paul C. Attie. All rights reserved. 2 Contents I Hoare Logic 11 1 Propositional Logic 13 1.1 Introduction and Overview..............................

HANDBOOK OF LOGIC IN ARTIFICIAL INTELLIGENCE AND LOGIC PROGRAMMING

HANDBOOK OF LOGIC IN ARTIFICIAL INTELLIGENCE AND LOGIC PROGRAMMING Volume 5 Logic Programming Edited by DOV M. GABBAY and C. J. HOGGER Imperial College of Science, Technology and Medicine London and J.

Logic Programming Languages

Logic Programming Languages Introduction Logic programming languages, sometimes called declarative programming languages Express programs in a form of symbolic logic Use a logical inferencing process to

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

Oxford University Press 2013 Slides for Faculty Assistance Preliminaries Author: Vivek Kulkarni vivek_kulkarni@yahoo.com Outline Following topics are covered in the slides: Basic concepts, namely, symbols,

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

CS 70 Discrete Mathematics for CS Spring 2005 Clancy/Wagner Notes 7 This lecture returns to the topic of propositional logic. Whereas in Lecture Notes 1 we studied this topic as a way of understanding

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Discrete Mathematics

About the Tutorial Discrete Mathematics is a branch of mathematics involving discrete elements that uses algebra and arithmetic. It is increasingly being applied in the practical fields of mathematics

Computational Discrete Mathematics

Computational Discrete Mathematics Combinatorics and Graph Theory with Mathematica SRIRAM PEMMARAJU The University of Iowa STEVEN SKIENA SUNY at Stony Brook CAMBRIDGE UNIVERSITY PRESS Table of Contents

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) \$ Pumping Lemma for

The Algorithm Design Manual

Steven S. Skiena The Algorithm Design Manual With 72 Figures Includes CD-ROM THE ELECTRONIC LIBRARY OF SCIENCE Contents Preface vii I TECHNIQUES 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 2 2.1 2.2 2.3

Example: NFA to DFA Conversion

CPSC 121 Lecture 36 April 8, 2009 Menu April 8, 2009 Topics: Example: NFA to DFA Conversion Final Reading List Summary The End! Reminders: On-line Quiz 12 deadline 5:00pm TODAY Teaching evaluation survey

Relational Databases

Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

Notation Index 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coef

Notation 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coefficient) CL-14 (multinomial coefficient) CL-18 n m 1 ;m 2

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

Logic (or Declarative) Programming Foundations: Prolog. Overview [1]

Logic (or Declarative) Programming Foundations: Prolog In Text: Chapter 12 Formal logic Logic programming Prolog Overview [1] N. Meng, S. Arthur 2 1 Logic Programming To express programs in a form of symbolic

Chapter 16. Logic Programming Languages ISBN

Chapter 16 Logic Programming Languages ISBN 0-321-49362-1 Chapter 16 Topics Introduction A Brief Introduction to Predicate Calculus Predicate Calculus and Proving Theorems An Overview of Logic Programming

Michael Hanus (CAU Kiel) Multi-paradigm Declarative Languages ICLP 2007 1 Multi-paradigm Declarative Languages Michael Hanus Christian-Albrechts-University of Kiel Programming Languages and Compiler Construction

An Introduction to Programming and Proving in Agda (incomplete draft)

An Introduction to Programming and Proving in Agda (incomplete draft) Peter Dybjer January 29, 2018 1 A first Agda module Your first Agda-file is called BoolModule.agda. Its contents are module BoolModule

2.2 Set Operations. Introduction DEFINITION 1. EXAMPLE 1 The union of the sets {1, 3, 5} and {1, 2, 3} is the set {1, 2, 3, 5}; that is, EXAMPLE 2

2.2 Set Operations 127 2.2 Set Operations Introduction Two, or more, sets can be combined in many different ways. For instance, starting with the set of mathematics majors at your school and the set of

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

Module 6 Knowledge Representation and Logic (First Order Logic) 6.1 Instructional Objective Students should understand the advantages of first order logic as a knowledge representation language Students

Introduction to Algorithms Third Edition

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein Introduction to Algorithms Third Edition The MIT Press Cambridge, Massachusetts London, England Preface xiü I Foundations Introduction

Part I Basic Concepts 1

Introduction xiii Part I Basic Concepts 1 Chapter 1 Integer Arithmetic 3 1.1 Example Program 3 1.2 Computer Program 4 1.3 Documentation 5 1.4 Input 6 1.5 Assignment Statement 7 1.5.1 Basics of assignment

Lecture 5. Logic I. Statement Logic

Ling 726: Mathematical Linguistics, Logic. Statement Logic V. Borschev and B. Partee, September 27, 2 p. Lecture 5. Logic I. Statement Logic. Statement Logic...... Goals..... Syntax of Statement Logic....2.

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions

Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions The AI War How machines should learn: inductive or deductive? Deductive: Expert => rules =>

CONTENTS Equivalence Classes Partition Intersection of Equivalence Relations Example Example Isomorphis

Contents Chapter 1. Relations 8 1. Relations and Their Properties 8 1.1. Definition of a Relation 8 1.2. Directed Graphs 9 1.3. Representing Relations with Matrices 10 1.4. Example 1.4.1 10 1.5. Inverse

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6

Appendix Set Notation and Concepts

Appendix Set Notation and Concepts In mathematics you don t understand things. You just get used to them. John von Neumann (1903 1957) This appendix is primarily a brief run-through of basic concepts from

Implementação de Linguagens 2016/2017

Implementação de Linguagens Ricardo Rocha DCC-FCUP, Universidade do Porto ricroc @ dcc.fc.up.pt Ricardo Rocha DCC-FCUP 1 Logic Programming Logic programming languages, together with functional programming

Typed Lambda Calculus

Department of Linguistics Ohio State University Sept. 8, 2016 The Two Sides of A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a system of notation for functions

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Discrete Mathematics

About the Tutorial Discrete Mathematics is a branch of mathematics involving discrete elements that uses algebra and arithmetic. It is increasingly being applied in the practical fields of mathematics

Introduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1

Introduction to Automata Theory BİL405 - Automata Theory and Formal Languages 1 Automata, Computability and Complexity Automata, Computability and Complexity are linked by the question: What are the fundamental

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus

M.C.A. DEGREE EXAMINATION, MAY First Year. Paper I INFORMATION TECHNOLOGY. SECTION A (3 15 = 45 marks) Answer any THREE of the following.

Paper I INFORMATION TECHNOLOGY Answer any THREE of the following. 1. Explain Architecture of computer in detail. 2. Explain in detail about Input and Output technologies. 3. What is MODEM? What factors

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning

9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS

What is discrete? Sets (Rosen, Chapter 2) TOPICS Discrete math Set Definition Set Operations Tuples Consisting of distinct or unconnected elements, not continuous (calculus) Helps us in Computer Science

Torben./Egidius Mogensen. Introduction. to Compiler Design. ^ Springer

Torben./Egidius Mogensen Introduction to Compiler Design ^ Springer Contents 1 Lexical Analysis 1 1.1 Regular Expressions 2 1.1.1 Shorthands 4 1.1.2 Examples 5 1.2 Nondeterministic Finite Automata 6 1.3

STUDENT NUMBER: MATH Final Exam. Lakehead University. April 13, Dr. Adam Van Tuyl

Page 1 of 13 NAME: STUDENT NUMBER: MATH 1281 - Final Exam Lakehead University April 13, 2011 Dr. Adam Van Tuyl Instructions: Answer all questions in the space provided. If you need more room, answer on

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214

Theorem proving PVS theorem prover Abhik Roychoudhury National University of Singapore Both specification and implementation can be formalized in a suitable logic. Proof rules for proving statements in

The International Olympiad in Informatics Syllabus

The International Olympiad in Informatics Syllabus 1 Version and status information This is the official Syllabus version for IOI 2009 in Plovdiv, Bulgaria. The Syllabus is an official document related

COSC252: Programming Languages: Semantic Specification. Jeremy Bolton, PhD Adjunct Professor

COSC252: Programming Languages: Semantic Specification Jeremy Bolton, PhD Adjunct Professor Outline I. What happens after syntactic analysis (parsing)? II. Attribute Grammars: bridging the gap III. Semantic

Introduction to Sets and Logic (MATH 1190)

Introduction to Sets and Logic () Instructor: Email: shenlili@yorku.ca Department of Mathematics and Statistics York University Dec 4, 2014 Outline 1 2 3 4 Definition A relation R from a set A to a set

About the Authors... iii Introduction... xvii. Chapter 1: System Software... 1

Table of Contents About the Authors... iii Introduction... xvii Chapter 1: System Software... 1 1.1 Concept of System Software... 2 Types of Software Programs... 2 Software Programs and the Computing Machine...

M.Sc. (Computer Science) I Year Assignments for May Paper I DATA STRUCTURES Assignment I

Paper I DATA STRUCTURES (DMCS 01) 1. Explain in detail about the overview of Data structures. 2. Explain circular linked list and double-linked list. 3. Explain CPU scheduling in Multiprogramming Environment.

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate

Proving Theorems with Athena

Proving Theorems with Athena David R. Musser Aytekin Vargun August 28, 2003, revised January 26, 2005 Contents 1 Introduction 1 2 Proofs about order relations 2 3 Proofs about natural numbers 7 3.1 Term

THEORY OF COMPUTATION

THEORY OF COMPUTATION UNIT-1 INTRODUCTION Overview This chapter begins with an overview of those areas in the theory of computation that are basic foundation of learning TOC. This unit covers the introduction

CLASSIC DATA STRUCTURES IN JAVA

CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS

Negations in Refinement Type Systems

Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

Data Integration: Logic Query Languages

Data Integration: Logic Query Languages Jan Chomicki University at Buffalo Datalog Datalog A logic language Datalog programs consist of logical facts and rules Datalog is a subset of Prolog (no data structures)

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:

JAVA PROGRAMMING UNIT-1: Introduction To Java, Getting Started With Java, Applets And Application, Creating A Java Application, Creating A Java Applets, Object Oriented Programming In Java, Object And

THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS

2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. THE DESIGN AND ANALYSIS OF COMPUTER ALGORITHMS Alfred V. Aho Bell

Operational Semantics

15-819K: Logic Programming Lecture 4 Operational Semantics Frank Pfenning September 7, 2006 In this lecture we begin in the quest to formally capture the operational semantics in order to prove properties

ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES. Nikolay Kosovskiy

International Journal Information Theories and Applications, Vol. 20, Number 2, 2013 131 ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES Nikolay Kosovskiy Abstract: A mathematical

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

Part I Logic programming paradigm

Part I Logic programming paradigm 1 Logic programming and pure Prolog 1.1 Introduction 3 1.2 Syntax 4 1.3 The meaning of a program 7 1.4 Computing with equations 9 1.5 Prolog: the first steps 15 1.6 Two

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS by Gary D. Hachtel University of Colorado Fabio Somenzi University of Colorado Springer Contents I Introduction 1 1 Introduction 5 1.1 VLSI: Opportunity and

I BSc(Computer Science)[ ] Semester - II Allied:DISCRETE MATHEMATICS - 207D Multiple Choice Questions.

1 of 23 1/20/2018, 2:35 PM Dr.G.R.Damodaran College of Science (Autonomous, affiliated to the Bharathiar University, recognized by the UGC)Reaccredited at the 'A' Grade Level by the NAAC and ISO 9001:2008

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS Definition 1.1. Let X be a set and T a subset of the power set P(X) of X. Then T is a topology on X if and only if all of the following