CS 255
Assignment 1: Resolution Theorem Prover
(15 points)
Due: March 2 by start of class
You are to do this assignment with a partner of your choice.
Both of your names should be on all of your work.
Theorem Proving
For this assignment you will be building an automated theorem prover.
An automated theorem prover is a
program that takes in a set of axioms (hypotheses) and a conclusion you want proven.
It then automatically
applies inference rules to the axioms in order to prove the theorem true or false.
Resolution
The specific prover you will be building is a resolution theorem prover.
It uses only a single
rule of inference
,
called resolution.
Using only a single rule greatly simplifies implementation.
The use of the resolution rule of
inference is greatly eased by representing all wellformedformulas in conjunctive normal form (CNF).
Conjunctive normal form means that the entire list of wffs is one large conjunction (AND) of disjunctions (OR)
of literals (boolean symbol or its negation).
An example of CNF and terminology:
Boolean symbol: a
Boolean symbol: b
Boolean symbol: c
Literal: a
Literal: a
Literal: b
Literal: c
Clause: (a
b)
Clause: (c
a
)
Sentence in CNF: (a
b)
(c
a’)
You can apply resolution if you have two clauses (disjunctions of literals) that contain complementary literals.
Complementary literals are negations of each other.
The result of resolution is a new clause that contains all the
other literals in both clauses.
An example of resolution:
clause1: (a
b
c)
clause2: (b
d
e)
resolvent: (a
c
d
e)
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentIn the above example, clause1 and clause2 can be resolved since they contain b and b
(order doesn’t matter).
The resulting clause (resolvent) includes all the terms in both clauses except for b and b
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '10
 BethErnst
 Logic, partner, Conjunctive normal form, Proof theory

Click to edit the document details