Cs1502 formal methods in computer science
1 / 35

CS1502 Formal Methods in Computer Science - PowerPoint PPT Presentation

  • Uploaded on

CS1502 Formal Methods in Computer Science. Lecture Notes 1 Course Information Introduction to Logic Part 1. Content. 70% logic and proofs

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CS1502 Formal Methods in Computer Science' - deo

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cs1502 formal methods in computer science

CS1502 Formal Methods in Computer Science

Lecture Notes 1

Course Information

Introduction to Logic

Part 1


  • 70% logic and proofs

    • Pervades computer science, e.g., hardware circuit design, artificial intelligence, knowledge representation, database systems, programming languages, software engineering (design, verification, specification), …

    • Will help you understand proofs in math, science, theoretical CS


  • 30% Abstract models of computation

    • Needed for hardware design, compilers, computational complexity analysis, …

    • Interesting proofs; you will use what you learn in the first part of the course to understand them


  • Prerequisites:

    • CS441 Discrete Structures for Computer Science

    • CS445 Data Structures

  • Materials on course website, reachable from www.cs.pitt.edu/~wiebe

    • Schedule of readings, homeworks, exams

    • Lecture notes, available before class

      • Support for lectures; filled in in class


  • The TA will go over exercises and answer questions in recitation.

  • He will also cover logistics of submitting homeworks, and will post solutions to the homework.


  • Workload is steady throughout the course

  • 3 exams

  • Weekly homeworks (no projects)

    • Many are graded electronically

    • You can submit solutions as many times as you like

    • Get feedback without having to wait for instructor grading

    • Purpose is to help you master the material for the exams

  • Exams 90% Homework 10%


  • Exams

    • Challenging, but not devious

      • All of the questions will be related to an example worked out in the text, a homework exercise, or a problem we did in class.


  • Work is steady throughout the course

  • If you keep up, you will likely do OK

  • The work gets harder!

  • Please ask questions (lectures, recitations, office hours)

    • My office hours are T,TH 1:30-2:30 and by appointment – just send mail to set up a time


  • Do readings before lecture

  • Do the “you try it” exercises as you read the logic text

Software with lpl text fitch
Software with LPL TextFitch

  • Named for Frederic Fitch

  • Construct formal proofs

  • Prove an argument is valid

Software with lpl text boole
Software with LPL TextBoole

  • Named for George Boole

  • Construct truth tables

  • Verify a sentence is a tautology

  • Verify two sentences are tautologically equivalent

  • Prove an argument is valid

Software with the text tarski s world
Software with the TextTarski’s World

  • Named for Alfred Tarski

  • Construct sentences in first-order logic

  • Determine if a sentence is true wrt a world

  • Create a world that shows that an argument is invalid

Software with text submit
Software with TextSubmit

  • Verify your solutions are correct (without instructor seeing)

  • Submit homework for final grading to TA (by due date)

More notes on homework
More Notes on Homework

  • Many exercises will be submitted to the grade grinder

  • Please request that your grade assessments be sent to the TA (not to me!)

  • You may submit your solutions as many times as you like, but please send your TA only a single report per assignment

  • Now, let’s look at the webpage and syllabus…




All x All y ((cube(x) ^ tet(y))  (leftof(x,y) ^ frontof(x,a)))


All x All y ((pet(x,y) ^ hungry(y))  feed(x,y))


  • A simple grammar. Each sentence has a single interpretation (unlike English!)

  • Used to describe a world, which we define.

  • Once we define the world, we can say what things names refer to, and whether a logical sentence is true or false.


  • Constants are used to name existing objects

    • a, b, c, d, e, f

    • max, claire, carl

  • No constant can name more than one object

  • An object can have more than one name or no name at all

  • Predicates

    • A property possessed by an object

      • Shape (e.g., Tet, Cube)

      • Size (e.g., Small, Large)

  • A relationship among objects

    • Shape relationship (e.g., SameShape)

    • Size relationship (e.g., Smaller)

    • Positional relationship (e.g., Between, LeftOf)

    • Equality =

  • Quick example
    Quick Example

    • Ackermann’s sentences and world in Tarski

    • Properties:

      • Cube, Tet (4 faces), Dodec (12 faces), Medium

    • Relations

      • Backof, Leftof

    • (Click verify, and you see that one of the sentences is false about the world)


    • Each predicate has a fixed number of arguments or “arity”. This is the number of constants the predicate needs to form a sentence.

    • In English, OK, but not in logic:

      • Susanna is taller than Dimitri

      • Susanna is taller than Dimitri and Jerome


    • Predicates must be “determinate”

    • Suppose p is an n-ary predicate.

    • For every n-tuple <o1,o2,…,oN> of objects, p(o1,o2,…,oN) is true or false (not kind of true).

    • What’s an n-tuple?

    • An n-tuple is a collection of n objects where order matters. Duplicates are allowed. In contrast, sets may not have duplicates, and the members of sets are not ordered.

    Atomic sentences so far
    Atomic Sentences (so far)

    • A sentence formed by a single predicate followed by one or more names

      • Max is tall Tall(max)

      • e is larger than b Larger(e,b)

      • e is identical to a e = a

  • A sentence expresses a claim that is either true or false

  • Atomic sentences so far1
    Atomic Sentences (so far)

    • Predicate(arg1, arg2,…, argn)

      • Predicates have names beginning with an uppercase letter or are represented by an operator symbol

      • The number of arguments is called the predicate’s arity

      • The order of the arguments is importantLarger(e,c) – e is larger than cLarger(c,e) – c is larger than eBetween(a,b,e) – a is between b and eBetween(b,a,e) – b is between a and e

  • =(a,b)

    • a and b are identical

    • Usually, written in infix form a = b

  • Function symbols
    Function Symbols

    • A function is used to express complex names (a reference to an individual without using a name)

      • father(b) – b’s father

      • Used in a sentence: Tall(father(b))

      • password(c) – c’s password

      • Used in a sentence: Long(password(c))

  • A function may be nested

    • father(father(max))

    • Used in a sentence: Short(father(father(max)))

  • Can’t nest predicates

    • Tall(Tall(max)) * not a legal sentence*

  • Functional expressions
    Functional Expressions

    • Function(arg1, arg2,…, argn)

      • Function names begin with a lowercase letter or are expressed with a symbol

      • father(max) Max’s father

      • father(mother(max)) Max’s mother’s father

      • youngestChild(max,ann) Max and Ann’s youngest child

      • *(5,+(2,4)) 30

    Atomic sentences so far2
    Atomic Sentences (so far)

    • A sentence formed by a single predicate followed by one or more terms

    • A term is either a constant or a functional expression

    Example atomic sentences which are functions and which are predicates
    Example Atomic Sentences (which are functions and which are predicates?)








    Connectives apply to sentences to create more complex sentences
    ConnectivesApply to sentences tocreate more complex sentences.

    • Not 

    • And, Or , 

    • Material Conditional 

    • Biconditional 


    • Larger(e,c)

    • Cube(b)  Large(b)

    • SameRow(e,c)  BackOf(e,b)

    e is not larger than c

    b is a cube or b is large

    e and c are in the same row and e is in back of b

    First Order Logic

    • Names

    • Predicates

    • Functions

    • Connectives

    Are there more?


    Brando is Nancy’s favorite actor.

    brando = favoriteActor(nancy)


    • Nancy’s favorite actor is better than Max’s favorite actor.

    • BetterActor(favoriteActor(nancy), favoriteActor(max))

    • Sean is his own favorite actor.

    • sean = favoriteActor(sean)

    • Brando is someone’s favorite actor.

    • x(brando = favoriteActor(x))

    Quantifiers and variables
    Quantifiers and Variables

    • For every x x

      • x (man(x)  mortal(x))

    • There exists y y

      • x(brando = favoriteActor(x))

    First order logic
    First Order Logic

    • Names

    • Predicates

    • Functions

    • Connectives

    • Quantifiers and variables

    Revised List