Representing Knowledge
We are faced with several choices:
which type of logic to use? e.g. First Order Logic Higher Order Logic axioms (to capture basic facts of domain) definitions: introduce other concepts in terms of basic facts
double x ≡ 2 × x
Other types of definitions e.g. Recursive:
0 x = x s x y = s x y
factorial 0 = 1 factorial s x = s x × factorial x
square x ≡ x × x
Base case Step case
s x ≡ x 1
Example Axioms: Equality
3=3, 4= 4 4=31, 31= 4 if a=b, b=c then a=c replace equals with equals
reflexivity x=x symmetry x=y→ y=x transitivity x=yy=z→ x=z replacement x1=y1...xn=yn→ f x1,... ,xn = f y1,... ,yn x1=y1...xn=ynP x1,... ,xn → P y1,... ,yn
Properties that we want: Existence: ∃ y. f x = y Uniqueness: f x = y f x =z → y=z Use reflexivity Use symmetry and transitivity Finite set of axioms
Automated Reasoning
Representing Knowledge Jacques Fleuriot
Lecture III
Introduction
Aim: to express knowledge in a computer tractable form Knowledge representation language, such as 1st order logic, defined by
syntax: what constitutes a legal sentence (formula) in language semantics: facts in the world to which sentences refer. Without
semantics, a sentence is just an arrangement of symbols.
sentences sentence facts fact entails follows semantics semantics representation world