of the solver. Due to the limited representation ca-
pability of conventional clauses with first-order logic,
we cannot solve the Agatha puzzle by using any possi-
ble computation methods. The LPSF theory provides
a firm foundation for stepwise improvement of logical
problem solving.
The rest of this paper is organized as follows: Sec-
tion 2 discusses about how to design an MI solver
based on LPSF for the Agatha puzzle. Section 3
explains the rule invention process for a solution of
the Agatha puzzle, by iteratively squeezing applica-
ble rules from an interim transformation status as a
result of application of exiting known rules. Section 4
proves correctness of the invented five transformation
rules in this paper. Section 5 shows how a newly con-
structed MI solver works and what other LPSF param-
eters can be taken into considerations. Section 6 gives
a discussion about the comparison with existing log-
ical structures, one on the usual clausal logic and the
other is the extended clause space with constraints.
Section 7 concludes the paper.
2 DESIGN OF MI SOLVER FOR
QA PROBLEMS
We discuss a design consideration of MI solver for the
famous Agatha Puzzle.
2.1 Agatha Puzzle
Consider the “Dreadsbury Mansion Mystery” prob-
lem, which was given by Len Schubelt and can be de-
scribed as follows: 1) Someone who lives in Dreads-
bury Mansion killed Aunt Agatha. 2) Agatha, the but-
ler, and Charles live in Dreadsbury Mansion, and are
the only people who live therein. 3) A killer always
hates his victim, and 4) is never richer than his vic-
tim. 5) Charles hates no one that Aunt Agatha hates.
6) Agatha hates everyone except the butler. 7) The
butler hates everyone not richer than Aunt Agatha. 8)
The butler hates everyone Agatha hates. 9) No one
hates everyone. The Agatha QA problem is to find all
persons who killed Agatha. The Agatha proof prob-
lem is to show that Agatha killed herself.
2.2 Formalization of the Puzzle
We take ECLS
F
as a logical structure. We already
know many ET rules on the space of ECLS
F
, how-
ever, they are not enough for complete solution of the
Agatha puzzles.
Assume that eq and neq are predefined binary con-
straint predicates. For any ground usual terms t
1
and
t
2
, (i) eq(t
1
,t
2
) is true iff t
1
= t
2
, and (ii) neq(t
1
,t
2
)
is true iff t
1
6= t
2
. The background knowledge of
this mystery is formalized as the conjunction of the
first-order formulas, where (i) the constants A, B, C,
and D denote “Agatha,” “the butler,” “Charles,” and
“Dreadsbury Mansion,” respectively, and (ii) for any
terms t
1
and t
2
, live(t
1
,t
2
), kill(t
1
,t
2
), hate(t
1
,t
2
), and
richer(t
1
,t
2
) are intended to mean “t
1
lives in t
2
,” “t
1
killed t
2
,” “t
1
hates t
2
,” “t
1
is richer than t
2
,” respec-
tively.
Let K be the conjunction of the first-order formu-
las F
1
to F
9
and let q = kill(x, A). The Agatha puzzle
is formalized as a QA problem hK,qi. The answer
to this QA problem, denoted by answer(K,q), is the
set of all ground instances of q that follows logically
from K.
F
1
= ∃x : (l ive(x,D) ∧ k ill(x,A))
F
2
= ∀x : (live(x,D) ↔ (eq(x,A)∨eq(x, B)∨eq(x,C))
F
3
= ∀x : ∀y : (kill(x,y) → hate(x,y))
F
4
= ∀x : ∀y : (kill(x,y) → ¬richer(x, y))
F
5
= ¬∃x : (hate(C,x) ∧ hate(A, x) ∧ live(x, D))
F
6
= ∀x : ((neq(x,B)∧ live(x,D)) → hate(A,x))
F
7
= ∀x : (¬richer(x,A) ∧ live(x,D)) → hate(B,x))
F
8
= ∀x : ((hate(A,x) ∧ live(x,D)) → hate(B,x))
F
9
= ¬∃x : (live(x , D)∧∀y : (live(y,D) → hate(x,y)))
K is converted into the set Cs consisting of the
fourteen extended clauses C
1
to C
14
by applying
meaning-preserving Skolemization (Akama and Nan-
tajeewarawat, 2011) as follows: MPS(F
1
) = C
1
, C
2
,
MPS(F
2
) = C
3
, C
4
, C
5
, C
6
, MPS(F
3
) = C
7
, MPS(F
4
) =
C
8
, MPS(F
5
) = C
9
, MPS(F
6
) = C
10
, MPS(F
7
) = C
11
,
MPS(F
8
) = C
12
, and MPS(F
9
) = C
13
, C
14
.
C
1
: live(x , D) ← f unc( f
0
,x)
C
2
: kill(x,A) ← f unc( f
0
,x)
C
3
: ← live(x, D),neq(x,A),neq(x,B),neq(x,C)
C
4
: live(A, D) ←
C
5
: live(B, D) ←
C
6
: live(C, D) ←
C
7
: hate(x, y) ← kill(x,y)
C
8
: ← kill(x,y),richer(x,y)
C
9
: ← hate(A,x),hate(C,x),live(x,D)
C
10
: hate(A,x) ← neq(x,B),live(x,D)
C
11
: richer(x,A),hate(B, x) ← live(x,D)
C
12
: hate(B,x) ← hate(A,x),live(x, D)
C
13
: ← hate(x,y), f unc( f
1
,x,y), live(x, D)
C
14
: live(y,D) ← live(x,D), f unc( f
1
,x,y)
Let state S
0
be {C
1
,...,C
14
}.
Inventing ET Rules to Improve an MI Solver on KR-logic
275