FIRST-ORDER LOGIC


Representation Includes:
	Objects - items with individual identities
	Relations - connections between objects
	Properties - attributes / features of objects
	Functions - return an object as function of arguments

Flexibility in encoding domain knowledge:

The same domain can be represented as objects, 
properties, functions, and relations in many ways.

Syntax of First-Order Logic
	 -> 	  
			not 
			 , ... 
			(sentence)
			 ()
			 = 
	 -> 	()
			
			
	 -> and, or, if-then, if-and-only-if
	 -> ", $
	 -> grade, student, topic
	 -> StudiesHard, Teaches
	 -> GradeOf, MajorTopic, GradeRequired
	 -> A, B, C, D, Jack, Jill, Frank, CPSC320

Atomic sentences
	StudiesHard(Jack)
	GradeOf(Jack) = A

Complex sentences
	StudiesHard(Jill) => GradeOf(Jill) = A
	not StudiesHard(Bob) => not (GradeOf(Bob) = A)



				QUANTIFIERS

Universal Quantifier (for all)

Equivalent to saying statement is true for all objects.

for all student StudiesHard(student) => GradeOf(student) = A

This means that the statement 
		StudiesHard(object) => GradeOf(object) = A
is true for all objects, not just those representing 
students.

StudiesHard(A) => GradeOf(A) = A and
StudiesHard(B) => GradeOf(B) = A and ...

Frequently used with implications (if-then) to say 
something about a class of objects.


Existential Quantifier (there exists)

Equivalent to saying statement is true for some object.

there exists topic MajorTopic(Jack) = topic

This means that the statement
		MajorTopic(Jack) = object
is true for some object.

 MajorTopic(Jack) = A or
 MajorTopic(Jack) = B or ...

Used with conjunction and equality to make claim 
about elements of object set.


Nested Quantifiers

every student must have a major:

for all student, there exists topic MajorTopic(student) = topic

Connections between Quantifiers
	for all x not P 	same as 	not there exists x P
	not for all x P		same as		there exists x not P
	for all x P		same as		not there exists x not P