[FrontPage] [TitleIndex] [WordIndex]

# Next Week's Homework

Install gPrologue

# Review of Propositional Logic's Structure:

Statements are simple combinations of variables and operators.

• AND : ^ OR : \vee NOT : ¬

Implies : =>

p: it is raining

# Predicate Logic

Statements are made from operators and Predicates that have arguments.

raining(10:20am, Needham) <- Raining is a predicate, 10:20am and Needham are arguments

raining(10:21am, Needham) <- Put together, they make an assertion.

# First Order Predicate Calculus(FOPC or FOL)

Only quantifies over the arguments, not over the predicates.

• \forall t raining(t,loc) => raining(t+1,loc) <- Rule

course(FOCS,ENGR3520,TuesFri,10,12,Stein) <- Predicate with 6 args

## Ex 1

• \forall CN1 , CN2 course( _ , CN1 ,date,tstart, tend, _ , R1 )

course( _ , CN2 ,date,tstart,tend, _ , R2 )

• => CN1 = CN2 OR R1 \neq R2

## Ex 2

course(C)

roomof(C,318) <- Accessors for object

nameof(C,FOCS)

etc...

• \forall C1 ,C2 course( C1 ) , course( C2 )

roomof( C1 ,R1 ) , roomof( C2,R1 )

starttime( C1 ,t1 ) , starttime( C2,t1 ) <- Related but not function

• => C1=C2

starttime( C1y ) = starttime( C2) <- Function returning value

## Ex 4: RDF

<course-name> Foundations of Computer Science</course-name>

<course-instructor> LAS </course-instructor>

</description>