CS1502 Formal Methods in Computer Science - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

CS1502 Formal Methods in Computer Science

Description:

Will help you understand proofs in math, science, theoretical CS. Content ... My office hours are T,TH 1:30-2:30 and by appointment just send mail to set up ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 36
Provided by: gan7
Category:

less

Transcript and Presenter's Notes

Title: CS1502 Formal Methods in Computer Science


1
CS1502 Formal Methods in Computer Science
  • Lecture Notes 1
  • Course Information
  • Introduction to Logic
  • Part 1

2
Content
  • 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

3
Content
  • 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

4
Logistics
  • 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

5
Logistics
  • 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.

6
Logistics
  • 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

7
Logistics
  • 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.

8
Logistics
  • 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 130-230 and by
    appointment just send mail to set up a time

9
Logistics
  • Do readings before lecture
  • Do the you try it exercises as you read the
    logic text

10
Software with LPL TextFitch
  • Named for Frederic Fitch
  • Construct formal proofs
  • Prove an argument is valid

11
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

12
Software with the TextTarskis 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

13
Software with TextSubmit
  • Verify your solutions are correct (without
    instructor seeing)
  • Submit homework for final grading to TA (by due
    date)

14
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, lets look at the webpage and syllabus

15
Introduction to Logic
16
Examples
circle(a) small(a)
All x All y ((cube(x) tet(y)) ? (leftof(x,y)
frontof(x,a)))
feed(max,scruffy)
All x All y ((pet(x,y) hungry(y)) ? feed(x,y))
17
Logic
  • 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.

18
Names
  • 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

19
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

20
Quick Example
  • Ackermanns 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)

21
Predicates
  • 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

22
Predicates
  • Predicates must be determinate
  • Suppose p is an n-ary predicate.
  • For every n-tuple lto1,o2,,oNgt of objects,
    p(o1,o2,,oN) is true or false (not kind of
    true).
  • Whats 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.

23
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

24
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 predicates
    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

25
Function Symbols
  • A function is used to express complex names (a
    reference to an individual without using a name)
  • father(b) bs father
  • Used in a sentence Tall(father(b))
  • password(c) cs password
  • Used in a sentence Long(password(c))
  • A function may be nested
  • father(father(max))
  • Used in a sentence Short(father(father(max)))
  • Cant nest predicates
  • Tall(Tall(max)) not a legal sentence

26
Functional Expressions
  • Function(arg1, arg2,, argn)
  • Function names begin with a lowercase letter or
    are expressed with a symbol
  • father(max) Maxs father
  • father(mother(max)) Maxs mothers father
  • youngestChild(max,ann) Max and Anns youngest
    child
  • (5,(2,4)) 30

27
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

28
Example Atomic Sentences (which are functions
and which are predicates?)
  • Predicate(term1,term2,,term-n)
  • Happy(bossof(sally))
  • Father(bill)
  • Tall(fatherOf(motherOf(sally)))
  • Happier(motherOf(bill),bossof(fatherOf(max)))
  • Fake(santa(rossParkMall)))
  • Real(santa(robinsonTownCenter)))

29
ConnectivesApply to sentences tocreate more
complex sentences.
  • Not ?
  • And, Or ?, ?
  • Material Conditional ?
  • Biconditional ?

30
Examples
  • ?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
31
First Order Logic
  • Names
  • Predicates
  • Functions
  • Connectives

Are there more?
32
Example FOL
33
Translation
  • Brando is Nancys favorite actor.
  • brando favoriteActor(nancy)
  • BetterActor(favoriteActor(nancy),
    favoriteActor(max))
  • Nancys favorite actor is better than Maxs
    favorite actor.
  • sean favoriteActor(sean)
  • Sean is his own favorite actor.
  • Brando is someones favorite actor.
  • ?x(brando favoriteActor(x))

34
Quantifiers and Variables
  • For every x ?x
  • ?x (man(x) ? mortal(x))
  • There exists y ?y
  • ?x(brando favoriteActor(x))

35
First Order Logic
  • Names
  • Predicates
  • Functions
  • Connectives
  • Quantifiers and variables

Revised List
Write a Comment
User Comments (0)
About PowerShow.com