Mathematical Logic Part One

Similar documents
Mathematical Logic Part One

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Mathematical Logic Part Two

Mathematical Logic Part Two

Mathematical Logic Part Two

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

Skill 1: Multiplying Polynomials

CS103 Spring 2018 Mathematical Vocabulary

CS103 Handout 13 Fall 2012 May 4, 2012 Problem Set 5

Mathematical Logic Part Two

Program Verification & Testing; Review of Propositional Logic

MITOCW watch?v=flgjisf3l78

Problem One: A Quick Algebra Review

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

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms

MITOCW watch?v=kz7jjltq9r4

LECTURE 2 An Introduction to Boolean Algebra

MITOCW watch?v=0jljzrnhwoi

Flow Control. So Far: Writing simple statements that get executed one after another.

Binary Relations Part One

Range Minimum Queries Part Two

Propositional Calculus

MITOCW watch?v=se4p7ivcune

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

Math 55 - Spring 04 - Lecture notes # 1 - Jan 20 (Tuesday)

The Stack, Free Store, and Global Namespace

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Database Management System Prof. Partha Pratim Das Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

How to Improve Your Campaign Conversion Rates

Context-Free Grammars

MITOCW watch?v=ytpjdnlu9ug

Week 2: The Clojure Language. Background Basic structure A few of the most useful facilities. A modernized Lisp. An insider's opinion


Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

COMP Intro to Logic for Computer Scientists. Lecture 2

Post Experiment Interview Questions

MITOCW watch?v=w_-sx4vr53m

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th

Transcript: A Day in the Life of a K12 Seventh Grade Teacher

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope.

Propositional Logic. Part I

Welcome to CS 115 (Winter 2019)

First-Order Translation Checklist

MITOCW MIT6_01SC_rec2_300k.mp4

CPSC 121: Models of Computation. Module 5: Predicate Logic

The following content is provided under a Creative Commons license. Your support

The following content is provided under a Creative Commons license. Your support

(Refer Slide Time 3:31)

MITOCW MIT6_172_F10_lec18_300k-mp4

A lot of people make repeated mistakes of not calling their functions and getting errors. Make sure you're calling your functions.

Guide to First-Order Logic Translations

The following content is provided under a Creative Commons license. Your support

Propositional Logic:

MITOCW ocw f99-lec07_300k

CS Bootcamp Boolean Logic Autumn 2015 A B A B T T T T F F F T F F F F T T T T F T F T T F F F

Who are we? Andre Platzer Out of town the first week GHC TAs Alex Crichton, senior in CS and ECE Ian Gillis, senior in CS

Welcome to CS 115 (Winter 2018)

The following content is provided under a Creative Commons license. Your support

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

CS103 Handout 42 Spring 2017 May 31, 2017 Practice Final Exam 1

Functions, High-School Edition

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

MITOCW watch?v=rvrkt-jxvko

(Refer Slide Time: 01.26)

CS187 - Science Gateway Seminar for CS and Math

Functions Structure and Parameters behind the scenes with diagrams!

Parameters and Objects

MITOCW watch?v=9h6muyzjms0

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

CS103 Handout 14 Winter February 8, 2013 Problem Set 5

CSE : Python Programming

Intro. Speed V Growth

Instructor (Mehran Sahami):

Context-Free Grammars

The Effects on Read Performance from the Addition of a Long Term Read Buffer to YAFFS2. Sam Neubardt

Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122

COMP combinational logic 1 Jan. 18, 2016

The following content is provided under a Creative Commons license. Your support

Propositional Calculus. Math Foundations of Computer Science

CMPSCI 250: Introduction to Computation. Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014

MITOCW ocw f99-lec12_300k

The following content is provided under a Creative Commons license. Your support

Chapter 1: Introduction to Computer Science and Media Computation

Fondamenti della Programmazione: Metodi Evoluti. Lezione 5: Invariants and Logic

6.001 Notes: Section 4.1

Turing Machines Part Two

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

MITOCW watch?v=r6-lqbquci0

feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it.

Notes. Notes. Introduction. Notes. Propositional Functions. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry.

Expressions and Control Statements

Slide 1 CS 170 Java Programming 1

Chapter 3. Set Theory. 3.1 What is a Set?

Close Your File Template

CS 1124 Media Computation. Steve Harrison Lecture 1.2 (August 27, 2008)

Finite Automata Part Three

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

BOOLEAN ALGEBRA AND CIRCUITS

Outline for Today. Euler Tour Trees Revisited. The Key Idea. Dynamic Graphs. Implementation Details. Dynamic connectivity in forests.

CS161 Handout 07 Summer 2013 July 17, 2013 Guide to Reductions. Thanks to Julie Tibshirani for helping with this handout!

Transcription:

Mathematical Logic Part One

Question: How do we formalize the logic we've been using in our proofs?

Where We're Going Propositional Logic (Today) Basic logical connectives. Truth tables. Logical equivalences. First-Order Logic (Friday/Monday) Reasoning about properties of multiple objects.

Propositional Logic

A proposition is a statement that is, by itself, either true or false.

Some Sample Propositions Puppies are cuter than kittens. Kittens are cuter than puppies. Usain Bolt can outrun everyone in this room. CS103 is useful for cocktail parties. This is the last entry on this list.

More Propositions I stay out too late. Got nothing in my brain. That's what people say. You should've known better than to mess with me. I'm gonna love ya like a black widow.

Things That Aren't Propositions Commands Commands cannot cannot be be true true or or false. false.

Things That Aren't Propositions Questions Questions cannot cannot be be true true or or false. false.

Things That Aren't Propositions The The first first half half isis aa valid valid proposition. proposition. I am the walrus, goo goo g'joob Jibberish Jibberish cannot cannot be be true true or or false. false.

Propositional Logic Propositional logic is a mathematical system for reasoning about propositions and how they relate to one another. Every statement in propositional logic consists of propositional variables combined via propositional connectives. Each variable represents some proposition, such as You liked it or You should have put a ring on it. Connectives encode how propositions are related, such as If you liked it, then you should have put a ring on it.

Propositional Variables Each proposition will be represented by a propositional variable. Propositional variables are usually represented as lower-case letters, such as p, q, r, s, etc. Each variable can take one one of two values: true or false.

Propositional Connectives Logical NOT: p Read not p p is true if and only if p is false. Also called logical negation. Logical AND: p q Read p and q. p q is true if both p and q are true. Also called logical conjunction. Logical OR: p q Read p or q. p q is true if at least one of p or q are true (inclusive OR) Also called logical disjunction.

Truth Tables A truth table is a table showing the truth value of a propositional logic formula as a function of its inputs. Useful for several reasons: Formally defining what a connective means. Deciphering what a complex propositional formula means.

The Truth Table Tool

Summary of Important Points The operator is an inclusive or. It's true if at least one of the operands is true. Similar to the operator in C, C++, Java and the or operator in Python. If we need an exclusive or operator, we can build it out of what we already have.

Mathematical Implication

Implication The connective is used to represent implications. Its technical name is the material conditional operator. What is its truth table?

Why This Truth Table? The truth values of the are the way they are because they're defined that way. We want p q to mean whenever p is true, q is true as well. The only way this doesn't happen is if p is true and q is false. In other words, p q should be true whenever (p q) is true. What's the truth table for (p q)?

Truth Table for Implication p F F T T q p q F T T T F F T T The The only only way way for for pp qq to to be be false false isis for for pp to to be be true true and and qq to to be be false. false. Otherwise, Otherwise, pp qq isis by by definition definition true. true.

The Biconditional Operator

The Biconditional Operator The biconditional operator is used to represent a two-directional implication. Specifically, p q means that p implies q and q implies p. What should its truth table look like?

The Biconditional The biconditional connective p q is read p if and only if q. Here's its truth table: p F F T T q p q F T T F F F T T

The Biconditional The biconditional connective p q is read p if and only if q. Here's its truth table: p F F T T q p q F T T F F F T T One One interpretation interpretation of of isis to to think think of of itit as as equality: equality: the the two two propositions propositions must must have have equal equal truth truth values. values.

True and False There are two more connectives to speak of: true and false. The symbol is a value that is always true. The symbol is value that is always false. These are often called connectives, though they don't connect anything. (Or rather, they connect zero things.)

Operator Precedence How do we parse this statement? x y z x y z Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? x y z x y z Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) y z x y z Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) y z x y z Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) y z x (y z) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) y z x (y z) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) (y z) (x (y z)) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) (y z) (x (y z)) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) ((y z) (x (y z))) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence How do we parse this statement? ( x) ((y z) (x (y z))) Operator precedence for propositional logic: All operators are right-associative. We can use parentheses to disambiguate.

Operator Precedence The main points to remember: binds to whatever immediately follows it. and bind more tightly than. We will commonly write expressions like p q r without adding parentheses. For more complex expressions, we'll try to add parentheses. Confused? Just ask!

Time-Out for Announcements!

Graded Assignments Problem Set 1 and Problem Set 2 Checkpoints are graded and available online through Scoryst. Be sure to review the feedback and not just the grade you'll get a lot more out of this course if you do!

Solution Sets Problem Set 1 solutions, Problem Set 2 Checkpoint solutions, and Discussion Problems 2 solutions are all available in hardcopy outside. Missed lecture? Pick them up in the filing cabinet in the Gates B wing. SCPD students you should get copies of these handouts soon.

Stanford HOPES Stanford HOPES (Huntington's Outreach Program for Education, at Stanford) is looking for web designers, graphic designers, and researchers for this academic year. Check out their website at http://hopes.stanford.edu. Interested? Contact Kristen Powers at kapowers@stanford.edu.

Some Logistics Maesen and I will be at the Grace Hopper Conference for the rest of this week. Stephen Macke (smacke@cs.stanford.edu) is acting as Head TA while Maesen is out. Kevin Crain will be giving Friday's lecture on logic. I will be a lot slower at responding to emails sorry for the inconvenience!

Your Questions

A Quick Note on Questions

How important is discrete math compared to calculus in the math world? In your opinion, what should be taught first,set theory or limits?

How important is it to learn LaTeX? I know some people that use it and wondered if it would be worth it to learn it.

I really want to have a portfolio before my senior year and am seriously thinking of taking a gap year to really 'find myself' with computer science. Do you recommend this? How can I best utilize a gap year?

I find it very hard to engage with the material. Can you give some words of inspiration to make me excited about sets, induction, graphs, etc?

Back to CS103!

Recap So Far A propositional variable is a variable that is either true or false. The propositional connectives are Negation: p Conjunction: p q Disjunction: p q Implication: p q Biconditional: p q True: False:

Translating into Propositional Logic

Some Sample Propositions a: I will get up early this morning b: There is a lunar eclipse this morning c: There are no clouds in the sky this morning d: I will see the lunar eclipse I I won't won't see see the the lunar lunar eclipse eclipse if if II don't don't get get up up early early this this morning. morning. a d

p if q translates to q p It does not translate to p q

Some Sample Propositions a: I will get up early this morning b: There is a lunar eclipse this morning c: There are no clouds in the sky this morning d: I will see the lunar eclipse If If II get get up up early early this this morning, morning, but but it's it's cloudy cloudy outside, outside, II won't won't see see the the lunar lunar eclipse. eclipse. a c d

p, but q translates to p q

The Takeaway Point When translating into or out of propositional logic, be very careful not to get tripped up by nuances of the English language. In fact, this is one of the reasons we have a symbolic notation in the first place! Many prepositional phrases lead to counterintuitive translations; make sure to double-check yourself!

Propositional Equivalences

Quick Question What would I have to show you to convince you that the statement p q is false?

Quick Question What would I have to show you to convince you that the statement p q is false?

De Morgan's Laws Using truth tables, we concluded that (p q) is equivalent to p q We also saw that (p q) is equivalent to p q These two equivalences are called De Morgan's Laws.

Logical Equivalence Because (p q) and p q have the same truth tables, we say that they're equivalent to one another. We denote this by writing (p q) p q The symbol is not a connective. It's related to, but it's not the same: The statement (p q) p q means these formulas are equivalent. The statement (p q) ( p q) is a propositional formula. If you plug in different values of p and q, it will evaluate to a truth value. It just happens to evaluate to true every time.

An Important Equivalence Earlier, we talked about the truth table for p q. We chose it so that p q (p q) Later on, this equivalence will be incredibly useful: (p q) p q

Another Important Equivalence Here's a useful equivalence. Start with p q (p q) By De Morgan's laws: p q (p q) p q p q p q p q Thus p q p q

Another Important Equivalence Here's a useful equivalence. Start with p q (p q) By De Morgan's laws: p q (p q) p q p q If If pp isis false, false, then then p p qq isis true. true. If If pp isis p q p q Thus p q p q true, true, then then qq has has to to be be true true for for the the whole whole expression expression to to be be true. true.

Next Time First-Order Logic Translating into Logic Manipulating Logical Statements