Inductive Definitions with Inference Rules 1 / 27
|
|
- Naomi Harper
- 5 years ago
- Views:
Transcription
1 Inductive Definitions with Inference Rules 1 / 27
2 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction 2 / 27
3 What are inference rules? Inference rules a mathematical metalanguage For specifying and formally reasoning about inductive definitions Inductive definition Recursively defines something in terms of itself premises Human(x) Mortal(x) Mortal(x) Human(x) conclusion Introduction 3 / 27
4 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Specifying inductive definitions 4 / 27
5 Other metalanguages for specifying inductive definitions Haskell data types data Nat = Z S Nat data Exp = Add Exp Exp Neg Exp Lit Nat Recursive functions in Haskell even :: Nat -> Bool even Z = True even (S Z) = False even (S (S n)) = even n Grammars n Nat ::= Z S n e Exp ::= add e e neg e n Can also define all of these with inference rules! Specifying inductive definitions 5 / 27
6 Example: defining syntax by inference rules Grammars n Nat ::= Z S n e Exp ::= add e e neg e n rule schema Z Nat axiom (no premises) n Nat S n Nat n Nat n Exp e Exp neg e Exp e 1 Exp e 2 Exp add e 1 e 2 Exp Specifying inductive definitions 6 / 27
7 Example: defining a predicate Recursive function in Haskell even :: Nat -> Bool even Z = True even (S Z) = False even (S (S n)) = even n Option 1: Constructive judgment Even(n) Even(Z) Even(S (S n)) Option 2: Relate inputs to outputs Even(Z, true) Even(S Z, false) Even(n, b) Even(S (S n), b) Specifying inductive definitions 7 / 27
8 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Specifying inductive definitions 8 / 27
9 The structure of a definition How to define a concept in three parts: 1. syntax how to express the concept 2. type what kind of information does it relate? 3. content the definition itself Example: dictionary definition Syntax: e ven ēv n Type: adjective Content: (of a number) divisible by two without a remainder e Example: function definition even :: Nat -> Bool even Z = True even (S Z) = False even (S (S n)) = even n Specifying inductive definitions 9 / 27
10 How to define a concept using inference rules 1. Define a judgment form syntax and type States that one or more values have some property or exist in some relation to each other 2. Write down the rules for the judgment content axioms base cases, only conclusion proper rules recursive cases, premises + conclusion Specifying inductive definitions 10 / 27
11 Judgments 1. Define a judgment form syntax and type States that one or more values have some property or exist in some relation to each other Syntax Type Property or relation n Nat AST n is in the syntactic category Nat Even(n) Nat n is an even number n 1 < n 2 Nat Nat n 1 is less than n 2 e : T Exp Type e has type T Γ e : T Env Exp Type e has type T in environment Γ Specifying inductive definitions 11 / 27
12 Set theoretic view of judgments A judgment is (conceptually) a predicate that indicates set membership Example: Even(n) Nat Even : Nat B = {(Z, true), (S Z, false), (S (S Z), true),...} {Z, S (S Z), S (S (S (S Z))),...} Nat Example: n 1 < n 2 Nat Nat < : Nat Nat B = {((0, 0), false), ((0, 1), true),... ((5, 3), false),... ((5, 7), true),...} {(0, 1),... (5, 7),...} Nat Nat Specifying inductive definitions 12 / 27
13 Giving meaning to a judgment by inference rules 2. Write down the rules of the judgment content axioms base cases, only conclusion proper rules recursive cases, premises + conclusion Inductively defines the instances of a judgment (i.e. members of its set) Rules for: Even(n) Nat Rules for: n 1 < n 2 Nat Nat Even(Z) Even(n) Even(S (S n)) Z < S Z n 1 < n 2 n 1 < S n 2 n 1 < n 2 S n 1 < S n 2 Specifying inductive definitions 13 / 27
14 Exercises 1. Define the judgment: Odd(n) Nat 2. Define the judgment: n 1 + n 2 = n 3 Nat Nat Nat For reference: Rules for: Even(n) Nat Rules for: n 1 < n 2 Nat Nat Even(Z) Even(n) Even(S (S n)) Z < S Z n 1 < n 2 n 1 < S n 2 n 1 < n 2 S n 1 < S n 2 Specifying inductive definitions 14 / 27
15 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Reasoning about inductive definitions 15 / 27
16 Expressing claims We can use inference rules to express claims about judgments Examples S (S Z) Nat Even(S n) Odd(n) n 1 < n 2 n 2 < n 3 n 1 < n 3 n 1 + n 2 = n 3 n 2 + n 1 = n 3 How can we prove these claims? Use definition of judgment and one of three main techniques: 1. direct proof derive conclusion from premises using the definition 2. admissibility derive conclusion from derivations of premises 3. rule induction reason inductively using the definition Reasoning about inductive definitions 16 / 27
17 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Reasoning about inductive definitions 17 / 27
18 Direct proof by derivation Definition: n Nat Succ n Nat Z Nat S n Nat Definition: n 1 < n 2 Nat Nat Z < S Z S n 1 < n 2 n 1 < S n 2 +1 n 1 < n 2 S n 1 < S n 2 Succ Z Nat S Z Nat Succ S (S Z) Nat +1 Z < S Z S Z < S (S Z) S Z < S (S (S Z)) Reasoning about inductive definitions 18 / 27
19 Proof trees Definition: e Exp Axioms: 0 Nat, 1 Nat, 2 Nat,... lit n Nat n Exp neg e Exp neg e Exp add e 1 Exp e 2 Exp add e 1 e 2 Exp lit 2 Nat lit 3 Nat lit 4 Nat add neg add 2 3 Exp neg 4 Exp add add (add 2 3) (neg 4) Exp Reasoning about inductive definitions 19 / 27
20 Exercises Prove that the following expressions are valid terms in Exp 1. neg (add 5 (neg 2)) 2. add (neg (neg 3)) 4 Definition: e Exp Axioms: 0 Nat, 1 Nat, 2 Nat,... lit n Nat n Exp neg e Exp neg e Exp add e 1 Exp e 2 Exp add e 1 e 2 Exp Reasoning about inductive definitions 20 / 27
21 Philosophical point: intension vs. extension Intensional definition: a description of the meaning of a judgment captured by the inference rules directly Extensional meaning: the set of all instances that satisfy the judgment derivable from the inference rules Syntax Intension: definition by grammar Extension: set of all ASTs Function (example) Intension: f (x) = x + 3 Extension: {... (1, 4), (2, 5), (3, 6),...} Reasoning about inductive definitions 21 / 27
22 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Reasoning about inductive definitions 22 / 27
23 Admissibility An alternative way to prove a claim, based on constructing proofs from assumed derivations of the premises Proof technique Assume the definition of the judgment is complete all valid judgments can be derived from axioms using only the rules in the definition Then, if the premise of a claim is satisfied, it must have a derivation key insight: use derivations to construct a proof of the conclusion Show that all derivations of premises yield a proof of the conclusion basically, apply definition rules backwards and prove for each case Reasoning about inductive definitions 23 / 27
24 Super simple example Definition: n Nat AST Succ n Nat Z Nat S n Nat Bold claim S (S n) Nat n Nat Proof sketch: Enumerate derivations of premise Show that each derivation proves the conclusion Only possible derivation Succ n Nat S n Nat Succ S (S n) Nat Reasoning about inductive definitions 24 / 27
25 Outline Introduction Specifying inductive definitions Inference rules in action Judgments, axioms, and rules Reasoning about inductive definitions Direct proofs Admissibility Rule induction Reasoning about inductive definitions 25 / 27
26 Rule induction Just like structural induction on inductive data types! Definition: e Exp AST n Nat n Exp e Exp neg e Exp e 1 Exp e 2 Exp add e 1 e 2 Exp Suppose I want to prove property P on all Exps. Just prove: n Nat, P(n) P(e) P(neg e) P(e 1 ) P(e 2 ) P(add e 1 e 2 ) Reasoning about inductive definitions 26 / 27
27 Example: admissibility + rule induction Def: n 1 < n 2 (Nat Nat) Claim Z Z < S n +LR n 1 < n 2 S n 1 < S n 2 +R n 1 < n 2 n 1 < S n 2 Derivation 1: Let n 1 = Z, n 2 = S n 2 Plug into claim: +R Z Z < S n 2 Z < S n 2 Z < S (S n 2 ) Direct proof with Z, n = S n 2 Derivation 2: Let n 1 = S n 1, n 2 = S n 2 Plug into claim: +R n 1 < n 2 S n 1 < S (S n 2 ) S n 1 < S n 2 S (S n 1 ) < S (S (S n 2 )) Rule +LR, then induction hypothesis Reasoning about inductive definitions 27 / 27
INDUCTIVE DEFINITION
1 INDUCTIVE DEFINITION OUTLINE Judgements Inference Rules Inductive Definition Derivation Rule Induction 2 META-VARIABLES A symbol in a meta-language that is used to describe some element in an object
More informationInductive Definitions
University of Science and Technology of China (USTC) 09/26/2011 Judgments A judgment states that one or more syntactic objects have a property or stand in some relation to one another. The property or
More informationSupplementary Notes on Inductive Definitions
Supplementary Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 29, 2002 These supplementary notes review the notion of an inductive definition
More informationPredicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)
University of Science and Technology of China (USTC) 09/26/2011 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 September 2, 2004 These supplementary notes review the notion of an inductive definition and
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 28, 2003 These supplementary notes review the notion of an inductive definition and give
More informationPropositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST
Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula
More informationModel Theory in the Univalent Foundations
Model Theory in the Univalent Foundations Dimitris Tsementzis January 11, 2017 1 Introduction 2 Homotopy Types and -Groupoids 3 FOL = 4 Prospects Section 1 Introduction Old and new Foundations (A) (B)
More informationPredicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC)
University of Science and Technology of China (USTC) 11/20/2013 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?
More informationNICTA Advanced Course. Theorem Proving Principles, Techniques, Applications
NICTA Advanced Course Theorem Proving Principles, Techniques, Applications λ 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic, natural
More informationAxiomatic Semantics. Semantics of Programming Languages course. Joosep Rõõmusaare
Axiomatic Semantics Semantics of Programming Languages course Joosep Rõõmusaare 2014 Direct Proofs of Program Correctness Partial correctness properties are properties expressing that if a given program
More informationCVO103: Programming Languages. Lecture 2 Inductive Definitions (2)
CVO103: Programming Languages Lecture 2 Inductive Definitions (2) Hakjoo Oh 2018 Spring Hakjoo Oh CVO103 2018 Spring, Lecture 2 March 13, 2018 1 / 20 Contents More examples of inductive definitions natural
More informationINTRODUCTION TO LOGIC. Propositional Logic. Examples of syntactic claims
Introduction INTRODUCTION TO LOGIC 2 Syntax and Semantics of Propositional Logic Volker Halbach In what follows I look at some formal languages that are much simpler than English and define validity of
More informationLearning Goals of CS245 Logic and Computation
Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Formal proofs; Simple/strong induction; Mutual induction; Inductively defined sets; Recursively defined functions. Lecture 3 Ana Bove
More informationLogic, Sets, and Proofs
Logic, Sets, and Proofs David A. Cox and Catherine C. McGeoch Amherst College 1 Logic Logical Operators. A logical statement is a mathematical statement that can be assigned a value either true or false.
More informationPredicate Logic. x. x + 0 = x. Predicate logic over integer expressions: a language of logical assertions, for example. Why discuss predicate logic?
Predicate Logic Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic? It is an example of a simple language It has simple denotational
More informationCS522 - Programming Language Semantics
1 CS522 - Programming Language Semantics Simply Typed Lambda Calculus Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 We now discuss a non-trivial extension of
More informationHoare Examples & Proof Theory. COS 441 Slides 11
Hoare Examples & Proof Theory COS 441 Slides 11 The last several lectures: Agenda Denotational semantics of formulae in Haskell Reasoning using Hoare Logic This lecture: Exercises A further introduction
More informationKnowledge representation DATA INFORMATION KNOWLEDGE WISDOM. Figure Relation ship between data, information knowledge and wisdom.
Knowledge representation Introduction Knowledge is the progression that starts with data which s limited utility. Data when processed become information, information when interpreted or evaluated becomes
More informationOutline. A recursive function follows the structure of inductively-defined data.
Outline A recursive function follows the structure of inductively-defined data. With lists as our example, we shall study 1. inductive definitions (to specify data) 2. recursive functions (to process data)
More informationIntroduction to type theory and homotopy theory
Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 1 / 47 Homotopy theory Homotopy type theory types have a homotopy theory Intensional type theory New perspectives on extensional
More information1 / A bird s-eye view of type theory. 2 A bird s-eye view of homotopy theory. 3 Path spaces and identity types. 4 Homotopy type theory
Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 Homotopy theory Homotopy type theory types have a homotopy theory New perspectives on extensional vs. intensional Intensional
More informationTyping λ-terms. Types. Typed λ-terms. Base Types. The Typing Relation. Advanced Formal Methods. Lecture 3: Simply Typed Lambda calculus
Course 2D1453, 200607 Advanced Formal Methods Lecture 3: Simply Typed Lambda calculus Mads Dam KTH/CSC Some material from B. Pierce: TAPL + some from G. Klein, NICTA Typing λterms The uptyped λcalculus
More informationDiscrete Mathematics
Discrete Mathematics Jeremy Siek Spring 2010 Jeremy Siek Discrete Mathematics 1 / 20 Outline of Lecture 4 1. Overview of First-Order Logic 2. Beyond Booleans: natural numbers, integers, etc. 3. Universal
More informationPropositional Calculus - Deductive Systems
Propositional Calculus - Deductive Systems Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Deductive proofs (1/3) Suppose we want to know
More informationAN INTRODUCTION TO SEPARATION LOGIC. 2. Assertions
AN INTRODUCTION TO SEPARATION LOGIC 2. Assertions John C. Reynolds Carnegie Mellon University January 7, 2011 c 2011 John C. Reynolds Pure Assertions An assertion p is pure iff, for all stores s and all
More informationLogic for Computer Science - Week 2 The Syntax of Propositional Logic
Logic for Computer Science - Week 2 The Syntax of Propositional Logic Ștefan Ciobâcă November 30, 2017 1 An Introduction to Logical Formulae In the previous lecture, we have seen what makes an argument
More information1. Model existence theorem.
We fix a first order logic F such that 1. Model existence theorem. C. We let S be the set of statements of F and we suppose Γ S. We let VFT be the set of variable free terms. For each s VFT we let [s]
More informationReasoning with Higher-Order Abstract Syntax and Contexts: A Comparison
1 Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison Amy Felty University of Ottawa July 13, 2010 Joint work with Brigitte Pientka, McGill University 2 Comparing Systems We focus on
More informationChapter 2. Assertions. An Introduction to Separation Logic c 2011 John C. Reynolds February 3, 2011
Chapter 2 An Introduction to Separation Logic c 2011 John C. Reynolds February 3, 2011 Assertions In this chapter, we give a more detailed exposition of the assertions of separation logic: their meaning,
More informationProof Techniques (Review of Math 271)
Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil
More informationPropositional Logic: Deductive Proof & Natural Deduction Part 1
Propositional Logic: Deductive Proof & Natural Deduction Part 1 CS402, Spring 2016 Shin Yoo Deductive Proof In propositional logic, a valid formula is a tautology. So far, we could show the validity of
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationDiscrete Mathematics. Spring 2017
Discrete Mathematics Spring 2017 Previous Lecture Principle of Mathematical Induction Mathematical Induction: Rule of Inference Mathematical Induction: Conjecturing and Proving Mathematical Induction:
More informationPropositional Logic: Syntax
4 Propositional Logic: Syntax Reading: Metalogic Part II, 22-26 Contents 4.1 The System PS: Syntax....................... 49 4.1.1 Axioms and Rules of Inference................ 49 4.1.2 Definitions.................................
More informationCOSE212: Programming Languages. Lecture 1 Inductive Definitions (1)
COSE212: Programming Languages Lecture 1 Inductive Definitions (1) Hakjoo Oh 2017 Fall Hakjoo Oh COSE212 2017 Fall, Lecture 1 September 4, 2017 1 / 9 Inductive Definitions Inductive definition (induction)
More information185.A09 Advanced Mathematical Logic
185.A09 Advanced Mathematical Logic www.volny.cz/behounek/logic/teaching/mathlog13 Libor Běhounek, behounek@cs.cas.cz Lecture #1, October 15, 2013 Organizational matters Study materials will be posted
More informationLecture 7. Logic. Section1: Statement Logic.
Ling 726: Mathematical Linguistics, Logic, Section : Statement Logic V. Borschev and B. Partee, October 5, 26 p. Lecture 7. Logic. Section: Statement Logic.. Statement Logic..... Goals..... Syntax of Statement
More informationContext Free Grammars
Automata and Formal Languages Context Free Grammars Sipser pages 101-111 Lecture 11 Tim Sheard 1 Formal Languages 1. Context free languages provide a convenient notation for recursive description of languages.
More informationIntelligent Agents. First Order Logic. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 19.
Intelligent Agents First Order Logic Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University last change: 19. Mai 2015 U. Schmid (CogSys) Intelligent Agents last change: 19. Mai 2015
More informationType Inference. For the Simply-Typed Lambda Calculus. Peter Thiemann, Manuel Geffken. Albert-Ludwigs-Universität Freiburg. University of Freiburg
Type Inference For the Simply-Typed Lambda Calculus Albert-Ludwigs-Universität Freiburg Peter Thiemann, Manuel Geffken University of Freiburg 24. Januar 2013 Outline 1 Introduction 2 Applied Lambda Calculus
More informationConsequence Relations and Natural Deduction
Consequence Relations and Natural Deduction Joshua D. Guttman Worcester Polytechnic Institute September 9, 2010 Contents 1 Consequence Relations 1 2 A Derivation System for Natural Deduction 3 3 Derivations
More informationIntroduction to Semantics. The Formalization of Meaning 1
The Formalization of Meaning 1 1. Obtaining a System That Derives Truth Conditions (1) The Goal of Our Enterprise To develop a system that, for every sentence S of English, derives the truth-conditions
More informationCOSE212: Programming Languages. Lecture 1 Inductive Definitions (1)
COSE212: Programming Languages Lecture 1 Inductive Definitions (1) Hakjoo Oh 2018 Fall Hakjoo Oh COSE212 2018 Fall, Lecture 1 September 5, 2018 1 / 10 Inductive Definitions Inductive definition (induction)
More informationCHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC
CHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC 1 Motivation and History The origins of the classical propositional logic, classical propositional calculus, as it was, and still often is called,
More informationCSE20: Discrete Mathematics
Spring 2018 Summary Today: Induction, Program Correctness Reading: Chap. 5 Division Theorem Theorem: For every integer a and positive integer d 1, there exist integers q, r such that a = qd + r and 0 r
More informationThe Absoluteness of Constructibility
Lecture: The Absoluteness of Constructibility We would like to show that L is a model of V = L, or, more precisely, that L is an interpretation of ZF + V = L in ZF. We have already verified that σ L holds
More informationLecture Notes on Logic Programming
Lecture Notes on Logic Programming 15-317: Constructive Logic Frank Pfenning Lecture 13 October 2, 2015 1 Computation vs Deduction The previous lectures explored a connection between logic and computation
More informationCS558 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 informationMAI0203 Lecture 7: Inference and Predicate Calculus
MAI0203 Lecture 7: Inference and Predicate Calculus Methods of Artificial Intelligence WS 2002/2003 Part II: Inference and Knowledge Representation II.7 Inference and Predicate Calculus MAI0203 Lecture
More informationSEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION
CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.4 Strong Mathematical Induction and the Well-Ordering Principle for the Integers Copyright
More informationLecture 11: Measuring the Complexity of Proofs
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 11: Measuring the Complexity of Proofs David Mix Barrington and Alexis Maciel July
More informationCOMP 3161/9161 Week 2
Concepts of Programming Languages Judgements, Inference Rules & Proofs Lecturer: Gabriele Keller Tutor: Liam O Connor University of New South Wales School of Computer Sciences & Engineering Sydney, Australia
More informationCompleteness for FOL
Completeness for FOL Overview Adding Witnessing Constants The Henkin Theory The Elimination Theorem The Henkin Construction Lemma 12 This lemma assures us that our construction of M h works for the atomic
More informationSub-λ-calculi, Classified
Electronic Notes in Theoretical Computer Science 203 (2008) 123 133 www.elsevier.com/locate/entcs Sub-λ-calculi, Classified François-Régis Sinot Universidade do Porto (DCC & LIACC) Rua do Campo Alegre
More informationMathematical Induction
Mathematical Induction MAT30 Discrete Mathematics Fall 018 MAT30 (Discrete Math) Mathematical Induction Fall 018 1 / 19 Outline 1 Mathematical Induction Strong Mathematical Induction MAT30 (Discrete Math)
More informationPropositional Calculus - Hilbert system H Moonzoo Kim CS Dept. KAIST
Propositional Calculus - Hilbert system H Moonzoo Kim CS Dept. KAIST moonzoo@cs.kaist.ac.kr CS402 1 Review Goal of logic To check whether given a formula Á is valid To prove a given formula Á ` Á Syntactic
More informationNote that r = 0 gives the simple principle of induction. Also it can be shown that the principle of strong induction follows from simple induction.
Proof by mathematical induction using a strong hypothesis Occasionally a proof by mathematical induction is made easier by using a strong hypothesis: To show P(n) [a statement form that depends on variable
More informationMATH 215 Final. M4. For all a, b in Z, a b = b a.
MATH 215 Final We will assume the existence of a set Z, whose elements are called integers, along with a well-defined binary operation + on Z (called addition), a second well-defined binary operation on
More informationn(n + 1). 2 . If n = 3, then 1+2+3=6= 3(3+1) . If n = 2, then = 3 = 2(2+1)
Chapter 4 Induction In this chapter, we introduce mathematical induction, which is a proof technique that is useful for proving statements of the form (8n N)P(n), or more generally (8n Z)(n a =) P(n)),
More informationThe semantics of propositional logic
The semantics of propositional logic Readings: Sections 1.3 and 1.4 of Huth and Ryan. In this module, we will nail down the formal definition of a logical formula, and describe the semantics of propositional
More informationGödel s Incompleteness Theorem. Overview. Computability and Logic
Gödel s Incompleteness Theorem Overview Computability and Logic Recap Remember what we set out to do in this course: Trying to find a systematic method (algorithm, procedure) which we can use to decide,
More informationWhat are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos
What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos armandobcm@yahoo.com February 5, 2014 Abstract This note is for personal use. It
More informationComplete Induction and the Well- Ordering Principle
Complete Induction and the Well- Ordering Principle Complete Induction as a Rule of Inference In mathematical proofs, complete induction (PCI) is a rule of inference of the form P (a) P (a + 1) P (b) k
More informationModels of Computation,
Models of Computation, 2010 1 Induction We use a lot of inductive techniques in this course, both to give definitions and to prove facts about our semantics So, it s worth taking a little while to set
More informationTyped Arithmetic Expressions
Typed Arithmetic Expressions CS 550 Programming Languages Jeremy Johnson TAPL Chapters 3 and 5 1 Types and Safety Evaluation rules provide operational semantics for programming languages. The rules provide
More informationThe Curry-Howard Isomorphism
The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09
More informationOutline. Overview. Syntax Semantics. Introduction Hilbert Calculus Natural Deduction. 1 Introduction. 2 Language: Syntax and Semantics
Introduction Arnd Poetzsch-Heffter Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern Sommersemester 2010 Arnd Poetzsch-Heffter ( Software Technology Group Fachbereich
More informationExamples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:
Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and
More informationA BRIEF INTRODUCTION TO TYPED PREDICATE LOGIC
A BRIEF INTRODUCTION TO TYPED PREDICATE LOGIC Raymond Turner December 6, 2010 Abstract Typed Predicate Logic 1 was developed to o er a unifying framework for many of the current logical systems, and especially
More informationWe want to show P (n) is true for all integers
Generalized Induction Proof: Let P (n) be the proposition 1 + 2 + 2 2 + + 2 n = 2 n+1 1. We want to show P (n) is true for all integers n 0. Generalized Induction Example: Use generalized induction to
More information20.1 Detecting the Need for Structural Induction
183 Appendix 20: Structural Induction The relation r defined in the previous lecture is a function, but how could we prove it? Here s a semi-formal argument: The relation r is defined by a pair of constraints.
More informationProgramming Languages and Types
Programming Languages and Types Klaus Ostermann based on slides by Benjamin C. Pierce Where we re going Type Systems... Type systems are one of the most fascinating and powerful aspects of programming
More informationLecture Notes on Heyting Arithmetic
Lecture Notes on Heyting Arithmetic 15-317: Constructive Logic Frank Pfenning Lecture 8 September 21, 2017 1 Introduction In this lecture we discuss the data type of natural numbers. They serve as a prototype
More informationModeling and Analysis of Communicating Systems
Modeling and Analysis of Communicating Systems Lecture 5: Sequential Processes Jeroen Keiren and Mohammad Mousavi j.j.a.keiren@vu.nl and m.r.mousavi@hh.se Halmstad University March 2015 Outline Motivation
More informationOutline. We will cover (over the next few weeks) Induction Strong Induction Constructive Induction Structural Induction
Outline We will cover (over the next few weeks) Induction Strong Induction Constructive Induction Structural Induction Induction P(1) ( n 2)[P(n 1) P(n)] ( n 1)[P(n)] Why Does This Work? I P(1) ( n 2)[P(n
More informationInference and Proofs (1.6 & 1.7)
EECS 203 Spring 2016 Lecture 4 Page 1 of 9 Introductory problem: Inference and Proofs (1.6 & 1.7) As is commonly the case in mathematics, it is often best to start with some definitions. An argument for
More informationCSC 344 Algorithms and Complexity. Proof by Mathematical Induction
CSC 344 Algorithms and Complexity Lecture #1 Review of Mathematical Induction Proof by Mathematical Induction Many results in mathematics are claimed true for every positive integer. Any of these results
More informationThe natural numbers. Definition. Let X be any inductive set. We define the set of natural numbers as N = C(X).
The natural numbers As mentioned earlier in the course, the natural numbers can be constructed using the axioms of set theory. In this note we want to discuss the necessary details of this construction.
More informationPropositional Logic: Part II - Syntax & Proofs 0-0
Propositional Logic: Part II - Syntax & Proofs 0-0 Outline Syntax of Propositional Formulas Motivating Proofs Syntactic Entailment and Proofs Proof Rules for Natural Deduction Axioms, theories and theorems
More informationCSE 311: Foundations of Computing I Autumn 2014 Practice Final: Section X. Closed book, closed notes, no cell phones, no calculators.
CSE 311: Foundations of Computing I Autumn 014 Practice Final: Section X YY ZZ Name: UW ID: Instructions: Closed book, closed notes, no cell phones, no calculators. You have 110 minutes to complete the
More informationCSC236H Lecture 2. Ilir Dema. September 19, 2018
CSC236H Lecture 2 Ilir Dema September 19, 2018 Simple Induction Useful to prove statements depending on natural numbers Define a predicate P(n) Prove the base case P(b) Prove that for all n b, P(n) P(n
More informationNatural Deduction for Propositional Logic
Natural Deduction for Propositional Logic Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan September 10, 2018 Bow-Yaw Wang (Academia Sinica) Natural Deduction for Propositional Logic
More informationClassical Program Logics: Hoare Logic, Weakest Liberal Preconditions
Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will
More informationLecture 4: Probability, Proof Techniques, Method of Induction Lecturer: Lale Özkahya
BBM 205 Discrete Mathematics Hacettepe University http://web.cs.hacettepe.edu.tr/ bbm205 Lecture 4: Probability, Proof Techniques, Method of Induction Lecturer: Lale Özkahya Resources: Kenneth Rosen, Discrete
More informationcse541 LOGIC FOR COMPUTER SCIENCE
cse541 LOGIC FOR COMPUTER SCIENCE Professor Anita Wasilewska Spring 2015 LECTURE 2 Chapter 2 Introduction to Classical Propositional Logic PART 1: Classical Propositional Model Assumptions PART 2: Syntax
More informationPropositional Logic: Syntax
Logic Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and programs) epistemic
More informationCS 220: Discrete Structures and their Applications. Mathematical Induction in zybooks
CS 220: Discrete Structures and their Applications Mathematical Induction 6.4 6.6 in zybooks Why induction? Prove algorithm correctness (CS320 is full of it) The inductive proof will sometimes point out
More informationCS481F01 Solutions 8
CS481F01 Solutions 8 A. Demers 7 Dec 2001 1. Prob. 111 from p. 344 of the text. One of the following sets is r.e. and the other is not. Which is which? (a) { i L(M i ) contains at least 481 elements }
More informationGödel s Incompleteness Theorem. Overview. Computability and Logic
Gödel s Incompleteness Theorem Overview Computability and Logic Recap Remember what we set out to do in this course: Trying to find a systematic method (algorithm, procedure) which we can use to decide,
More informationLecture 2: Proof Techniques Lecturer: Lale Özkahya
BBM 205 Discrete Mathematics Hacettepe University http://web.cs.hacettepe.edu.tr/ bbm205 Lecture 2: Proof Techniques Lecturer: Lale Özkahya Resources: Kenneth Rosen, Discrete Mathematics and App. cs.colostate.edu/
More informationFocusing on Binding and Computation
Focusing on Binding and Computation Dan Licata Joint work with Noam Zeilberger and Robert Harper Carnegie Mellon University 1 Programming with Proofs Represent syntax, judgements, and proofs Reason about
More informationAn Intuitively Complete Analysis of Gödel s Incompleteness
An Intuitively Complete Analysis of Gödel s Incompleteness JASON W. STEINMETZ (Self-funded) A detailed and rigorous analysis of Gödel s proof of his first incompleteness theorem is presented. The purpose
More informationPropositional Logic and Semantics
Propositional Logic and Semantics English is naturally ambiguous. For example, consider the following employee (non)recommendations and their ambiguity in the English language: I can assure you that no
More informationProof Terminology. Technique #1: Direct Proof. Learning objectives. Proof Techniques (Rosen, Sections ) Direct Proof:
Proof Terminology Proof Techniques (Rosen, Sections 1.7 1.8) TOPICS Direct Proofs Proof by Contrapositive Proof by Contradiction Proof by Cases Theorem: statement that can be shown to be true Proof: a
More informationLecture Notes on Logic Programming
Lecture Notes on Logic Programming 15-317: Constructive Logic Frank Pfenning Lecture 13 October 13, 2009 1 Computation vs Deduction Logic programming is a particular way to approach programming Other paradigms
More informationMathematical Induction. Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition)
Mathematical Induction Rosen Chapter 4.1,4.2 (6 th edition) Rosen Ch. 5.1, 5.2 (7 th edition) Motivation Suppose we want to prove that for every value of n: 1 + 2 + + n = n(n + 1)/2. Let P(n) be the predicate
More informationDeductive Characterization of Logic
6 The Deductive Characterization of Logic 1. Derivations...2 2. Deductive Systems...3 3. Axioms in Deductive Systems...4 4. Axiomatic Systems...5 5. Validity and Entailment in the Deductive Context...6
More informationKrivine s Intuitionistic Proof of Classical Completeness (for countable languages)
Krivine s Intuitionistic Proof of Classical Completeness (for countable languages) Berardi Stefano Valentini Silvio Dip. Informatica Dip. Mat. Pura ed Applicata Univ. Torino Univ. Padova c.so Svizzera
More information