Algorithmic Problem Solving by Roland Backhouse PDF
Algorithmic Problem Solving by Roland Backhouse PDF
Algorithmic Problem Solving by Roland Backhouse PDF
Contents
1 Introduction
2 Invariants
"
" #
%
& '
" "
( "
) %'
*
3 Crossing a River
+
,
-.
/ %'
0
- 1 "
2
3 "
(
3
) 4
( . 5
)
&
1
5
!
!
$
)
$
21
)
*
!
!
$
(
)
$
4 Games
( # ,
(
-
(
(
6
( +
5
(
/ ,
((
. ,
(( &
&
((
7 8 &
9
(( #
((( " #%: +
(() ; #%: +
()
&
(*
&
6 Induction
* %'
*
"
* "
*( 6 +
*) " ? + .
41
(
(
(
((
()
(!
)
)
))
)*
)
)$
*
*
63
*
*(
*(
*)
**
*!
*$
(
*
$
!
!
85
!)
!$
$
$
$)
**
*
*!
*$
+
@A
+/ 3
*
+
*
&
?
&
)
8 The
!
!
!
!(
!)
!*
!
!!
Torch Problem
64 ;
> &
5
5 +4 "
?
"
9 Knights Circuit
$ /#
$
5
$
$( 3
$) . > <
$*
$)
$$
)
)
107
!
$
$
)
*
117
!
*
$
133
(
(*
(!
(!
Solutions to Exercises
149
Bibliography
170
Chapter 1
Introduction
8
& & 4 " .
& 4
C
C 4 . &
&
& .
B
&
D E
/
. F
. . G4
4 .
H
.
/ &
A " 4&
" .
/
1.1
Algorithms
.
/
/
4/A .
.
'
'
&
.
.4
4 & .
.
' 4 B
& 4
. .
+ 4
8 & 4
& &
4
"
4
& 4
&
" . F
.
I 4 4 &
.
4 " A 1
2
5
. 10
"
.
.
4& 4
4 .
4 17
"
C4 4 41 D &9C & /
5 .
4 .
& /
4
J K x y
L K z
L
" 5 .
.
'
G
H 17
&&
?
&
4
I .
4
& /
8 .
/
.
.
.
+ '
.
1 3 19 20
30 .
1 4 5 6
17 "
.
+
/ &
/
& .
& & & .
"
/
"
4
8
.
'
&&
I
/
&
&
& &
4 &
&
4 "
I
.
5 &
1.2
Bibliographic Remarks
Chapter 2
Invariants
K8L
K L .
& . 1 >
. KL KL
K4L KL
" .
/
&
" .
. '
.
-
4
- A
.
. &
&
& A &
&
& A
8. & 1
' " .
A 4
& &
A
. .
- .
& " A
4
4 4
4& 4
+ 4 43
A "
&
+ J
/
=4
&
&
2
Empty Boxes
%
&
'
4
.
'
' 4
.
'
'
. 102
&
' =4
&
'
2
Tumblers
4
4& G A H 8 5
4& =4
&
&I 4
+ J "
+
4 .
4& 2
( Black and White Balls
A 4
.
. 4
4
"
& .4
- 4
.
& .4
. &
" & 4
. 8.
4
4&
I . & F
4 4
4&
% ' .
.
& I
4 &
.
- . &
. A
.
4
2
) Dominoes
/
/. 5
62 5
G A H
& .
I
4 '& 4 5 .
8
62 5 .
4
4
&
& .
2
* Tetrominoes
A
.
4 5 .
< " A
F
>/ O/ 6/ "/ 8/
G A (H
" .4 '
4
. 5 .
<
>
.
.
4
GH
4
4
.
. 5
2.1
Chocolate Bars
J
5
& <
4& 8
5
& .
G" 4 H
=4
&
&
2
2.1.1
The Solution
2.1.2
4 4
Abstraction "
& 4 -
p
. 4
c
.
" .
.
" A
- K
L .
.
G K
LH
&
.
8
> .
& 4
9 " & &
"
A 4 < .
"
"
.
8 & & .
. &
/
& 4 . .
& C /
. 9C "
/
&
G"'
/ . 4 A "
& .&
C. '
4 A .& 4
& C
9 " 4 " A
'
. A "
4
4
" 4
&
K := L K
L " .
!
"
#
"
$ = %
&
"
"
' #
"
(()
!
$
becomes
%
pc = (p+1) (c+1) ,
4 m
& 3
&
n
& 1 . m + 3n
, ' E
ls := rs
E[ls := rs]
'
& .
E ls
& ' . ' rs =
'
J
(pc)[p , c := p+1 , c+1] = (p+1) (c+1)
E[ls := rs] = E .
&
" .
<
. ' G
&
&
<
H 8.
'&
. '
&
&
4
&
. '
.
.
? .
8 &
.
< 8 . /
'& 5 G 4 < 5H
Summary "
. /
.
/
C
- 4
Exercise 2.1
.
"4 &
I G 1 & &
H 4
" 4 .
& . . &
1234 &
=4
&
&
/
.
4 2 G=J
H
2
2.2
Empty Boxes
"&
&/
'
%
&
'
4
.
'
'
4
.
'
'
. 102
&
' =4
&
'
2
" .4
8
e f .
.
&
. .
' &
8.& . e f 8.& A . e
# .
'
'
e
f
( 8.& .
)
A . f = A
. e+f
2.3
(
u := u+2 .
" 4
4 F C u
& 4 "
&
u := u2 .
& /
KL
K L K FL 8
'
5
u := u ,
.
&
-
skip
& '
skip .
)
2.4
Tetrominoes
. 4
m n G
H
. 2
? .
&
"/
- 4 D 4 .
*GHJ .
&
.
.
" & .
*GH 4& /
" .
&&
.
8 . &
*
J c
. 4
c = mn
mn
. 4
& .
m
. 2 n
. 2 .
.
!
b 3d l ,
(b 3d l)[d , b , w := d+1 , b+3 , w+1]
=
A .
(b+3) 3(d+1) l
=
b 3d l
(b 3d l)[l , b , w := l+1 , b+1 , w+3]
=
A .
(b+1) 3d (l+1)
=
b 3d l .
& .
w 3l d .
& "/
& . w 3l d 4
4&
<
- 4
& "/
.
*GH 4 4
.
. 5
4
.
5
5
. 4 5
b=w
b 3d l = 0
w 3l d = 0
(b = w) (3d + l = 3l + d)
!"
$
}
(b = w) (l = d)
b 3d l = 0
w 3l d = 0
b = w = 4d = 4l
b+w = 8d
b+w
. 5
. 5
. 8 .
-
8.
& "/
.
5
& 8
B 4 *GH "
&
*G
H 4
4& 8 6 4& .
5
4 = .
4& &
.
G=4 & &
. F . &
8 1
*GH
*G
H
& .&
4 & . "/
&
& A 4 . ' &
4
& 4
H
*GH & & *GH
, 9
2.5
Additional Exercises
2.6
Bibliographic Remarks
"
&/
'
4
& -
+D "
.
4
.
M,!N "
8 . $$$
G JPP4444P<<PH @
@ - C.5 .
C .
/
3 "
& '
.
<<
4 8
. .
'
" 0
& -
. 4
.
. 4 8
. "
8 4
%' 4
& 3
8 4 G & F
.
H #
>&
$)
& @ KO @&<&& #
>&
L
#4 $!! " .
&
Chapter 3
Crossing a River
" '
.
-
. K
/.L
&
& &
81 5
1 5 &
5 . . 4 ;
.
I . . 4
/
. 1 .
"
. 4 '
<
.
&
? . 4 4
.
.
/
4
/
' .
4
>
4 4&
.
8 .
&
. &
4 1 4 =4
F
.
/. .
/
&
& &
&
4 4
. " ' . &
& &
/ 5
. & 4
.
B
& &
4 .
/. C4 4 . C & '
&
9 =4 . . &
&
4
&
&
.
3 4 4
-
4 &
'& .
4 . & 4.
3.1
Problems
3.2
3.2.1
Brute Force
Goat, Cabbage and Wolf
#
/ & 4
& . 4
& .
.
4 .&
4.
=4
& .
&
.
4
G 4 4
H 4.
. 4 G 4 4. 4
H
=4 .
2
"
. . 4
"
4
& .
. 4 .
4 -
f G. .
H g G. H c G.
H w
G. 4.H 4
L G. .H R G. H . R
f = g = c g = c .
g
6
6
6
6
6
c
6
6
6
6
6
w
6
6
6
6
6
?4 4
4 "
A D " . C
'C
. C
'C "
4
& .
'
K6666L 4 .
.
" & 4 .
4 .
4. .
"
& K6666L
' K66L
'
+
4
%
&
.
K6666L
' KL
' "
.4 J
" .
"
.
6666 666
#
RRRL
LLLL
RRLL
LLRL
LRLL
RLRR
RRLR
LLRR
RRRR
LLLR
/ -./
" .
4 "
.
666 666
" .
4.
"
.
666 66
( " .
" .
66
"
& 4 K
L K4.L
3.2.2
State-Space Explosion
" . & &
. 4 4 . 4 4
=4 &
4
. &
. . &
+
5&
3.2.3
Abstraction
" / ' .
& . & &
I
& .5 & " /
/
/4.
'
8 /
//4.
K.
L
KL K
L K4.L 4 &
4
.2 8 . 4
K
&L
4
4.
A&
. 4 4.
" K
&L
J 4 4
&
. K4.L K
L - & K4.L
K
L
&
F
2
6
4
/
&
4 4.
8
4
-
.
.
.
< . " .
&
. K
L 5&
& -
.
&
3.3
Jealous Couples
"
.
&
&
&
&
. " .
" D/
' '
8
&
.
3.3.1
& .& 2 # & 4
& .& n 2 >
&
.
. 4 & 8. &
G H
'
. < . & .
'
5 4
&
. 4
. &
4 4
&
. 4
. &
" 4
8
4
4 C .
4 & 4 C
4 5 . .
4 4 C
4
&
A
.
3.3.2
Problem Structure
& K
.
&L 4 & A
.4
& 4
, 4 4
.
& " .
& &
. 4 .
,
A 4
4 & .
>
D 4
&
4 D
6
.
.
&I 1
4
" 4 & & .
4 &
8
4 .
" .
. .
. 4&
I .
. .
. &
9 8. 4 & . 4
D
" 4 4
G" /
. /
/ 4./
'
./
&
&
4
/
4. &
3.3.3
? 4
. '
8 & .
4
1 ?
'
&
-
4
4 G
4.H .
& 4 5
&
'
3H || 3W
4 4
.
4
'
. 1C,2H || 2W 4
4 4
.
4 4
" 3C || 5 A || 3C
4
'
3H |2W| 1W I . 4 4
.
4.
? . .&
.
. '
.
4 .
& &
" 4 P
& A + '/
1C,1W || 1C,1H G
4. 4
.
4 . H
3H |3W|
& &
4
8
5
4 3C || 4 || 3C
4
. G8
& . / /
F
4 H '
. 8. p q S 5 .
{
p }
S
{
2C,1H || 1W
3H |2W| 1W
{
3H || 3W
&
4 4
.
4 4 4 4
.
4 4
>. 4 4& & . 8 &
.4
3.3.4
Problem Decomposition
S0 { || 3C } .
> &
&
" . & 4 .
4
{ 3W || 3H } S3 { || 3C } .
&
&
. 4
& &
{
3C ||
1C,2H |2W|
;
1C,2H || 2W
1C,2H |1W| 1W
;
2C,1H || 1W
3H |2W| 1W
{
3H || 3W
} .
"
{ 3C || } 1C,2H |2W| ; 1C,2H |1W| 1W ; 3H |2W| 1W
{ 3H || 3W } .
3W || 3H
1W |2W| 3H
;
1W || 2C,1H }
1W |1W| 1C,2H
;
2W || 1C,2H }
|2W| 1C,2H
{
|| 3C
? . S2 .
A
.
" 5
. S2 .4 S1
.4
&
S3 " . S2
4 .
5 8.
&
& .4 .
J
{
3H || 3W
T1
;
1C |1C| 1C
T2
{
3W || 3H
} .
3H || 3W
3H |1W| 2W
;
1C,2H || 2W
1C |2H| 2W
{
1C || 2C }
&
2C || 1C }
2W |2H| 1C
;
2W || 1C,2H }
2W |1W| 3H
{
3W || 3H
} .
3C ||
3H || 3W
3H |1W| 2W ; 1C |2H| 2W
;
1C || 2C }
1C |1C| 1C
;
2C || 1C }
2W |2H| 1C ; 2W |1W| 3H
(
;
3W || 3H
|| 3C
H
3.3.5
A Review
&
4 &
" . D
&
'/
.
&
3
" .4
&
. + A
& 4 & 4
. A G' H &
.& . A
. . B
A 4 4&
.
& .
)
. .
.H
2
Exercise 3.3 4 .
'
. 4
.
4 .
'
.
'
=J
" J
. .
"
&
2
3.4
pSq
*
8.
S A .
{ N = 0 } S { M = Nd + r 0 r < N } .
.
& 5I
'
.
& 5 " . S1 S2
S3
S1 ; S2 ; S3
'
& A ' S1
' S2 ' S3 " "
. S1 S2 S3
5
4
8 .
4
p q
r &
"
.
S .& A
pSq
& S
S1 ; S2 S1 S2 .&
A
pS r
1
rS q
2
"
r . S1 . S2
8.
4
" 4 4 D/
"
3C || || 3C "
3H || 3W 3W || 3H 4
A
" F 4& . . 5
" .
&
&
&
S1 I .&
A
S2 &
&
A
S2 I
. .&
r
S1
J
p |5,10| q
&
.
5
. S1 S2 p q
{ 1,2,5,10 || } S1 { p,5,10 || q }
{ p,5,10 || q } p |5,10| q { p || q,5,10 }
{ p || q,5,10 } S2 { || 1,2,5,10 } .
- &
Exercise 3.4 (The Torch Problem)
. . .
A
t1
t2
t3
.
t4
t1 t2 t3 t4 +
. .
B
&
&
.4 4 &
& & .4 4 J
!
(a) "
1
1
3
3
(b) "
1
4
4
5
=J 8 A
G4 t1 t2 t3 t4 1 2 5
10 &H
& 4 4
=4 1 4&
& & .
& . B 4
.
4
.
8
& 4 .4 G? GH
G
H 4 &
H
(a) =4
&
.
2 G8
H =4
& .
2
(b)
.
D&
4
.
4 & &
. 4
2 - . . 4 &
2 G,
& H
3.5
$
Summary
.
/
/ '
.
4
4.
'& & 4 & 4 &
.
I
4
.
&
4 < .
&
<
' .
8 /
&
4& ;.& &
.
.
4& &
(
Chapter 4
Games
"
4 4
4/
,
&
'
.
&
4/
"
G K
LH . 4
4
" & 4 .
. "
& .& '
8
.
" '
.
4
E .
4 +4 4
. &/
& .& 4
G
.
.& .
H
4 4
K
L K# L
5
= 4
4&
.
4
4.1
Matchstick Games
& 4
.
"4 &
#
.
.
"
4
" & 4
&
'
.
4
K8
L
.
& 5&
&
G . '
4 &
4
&
H K
.
L
&
(
)
4
.
8
& 4
& &I &
.
.
.
4 . & 4& . 4
.
4 & 4 4 & .
&
.
.
4
4
'
.
4
1 2
" 4
.
. 3 G
.
0 3 6 9 H "
4 8. m
.
G m
. 3 H &
m mod 3
"
1 2
" 4
.
. 3 "
0
. 4 &
&
4
.
. 3
8
4 &
G
& .
'H 4&
4 " .4 '
& A
" .
% & 4
1
-
4 2
" .
% & 4
0
-
4 2
N
4 N
A' 2
m mod 3
3
* &
(
4.2
Winning Strategies
8 4 .
4 5 . 4 & -
4
4
4
.
.
I 4 4 4 &
& .
4
/.
.
. 4
.
4.2.1
Assumptions
-
.
4 4
-
. A
-
4 &
1 2 3
4
4%
4%
((
)
4.2.2
Labelling Positions
4
+
1 '&
0 +
4
&
&
+
4 +
n 4 n 2
n1
n2 " .
4
.
2 4
4
= 4 4
4 & 4 A
. 4
&
. & . & 4 A
. 4
4 .
"
4 . . 4
J
A
&
& I .
A A
. 4 4
8
9 =4 4
&
4 "
.
.
K& .
4 L
8 . G/'H 4
* &
()
&
.
4 4
& A
. 4 &
" 4
.
?
4 5
K4L 6
KL 7 8
K4L
+ ( 4 .
7
8 " 4 4
I 4 .
4
4 4 " 4
.
+ ( J 6
-
&
&
.
"
4
.
. 3 " 4
I 4 &
4
4.2.3
Formulating Requirements
"
& 4
4 & K
L
&
.
. 3 8
(*
)
n
. 3 n = 0
if 1 n n := n1
;
2 n n := n2 fi
n
. 3 }
n := n (n mod 3)
{
n
. 3 }
.
b S 4 b
/ '
S
'
&
8. . true '
8 4& if / fi
&
/
& 4 . 1 n I
n := n1 KL
&
&
4
C
&
n := n2 C KL
& 2 n .
&
.
n = 0
" .
. 3
.
& 4
.
.
4
. 3
" . . 5
. 4 &I ./
&
n mod 3
" A. A 4
. ' . 4 &
.
4
. 3
!
* &
(
8
8
+
4 4&
& 4 & /
(!
)
-
& &
& 4 M 3 G31 4
H "
M 0 1 2 G '
0 1 H
& A +& .
. &
& 5 .
4
. M 2
Exercise 4.1 (31st December Game)
"4 & &
"
4 & 4
3
0&
% . ' F . & 4
+ 4 & 4 & 4
. 4 & &
=J &
. . *) & G ** .
&H 4
& . & 8
&
4 &
& .& & 3
H G%&H &
. '
& .
&
&
G+ '
A &
&
+
&
0& H
H G=H & &
&
. '
2
4.3
Subtraction-Set Games
.
.
GAH .
I
m
4 m
.
.
($
"
4 D '
.
I .
1 M
&
{1..M} #
'
&
4
+ &
4 4&
/
- '
.&
& 4
4 4
J
.
"
"
( 4 4 < .
6 " 4
4 4 4
4 G-H G6H 8 4
4 4
.
.
+ '
2
&
.
2 1 I 3 4 4
.
0 ?
&
. 4
+ '
.
3 4 4
C
3
0
1
2 8 D
4 .
0
"&
6
#
1
1
2
6
3
3
4
4
5
3
6
4
"
(J - G-H 6 G6H .
{1 , 3 , 4}
)
)
7
"&
6
#
8
1
9
6
10
3
11
4
12
3
13
4
"
( J - G-H 6 G6H .
{1 , 3 , 4}
4 '
J
(
( ( 4 . 4
. >
4& 4
. -
& . .
{1 , 3 , 4} 4
4
&
r & .
.
& 7 8. r 0 2
> 4 4 " 4 &
1
. r 1
3
. r 3 5
4
. r 4 6
" . 4
'
& .
/
4 5 .
4&
.
& 4
4 G . 4 4
H "
.4
4 &
A
6
M " .
M
+ k W.k
true . k 4 false
4 - k M W.k
&
& 5
W.(k1) W.(k2) . . . W.(kM) 5 s.k ?4 & 2M
F 5 .
. M 5 5 s.(M+1)
s.(M+2) s.(M+3) . . .
&
4
2M
" .
j k 4 M j < k < M+2M 4
s.j = s.k 8
.4 W.j = W.k 5 W .
k 4
+ '
& -/6 4 .
&
G"
{2 , 5 , 6} H
)
@.&
&
4 4 .1
4
2
21
22
23
24
25
20
19
18
17
16
11
12
13
14
15
10
)
4
(c)
.
A 4 4& %'
4 &
2
4.4
Sums of Games
-
.
A
I
&
.
4
& F
.
"
. 4
I 4& .
8 4
4 4 .
.
.4 + & 4 4
.
.
.
+ (( '
.
. 4
%
4
&
&
8
. " .
&
& 4 .
8 K
L .
4
. 4
.
" K
L .
&
:' 4 K:L
. K'L
I
F . '& . K:L K'L
.
A (( I 5&
/
.
(
4
4 =4 .
A (( 15 F
)
+ ((J
,
" .
& 4
:' 4 K:L
. . K'L
.
'& . : '
11 I
. 4
1511 F
+
.
.
/. &
8 4 & 4
4 & .
. 4
-
A
F
G . .
H
. F 5
4 .
- A 4 4 D
4 & .
3
.
. &
4.4.1
Symmetry
)(
)
.
> 4
.
&
4&
4 &
"
K
L . 4 .
& &
J
GH .
.
8
4
& 4
4 &
"
4
&
8 5&
4 4 & .
4
.
8. &
.
&
4 . 4 & 4 &
4 m n
.
4 8
5
.
& 0 "
m = n = 0 "
& m = n
" +
4 m = n
G
1 m 1 n H &
4
4 m = n
5&
4
.
'
.
4 & m = n
+
& . 4 & '
& .4 /
5 .
{
if
m = n (m = 0 n = 0)
1 m m
2 1 n n
fi
;
{
if
m = n
m < n n := n (nm)
2 n < m m := m (mn)
fi
{
m=n
" /
4 m 1 m
n 1 n
& .
"
. m n
m = n .
.
))
" .4 5 .
/
D . & . 4 & ? 4 4
4 " '/
& .
I losing &
& 5
{
m = n
m<n n<m
if
}
}
m < n { 1 nm n } n := n (nm) { m = n }
2 n < m { 1 mn m } m := m (mn) { m = n }
fi
{
4.4.2
m=n
Keep It Symmetrical!
"
(( '
.
. &
&I 4
& 4& . . &
&
4
4
.
/
- & 4 4
/
4
"
& '
.
4 &
)*
)
4.4.3
&
.
4 M = N &
.
& F . '
.
&
8. 4
&
/
&
)
&9
- 4 ( 4& 4 /
4
M
&
&
.
.
& M+1 0 " . .
m
m mod (M+1)
4 4
" 4/
K&
G M
'
.
.
. N
'
.
H
" 8 4
0
2 1 n n
&
N
fi
;
4.4.4
)!
)
l := l G.
l H .
GH
r := r G.
r H
" A 4 . L R & . /
& 4& G l,r H '& 4 L.l = R.r
" 5 J 4 . .&2 8 4 4
4 .& . L R 2
" & . 4 & 4 A
+ G l,r H .
'& 4 l
. .
r .
L
R 5
& 4
.
C G l,r H .&
L.l = R.r C 4 C /
G l,r H .& L.l = R.r C "
{
if
L.l = R.r }
L.l = R.r }
L.l = R.r }
& . & r
.
r r
R.r = R.r
? .
. .
. 0 .1 5
& " .
.
5
8. L.l R.r F
)$
L.l < R.r R.r < L.l " 4 A . & 4
&
&
4 L.l < R.r
.
4 R.r < L.l G
4H
{
L.l = R.r }
if
L.l = R.r }
+ &
m R.r
.
r r
R.r = m
& . &
n L.l
.
l l L.l = n
4.4.5
-
A (( .
'
+
(* 4
'
. .
" & &
I 5& & 4&
'
&
/. . " &
& "
'
0
5&
'
4 &
'
G . p q .
p q H "
*
)
*
+ (J
'
"
'
2
&
8
2 5 6
&
8
& & .
&
"
4 4
. F
& .
J
.
.
.
6. ,
,
KL 4
2
2
)
)
2
*
$
2
(
2
"
(J +
K2L
+ 4 4 + 4/
4
.
: m 4 K:L . K6L G.
K.
LH KL G.
H m
.
/
2
4.5
)
Summary
&L
4 .
4 4
A . K
'L
.
" .
' .
& F
4 K
L . 4
/.
,
& 4/' . #
4 4 &
8 &
&
/
> .
.4
& . &
.
4 . .4
&
. ' '
. K
/
'&LI & .
&
. 4
4 & 4
#'
4
& ,& K?
L
'
K/,&L
. /
?
4/4
.
-
& & 4 4 ?
.
4
'
G-
4
'
.
. 4
H
4.6
Bibliographic Remarks
" 4/
K- -&L M ,! N
&
4& ,&
.
&
" 3
G' (H .
M3-N
Chapter 5
Knights and Knaves
" . A . 1
& & " 4 & . K L 4 4&
KL 4 4& 6 << .
.
& 4 4 4
&
"
& & C
n
2n F
&
C &
& 4& .
8
<< & ' .
4 4
5.1
Logic Puzzles
4 2
(b)
4 2
&
4 . B
.
4
- &
4 2
" & K
-
.
. 2
*
&L
*(
5.2
5.2.1
Calculational Logic
Propositions
"
4
4 ' 4
- . '
4
' m2n2
4
. (m+n)(mn) & .
. m n - & m2n2 (m+n)(mn) " 4
m2n2 = (m+n)(mn) .
"
. . 64 &&
5
4 ' " & K
L &
4
4 & KL &
& . . &
' -
nn = 0 ,
-
*)
. 4 4 .
n - & & K.
n L " 4 .
4
& +
'
K& . L
5&J
(m+n)+p = m+(n+p) ,
5.2.2
%5& . <<
4& 4& 8. .
K L true false
&
K
.L . A K L
S. "
. 4
"
A=S .
**
+ '
. & K .L
A=L ,
5.2.3
Boolean Equality
&
& 4 . %5& . 8
. 4
true false - 4 & .
-
*
. 4 . & &
x (y z) = (x y) z .
xy = yx .
&
& . 5&
4 4
& . 5&2 8 5&
2
" 4
5 1
&
.
& . &
.
. 4
.
" ' (p = q) = r D 1
4
p q r
5 " ' 5&
.
- p q r
p = q 4 r . 5& " (p = q) = r
.
& p = (q = r) 8
4 .
5& 8 4
4 5& .
C &
" .
p q r
G)H
[Associativity]
((p = q) = r) = (p = (q = r)) .
B &
&
. (p = q) = r .
p = (q = r)
B
. 4
(p = q) = r true . 4
. p q r true 8. 4 .
false (p = q) = r false
" & . 5& & 4. & .
& . ' - 4 '
I
& '
.4
" E'& . 5& '
&
(p = p) = true .
*!
"
&
.& '
&
K true L .
' . .
p = true -
4
5.2.4
Hidden Treasures
- 4 .
6 A
) - 4 .
& K8
5 L2 6 A . K
L G . K L " 1
A = G 4
A = (A = G)
true
=
1
A = (A = G)
=
(A = A) = G
=
(A = A) = true
true = G
=
5& &
G = true
=
G = (G = true)
G .
-
*$
5 & 4
K&L . . .
.4 KL
. .
.4
4 4
6 Q
5
"
4 4 5 4
A = Q 6 L K
.
& .4 . .L " 5
L
5 " 4 5 L = (A = Q)
L = (A = Q)
=
(L = A) = Q .
5 Q
L = A " 5 K8
. Q
.
& .4 . .1 5 . Q&
1 L
? & & . 4 L 8
& 4
4 4
& 4 8 . 5
4
P . 5
P = A 8 .
' P 5
&
A
5.2.5
.
1
C = (A = B)
A = (A = B)
=
(A = A) = B
=
(A = A) = true
(true = B) = B
true = B
=
{
B .
5.3
. &
& A' "
A
3 4
/
$ + %
$ %
)
x=y=z
5&
x = (y = z) ,
D
4& 4 4 x+y+z 2 " 4 .&
G. '
true = false = false false A
true H "
D 4
. .
8 4
& . x = y = z & 4&
x = y y = z I 4
. 5 . '
&
5& &
4 & . ' D
G. &H & C. C 4
5
&
F
"
4
'
& K L &
C (p q) r p (q r) 4
C 4 '
p=q=r
%
C p = q q = r C # &
"
. .
p1 = p2 = . . . = pn
p1 p2 . . . pn
& .& ' G & 4& 4
FH '
&
# 4
K L &
K5LI
.
4 4
& 4
. 4
5& " &
&
5 A '
E'&
G) H
[Reflexivity]
5.3.1
true p p .
m+n '& 4 . m n
(m+n m ) n ,
GG m+n
GG m+n
GG m+n
GG m+n
H
H
H
H
Gm
Gm
Gm
Gm
H
H
H
H
Gn
Gn
Gn
Gn
HH
HH
HH
HH
5.3.2
On Natural Language
#&
4 5& .
I
. 4
. 4 F
. . .
5& #
5& K. & .L 8
5& .
& A /
G H /
G H A K/
/L
"
' .
& 4
. .
KL KL KL &
. 5
GK8. 8 4
&
LH " 5& &
4 A
&
)) 4 & .
5 I 4
5& KL 4
?
5 " '
5 K
4 & 5
& 5
&L
&
& .
& 9
(
4& '
4J K5 L K L 5
G
4
4
. H E
4&
& . '
$J() J
&& 4 1 A
& J9 B 4 4
& 4 4 4
F
4 $() J 8
. 4 .
& . .
4
.
4 4& 4&
"
.
.
"
KL
F
5.4
Negation
[Negation]
p p false .
p = (p false) ,
.
)
4& .
.& ' 8 &
&
. 5
4
5 &
4 4 &J
p = (p false) .
"
A B .4J
A B A
=
A A B
=
false B
=
B .
*
+& 4 G) H G)H " .
A
p r .
A
q + 2r
false false
=
true .
5.5
Contraposition
G)(H
[Contraposition]
p q p q .
"
. . .
(p q) = (p q)
- .
& /
G
H
. .
.
8. 4 n
. l
0
$
%
(
8 4
.
&
"
.
even.n l
.
even.(n+1) l
=
even.(n+1) (even.n)
(even.n) l
=
even.n l .
- &
. <
4 even.n l & true 8 4
.
5
.
'
.4 5
5
4&
& 5 4 4 G A )H =4
& &
& 90 . .
8
2 8. 42 8. 4 & 2
!
90
+ ) J 8 4
&
$
4
.
/. . /
/ 4& & 5
'&
=J =4
&
2 #
. F
.
. 5 4 I .&
4 4
2
5.6
Handshake Problems
L
. & 4 C0 0 &C 0 4
0 5 0 4 0 +&
K/E'L
/ 4
- 5 4 G H 4
.
6 ' 5 . . /
4
.
n " & 4
n
=4 /E'& & 4
-
& 4
4 0 n1
" n
0 n1 " . K4
.
L K&
.
L
8
0
n1
" &
!
8 4 x 1 4 y 5 y 1 4 x ?4
a 4 b 4 &
" a 4 b (aSb) b
4 a bSa
5 . 5 4
(aSb)
aSb 4 .
"
& 4
.
4 4
.
? .& 4 &
K1 L
. G
4.H &
=
4. >
K L & 4
&
& ./
. 4 &
=4
&
1
2
2
5.7
Inequivalence
!
(B A)
=
B A false
=
B A .
[Inequivalence]
(p q) p q .
. 4 &J
((p q) p) = q .
((p q) r)
=
(p q) r
=
p q r
=
p (q r)
=
(p (q r))
=
p (q r) .
4 4
"
p q r 4 . .
/
& ?
& 4 4 p q r p q r
5
A 4 '
4 4 5 4 5J
(p q) r
=
' A . p q
(p q) r
=
(p q) p q
p q r
=
&
p (q r)
=
A . q r
p (q r) .
Exercise 5.8
.& .4 G?
4 &
'
P
1
& FH
(a) false false false
(b) true true true true
(c) false true false true
(d) p p p p p
(e) p q q p
(f) p q r p
(g) p p p p p
(h) p p p p p p
p = q = r
!"
!
2
Exercise 5.9
2
Exercise 5.10 (Double Negation)
p = p .
2
Exercise 5.11 (Encryption)
(p (q r)) ((p q) r) ,
& " &
b . & a
& .
. b
a b " &
c
"
& a
a c 4 .
b & & 4& b
& . & a
2
5.8
Summary
"
4
!(
" & . 5
& .
' =4
' . " . / . <
&
K 0 L
KL
.
D
F
" .
KL KL
4.
" . 5& .
4
$ 1
& . " 3 4 &
0 64< G K>
. L M")*NI
" .
H ? . 4
.
& %- 3D 4
Chapter 6
Induction
K8L
/ 5
.
.
" 4
4
K<L . .
+
'
.
4
.
I .
.
<
.
5
< /
4
C 0 1 2 3 -
. /
4
;& 4 < . .
5
.
= 4
< 4
4 + 4
. < 0 " .
&
& & G" & .
KLH
4 4 4 .
&
n
. < n+1
. < n "
& 4
. < 0 - 4 4
. < 1 I 4 &
. < 1 .
6.1
Example Problems
#
!)
!*
/
.
. 8
& B
-
Cutting the Plane
. 4 . '
4& .
.
A * 8 4&
. 4
4 4 D
G
4 . &
F H
Triominoes
5 . . < 2n2n 4 n
" 5 " > 5
.
6/
.
5 + * 4 . 88 4 5
>
4
5 4 G/H
G+ * 4 H
?J " n = 0
&
Trapeziums
5 4 . 2n .
n
.
5 "
5
/ <
.
5 A *(
*
0 1 2
/ !"
!
+ * J "
%
6 &
#
" <<
4
4 A' > A .
. 41 , '& . .
F < . < G A **H "
4
.
& .
&
"
1 4
4 &
.
A .
!!
/
=4
. /
H
/
!$
6.2
.
J
. 4 .
' 4& .
.
A * 8
4&
. 4
4 4 D
G 4 . &
F H
+
.
. K<L .
"
K
&
. L
"
4 4 4
4 <
C K
L . C 4 4 4
$
/
" 4 < & " .
4
. G
. D H
+ 4
.
4
. F
4
4 D
"
- 4 4 " 4
. ' 4I . 4
' .& + * '
"
4
& A
4 5 4 . &
"
F . . . 4
.
& . > .
%4 D F " 4 4
.&
.&
+ *J
" & . & .& /
G
4 /H .&
?4 . 4 6
G& .
4
&
.
. 8 D
&
4& .
H ?
.& . . . 8
. &
. " .&
. . G
. .& /
.& H 8 .& . G
/
$
1 4 .& &H . D
& . . .&
&
.
F
+ *! 4 F '
.
.
+ *!J " .
G
4
4 H
"
8 &
.
4 & 4
& 4 .
" /
&/ %
'
A
"
/
4& " .
. G
4 H A " . G4 A
4 ' H A +& 4 K.L
4 K L A "
A
6.3
/
Triominoes
'
.
*
.
5 . . < 2n2n 4 n
" 5 " >
5 .
6/
<
*
$
6.4
8 * * 4 4
.
K<L " & 4
K
LI
KL
&
K8L . '
'
. .
4
& 4 . .
.
.
'
. 34 .
&
.
&
.
.
. 4 8
64 .
& .
& 4 4 &
& 4 4 8 '
4 4 & I &
& &
&
.
. 8
. . 4 .
' 4 4
&
4 4 &
8 4 .
' 4 . 4
&
& .
. ' 4
(
. 81 /
. . .
.
%
4 D
.
' 4
,//.&
. 4& .
G,
.
. DI A . 4
$(
/
H
.
( '
.
/
. '
( J
.
.
4 4
4
%'
4 4 0 3 6
4 1 2 4 5 7 8
4 "
J 4
.
. 3 4
"
D
.
D =4
4 .& D
&
4 &
8 4
K<L . .
&
.
&
.
& 3 4
K<L . . 0 1
0 K<L
. . 3 4 5
1 " &
. 3n
. 3n + 1 3n + 2
4
"
. 4 n 5 0 . 0
& A
4
. 1 2
4
&
?4 . 4
. 3n
. 3n + 1 3n + 2
4 - 4
. 3(n+1)
. 3(n+1) + 1 3(n+1) + 2
4
3(n+1)
" & 4
1
2
3(n+1) 1 3(n+1) 2
"
. 4 3n + 2 3n + 1
& &
4 = 4 3(n+1)
?4 3(n+1) + 1 3(n+1) + 2
& 1
A 2
&
4 3(n+1)
" 4 4 4
= 4 3(n+1) + 1 3(n+1) + 2
4
"
. 4
A
D '& 4
.
. 3
6.5
$)
- & D & A 8 &
' .
.4
#& D
.I &
&
D
. . 4
.
& "
/ '
. . D
n
. .
D
" 4&
. . " 5 4
&
2
+ * 4 4 n 1 2 3 4
+ *J
"
. & 1 2 4 8 "
. .
& n 2n1 8 D
&
n = 5 G- 4 AH 8
. 16 4 251 =4 . n = 6
. 31 9
G A *H ? n = 6 A 4 4
5
= 4
& n = 0
D
4 &
C 1
& 201 /
9 " &
5
4&
5
n F .
0
" . .
.
.
n 5 0 9
6.6
8
' . 4 .
@A
D 4
C
. &
$*
/
+ *J
4 .
A . 1 D
4 A
.
8
A
/
.
.
"
.
.
.
"
4 4
.
.
.
k 4 . A n
4/4 .
.
.
1 n :
1+2+ ... +n =
1
n(n+1) .
2
1
n(n+1)(2n + 1)
6
13 + 23 + . . . + n3 =
1 2
n (n+1)2 .
4
$
=4 4 & 2 @A .
4 & 4 . 5
& 4 4
2 & 4
4
"
P.0
=
A . P
$!
/
S.0 = a + b0 + c02
=
S.0 = 0 G
.
& .
0=a .
A . P a = 0
S.(n+1) = S.n + n + 1
J P.n a = 0
. 4 . n
c = c b+1 = b + 2c 1 = b + c
=
{
1
2
=c
1
2
=b .
+
D
. A n
5 n 4
1+2+ ... +n =
1
1
n + n2 .
2
2
%' .
'
1m + 2m + . . . + nm &
. . &
m "
J
&
n 4
m+1 ; .
4 . S.0 0
S.(n+1) S.n + (n+1)m G4 S.n 1m + 2m + . . . + nm H
$$
&
.
5 +& &
.
5
) J 8 .
1 + 2 + . . . + n 4&
.
& 4 4 5
n
n1 T
1
n+1
&
4
n
n+1 T
+
. n . n+1 4
1
n(n+1) =4
.
1m + 2m + . . . + nm
2
. m 1 *
Exercise 6.3
10 + 20 + . . . + n0 12 + 22 + . . . + n2 .
2
Exercise 6.4
4 .
.
4 m
n
& .4
'
G. '
m
1 n
& m 2 n 3 H .
.
4 4 4 4 4
&
"& .&
4&
4 8
.
2
6.7
Fake-Coin Detection
"
. **
L -
/
6.7.1
Problem Formulation
6.7.2
Problem Solution
> .
.
.
.
n
The Basis - <
4
c.(n+1) c.n = 2 c.n + 1 = 3n .
"
I
& . 4 4
G
4 4
c.(n+1) 4 4
H -
A
c.n + 1
. 4
" '
4 . A
"
. 4 4 & 8.
/
. . 4
K
&
L K
& &L %'& . .
4
4
n
.
3n
& 8. n 5 0 4
.
" 0 G n H
.
+ 4 .
4
4 3n+1
8 A
.
.
8 &
&
5&J 3n
.
3n . 3n
"
4 F 4& 4
4
-
.4
l1
& . l2
&
& h1
& &
. h2
& &
" 4 & .
4 5
.
. 5
" l1+h1 l2+h2
5 +
&
& 5 3n
?4 .
. 4
.
& &
&
4
4 l1
&
. h2
& & .
G
& &
& 5 HI h1+l2
. & . h1
& &
. l2
& &
l1+h2
.
& & 4 5
.
5 3n 4
.
"
5
h1+l2 = l1+h2 = 3n " 4 l1+h1 = l2+h2 4
. l1 = l2 h1 = h2 -
5
. .
" 5
& 4
. .
. 3n
4& 4 4
" 4&
4& .
4 I
& &
4 .
4
The Complete Solution "
/
/
" . A .
. 3n+1
& 3n 4&
5
.
& .
.
. .4 '
8.
4
.
& .
& &
4
& & .
&
&
& & .
4
& &
&
.
"
/
4
. (3n+11)/2
.4
3 . < (3n1)/2 (3n1)/2 + 1 (3n1)/2
A . 4
3
.
.4J
(
/
. 4 ' . K
& &L
# K
& L &
. 4 ' . K
& L
# K
& &L &
)
6.8
Summary
.
.
& K<L
. K<L .
(a) . K<L 0
(b)
. . K<L n .
& n
. K<L n+1
A
6.9
Bibliographic Notes
*
/
Chapter 7
The Towers of Hanoi
"
"4 . =
"
&
' .
A
. KL
/ &
" "4 . =
<< 5 4
&
/ & 8 &
4& .
A =4
&
. 8 4&
. 5 J &
. 5
+
4
4 .
> .
4 4 I "4 . =
I
. .& .
4
. . .
7.1
7.1.1
%
6 &
#
" <<
4
4 A' > A .
. 41 , '&/. . F <
. < G A H "
4 .
!
.
A .
& &
4 4
9
7.1.2
Iterative Solution
1
&
$
7.1.3
WHY?
4 /
4 8. & &
C
4 8
9C
4& # 4
4
. 4 4 .
A . .
" 4 4 9 8 4 A
.
"
&
. 4 4 4
.
7.2
Inductive Solution
"
4
A
& "
4&
&
A .
4
G
&H 4
'
&
1
&
false /4
" k , d
k .
d "
5 [ ]
& 5 [x] 5
4 '&
x " .
.
5 Hn.d
4
n
/
&/ .
d .4 .
.
H0.d = [ ]
Hn+1.d = Hn . d ; [n+1 , d] ; Hn . d
5
. 5
7.3
8 4 4
4& & 8 . 4
- 4 & 4
.
.
" & . k , d 5 Hn+1.d
even.k d G 4& 4& .H "
/
5 . . )) - .
.
Hn+1.d
K n+1 L
& K n L K d L
&
K d L even.(n+1) (even.n) . even.(n+1) d
- even.k d . G. k , d 5 Hn+1.d H
4 . n d 6 N D "
.
k , d 4
even.k d even.N D .
" .
4
.
d . k A&
. 5
. 4 /
& 4 /
& 4 @/ . 5
.
4 /
& 4
/
& 4 8
G4 /
H & D .
N
D . N
Exercise 7.3 '
4
&
.
. &
4&
4
" 4 . 41
4 4 4 4 4 =4 & .
4
.
(
> ' & 4
.
.
3
2
2
Alternate Disks
> alt.(diskn.d) " .
& n "
n = 0 &
& 5
+
& . 5 4 .
. 5 ks
k
alt.(ks ; [k] ; ks)
A
)
true .
" ' . &
Exercise 7.4
>
. 8
.
& . '1 A
. &
" .
4
& 4
4 I & / 9
+& ' 4
4
// /
4
& 4
& . 41 " & 4
.
- 4
'
2 & 4 &
&
&
2
7.4
Summary
*
7.5
Bibliographic Remarks
8.
& . "4 . =
.
M$N .
. . 4
M6!N " .
.
M+N
Chapter 8
The Torch Problem
8 4
.
' ( "
&
. I
A&
4 .4
N 4
8 &
4
& &
4
"
4
2
&
"
.
1 N. i
t.i
I 4 4 &
.
4
4 N
+
& 4
t.i < t.j 4 i < j G"
4
8.
t.i = t.j .
i j 4 i < j 4
4& (t.i , i) 4 i ' &
K
L
4
4
&H
8.1
" .4 5 & &
/
A
4 5
81
4
& " 4 F
4
K
L K4
L
!
2
8
. 4
. 1
2
5
10
& 5
4 4 .
17
8 4
5 . /
8
& '
5 . 5
4 17
4 4
4
-
.
. F
4 4
# . 4 . 4
8.2
Outline Strategy
>
4
. &
"
. "
.
. .
2 7 &(
$
. K
L G K
L
H
4 A &
& 4
.
A
&
.
+ '
.
4
A
& & 4
&
4
&
- 4 4 . '
{1a , 2b , 0c}
. a b c 4 a b 4 c
+
& 4 4 {1a , 2b}
8
F .
5 % 4
4 4 4 '
4 .
G
{1a , 2b , 0c} . '
H A
" ' {1a , 2b , 0c} {2b , 1a , 0c}
& . . '
{1,3}
4 1 3 8. 4
4 .4
4 A' 4 K + L G. .4H K L G. H
+{1,3} .4
& 1 3 {2}
& 2
4
. 4
. .4
5 . -
&
. . 5
. 4
- 5 . & 4
"
- 4 & 5 5
.
& A
. ?
E' G& 5
.H G.
5 a
5 b 5 b
5 c 5 a
5 c H "
A
5
5
+
& "
.
4 .4 4 /
J
2
>/
5 .4 I /
" . 5
"
&
4 .4
4 .4 G T
& i .
iT H
"
. .4
.
"
. .4
&
.
&
.4
"
5 & . .4
" A G
"
. .4
N1
. N2
G N
. H
"
& 5
4 & 4 .4
I 4 &
4
G74
. .4 &
4
&
"
.4
.4 8 4&
.
H
#
& 4 D
. .4 5
+
. .4
& . 4
-
&
4 4 -
8.3
Regular Sequences
Lemma 8.1 %& 5
& &
. 5 4
Proof 5 - 4 J
A .4 A
4
8. A
4
& p &
8.& .4
& p
4
p
.
# .
& 5 .
u +{p,q} v {p,r} w
4 q r u v w
5 p 4 v
G? .4
& p 4
A
4H 5
&
u +{q} v {r} w
&
4 .4 "
. p
4 &
. p
& p
&
.
.4 "
. & x
y t.p x + t.p y x+y H "
.
4 .4
. /
?4 A .4 " 4 J
& A 5 & A
8. A 5
&
.
2
u {q} +{p} v
q s p q. "
4 J .4
8. .4
q p 4 p 4 q
q 1 p 1 " .
8.4
6
2 &'
#6
.
&
& 4 " . A 2(N2) N2 2 I
. 2(N2) + 1 &
& 5
. &
. .4 5 4I
4
"
. .4
4
&
.4 =
.
.
4
.
+ '
.4 5 .4J
3{1,2} , 1{1,6} , 1{3,5} , 1{3,4} , 1{7,8}
(
2
. .4
. "
Vhard + Vfirm + Vsoft = 2 Vsoft + Vfirm Vnomad + 1 .
%5&
Vhard + Vnomad = Vsoft + 1 .
-
%
. F < 4 G8.
& F 4 H
i : 1 i N : T : T F : iT
G8.
& &
. F H
G!H
+
& 4 4 .4
2 &'
#6
)
Lemma 8.4 , 5 . N 4 N
2
. .4 F
.
5
& .
. N
#
& 5
.
.
F 6 VFT
& . T F. "
G!)H
4
G!*H
rF.i = T : T F iT : VFT 1 .
G rF.i
.
i H
2
.
G!H
G!$H
8. N G
. H 2
Vnomad.F 1 8 .4 .
G!H Vsoft.F 1
?4 4 4 4 5 .
F
Lemma 8.10 , N G 2 H N
5 .
.
F N "
& 5
& G!)H
Proof " .
& < .
F
- " 4 F . '&
G4
& H " 5 D
" & 8 Vnomad.F = 1 8 &
F A
" .
{n,s} 4 n
s
" 5
&
&
. F
&
*
2
& . . F
& 1 G"
. .
F H - 4
F 4
.
.
" .
A
F 1
,
F T F 4 i : iT : t.i VFT
T F G
K F L
. .
'H + i 4 . t.i rF.i
i
G i 1
H
8.5
& (p, q) q p &4
F - N
#
&
&
t.q t.p
" .4
. p q . "
.4
. & q G
t.p < t.q H
" .4
. & p
&
t.q t.p " A
& 4 " A 4
p {p,q} 8 4 p q F
0 8 p {p,r} 4
r = q 8
t.p t.r + (t.q t.p)
=
& .
'
t.p t.q
& .
'
t.q t.r .
+&
. .4
" F
" .
.
&
"
& . .&
F
2
Corollary 8.12
%& N
& N
F 4
.4 J
8 & A
F
1
%& . F {1,2} G?J
& .
&
0 H
"
& . {1,2} F j .
j 4 1 j N2
!
2
i 4 =4
G
& t.i t.1 H -
N
4
F
G .
?4 . F F .
{1,2}
4
& {1,2}
4 &
F
-
& 4 .
G!H .
&
. {1,2} F j .
j 4 j 2 j1 -
. A
4 4 1
&
A
I .4
1 &
F .
G!H "
1 2
. GA
H F
8
4 4 j 2 .
{k: 0 k < j1: {N 2k , N 2k 1}} .
G"
& . 1 4
4
H
. . j 4 j 4 "
3 N 2(j1) .
.
N 2(j2)
. A
&
&
&
. 4 4
A . 4
"
&
.
2
2/
8.6
$
The Algorithm
HF.1 + FF.1 + 1 t.2 + (N11) t.1 + (11) t.2
=
2
HF.(j+1) HF.j = t.(N2j+2) ,
FF.(j+1) FF.j = (t.(N2j+2) + t.(N2j+1)) .
5
OT .(j+1) OT .j = t.(N2j+1) + 2 t.2 t.1 .
?
OT .(j+1) OT .j OT .(k+1) OT .k
=
t.(N2k+1) t.(N2j+1)
=
t
j k .
. OT .j
& . 4 F .
.
"
4&
& 5
N
4 j 1.
2 t.2 t.1 + t.(N2j+1) .
8. true
. {1,2} I .4
& . 1
{N2j+2 , N2j+1} . 2 8. .
N2j+2 N2j+1 A
8
& 1 I
4 4 1
-
N
.
&
&
. j " .4
{
2N }
i,j := 1 , N2 ;
{ Invariant:
1 i j N2
21
k : j k < N2 : OT .(k+1) OT .k }
do i < j
m := (i+j)2 ;
if
fi
od
{
1 j N2
>
j
& . {1,2}
OT .j
5
" j1
. & ! /
A
.
8.7
Conclusion
4
"
. .
. .4 @
.
2
8.8
Bibliographic Remarks
8
/%
KE
LI
/
K
L "
&/
/
4 & .
MN 8
.
& 2
I &
& M N
. K
L
" F/
A % . K
L 4 D
. 4 "
F
. G8. N = 4 & .
3
1 1 4 4 4
8 4 5
"
3 9 H " . K&L .
4& 4 .
.4
K.L G
. & .
H 1 .
.
. K
L .
4
Chapter 9
Knights Circuit
"
& B
&
& /
4 F
"
A 7 1
.
" A 5 .
4 7 5 .
5 '& 5 4
"
.
I
&
&
' '
. 7 .4 /
C /
=4 64 5
I
64
. 5 +
.
5 . D 2
.
. 16 5
. 8
G A $HI .
5 4 6
"
.
.4 6
. &
4
4 & 5/
9.1
Straight-Move Circuits
(
8 ,9
8 &+:
)
.
5 F 5 > 4
4 .
4H
(b) + 4 . m
/
.
. < 2m1 2 G 2m1
. 5I
. 5
2m H
(c) 4
/
. 2n
.
GH . n G 2n
4 4 4 n 5H
2
' . 5H /
4&
4
< 2n . n "
4 4 & /
. 2mn
. m
n
& m 2n
.
"
4
. < 2m n
4 m 1 .
4 m
1 2m n
4
. < 2p n 2q n &
4
p q
m p+q 5 m -
&
& /
.
-
D
4
" &
5 " 4
.
&
/. . 2q n
/
.
4
+ $ 4
*
8 ,9
n
2p
2m
2q
+ $ J
/
+
4
/
.
n
2p
2m
2q
9.2
Supersquares
!
8 ,9
+ $*J
7 .
5 .
5 8 A $
. 5
&
I . 7 4
0110 1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
11111111111111
00000000000000
1010 1
0
0
1
0
1
0
1
0
1
0
1
1010 1
0
0
1
0
1
11111111111111
00000000000000
00
11
0
1
0
1
0
1
00
11
0
1
0
1
0
1
0
1
11111111111111
00000000000000
00
11
1010 1
0
0
1
0
1
0
1
0
1
0
1
1010 1
0
0
1
0
1
11111111111111
00000000000000
0
1
0
1
0
1
1010 1
0
0
1
0
0 1
1
0 1
0
1
+ $J GH 3 GH 7 1 # +
GH . 5
&
+
4 4
+ $! 4
.
5 C
/. 5C & /
4 <& 4 "
+ '
.
/. 5
/.
5
/ 5
>
. @
E
' 4 <
E
< ' G"
/
/&4
/
/
I <
/'//
4 4 &4/'// 4H
1111
00
00
0011
11
00
0011
11
0011
00
00
11
0011
11
0011
0011
00
0011
11
0011
0011
00
$
5 2 2 5 1800
c G . KLH
"
& A . c
G$H
v;h = c = h;v .
- 4 A 2 2 5 " .
4 / %4 4 skip
= .
& 4 n G . K LH + 4
& 4 <& 4 1800
" I
G$(H
n;x = x;n = x .
" 5 G$H G$(H G$)H 4 .
. G x .4
& 4
y z
A x .4
& y 4
z C &
x ; (y ; z) = (x ; y) ; z H 4
A . & 5 .
+ '
(
8 ,9
v;c;h
=
v;h = c
v;v;h;h
=
v;v = h;h = n
n ; x = x 4 x := n
n;n
=
n .
8 4 E & 1800
E <&
G? 4 &
/
&
4 A " . A' . K.4
&L . /
5H
Exercise 9.6
4/
4 F . '
4 x y "
. 4 .
& . n v h c G; & . E 5
H
;
.& . x y {n,v,h,c}
G$H
x;y = y;x .
x ; (y ; z) = (x ; y) ; z .
9.3
(
" A . . 5 A 4
7 1/
. 5
K n L
"
A. 5
5&
n v h c
5 5 + $$ 4
4 4
/. 5 K n L 5 "
11
00
000
111
00
11
000
111
00
11
00
11
000
111
000
111
00
11
111
00
11
111
111
111
000
000
00
11
00
11
000
000
v 11
c 11
v11
c
11
111
111
111
111
00
000
00
000
00
00
000
000
00
11
000
111
00
11
000
111
00
11
00
11
000
111
000
111
n 11
h 11
n11
h
00
11
000
111
00
000
111
00
00
000
111
000
111
00
11
00
11
00
11
000
111
00
11
000
111
000
111
000
111
11
111
11
111
111
111
00
000
00
000
00
11
00
11
000
000
00
11
00
11
00
11
000
111
00
11
000
111
000
111
000
111
v
c
v
c
00
11
000
111
00
11
000
111
00
11
00
11
000
111
000
111
00
11
000
111
00
11
000
111
00
11
00
11
000
111
000
111
00
11
000
111
00
11
000
111
00
11
00
11
000
111
000
111
00
11
000
111
00
11
000
111
000
111
000
111
00
11
00
11
n
h
n
h
00
11
00011
111
00
000
11111
0011
00
000
111
000
111
00
11
00011
111
00
000
11111
0011
00
000
111
000
111
+ $$J 6
5
(
8 ,9
.
/
.
. 4
4 8 4
/
. 4 4
?4 K L 7 1
K L 4 5 .
"
4 /
. . .
. 5
8 A $$
.
5 . 5 .
5
. &4 5
- 4 . %
5 . /
" A
" 4& '
KL 7 1
G.
A $ .
. KL
'H
4& .
.
4 + '
4
K/
L . .
I
& 4
&4
K/&4L +&
&
/
/&4
.
+ $J
. .
K/
L K/&4L " /
(
L 4 4
&4
>
.
.
&4
5I
5&
K/L K&4/
L
1111
00
00
111
00011
0011
0011
00
000
111
000
111
00
11
00
11
111
000
00
11
00
11
00
11
000
111
000
111
00
11
00
11
000
111
00
11
00
11
00
11
000
111
000
111
0011
11
00
00011
111
0011
0011
00
000
111
000
111
00
00
00000
00
11
00
000
000
11
11
111
11
11
111
111
00
11
00
11
000
111
00
11
00
11
000
111
000
111
00
11
00
11
00
11
111
00000
11
00
11
00
11
000
111
000
111
00
11
00
11
00
11
000
111
00
11
00
11
000
111
000
111
11
111
1111
111
111
0011
00
00000
0011
00
000
000
00
00
000
00
00
11
00
000
000
11
11
111
11
11
111
111
00
11
00
11
00
11
000
111
00
11
00
11
000
111
000
111
0011
11
00
00011
111
0011
0011
00
000
111
000
111
0011
11
00
111
00000
1111
0011
00
000
111
000
111
((
8 ,9
()
+ $J
.
/# +
G/
& H
& .
G
&
H
.
/. & .
I
4 &
&
& A
-
8 8 6 8
. *
4m 2n
m n
m 2 n 3 .
G" . . 8 8
. 6 8
. /
8. & & 90 4
.
H
2
Exercise 9.12 3 .
. < (4m + 2) (4n + 2) 5 &
(2m + 1) (2n + 1) KL
.
GH 5 /
& '
$
=4
7 1 .
.
< (4m + 2) (4n + 2) 4
m n 1
& ' '
$
" & . /
.
.
5 G ' $ . 4 H " .
(*
8 ,9
11
00
0011
11
00
00
11
+ $(J & . 7 1 . (4m + 2) (4n + 2)
> 5 . /
5 " 4
. & . 6 6
# . .
&
9.4
Discussion
8
. &
& 7 1
&
4
& '
.
/
8 5
(
"
4
&
/
C 7 1
/
" & .
4
'
" .
4
7 1
"
.
8 8
&
" &
A .
K L KL
/
. 5
/
>
.& &
7 1
4
. 4
& &
.
4
.
&
5 4
7 1 .
4
. 5 " 4
< (2m) (2n + 1) .
m n G"
H +
. < .
. 4 7 1 ' $)
" 7 1/
'
A
.
4
& 4
& 4 " n v h c .
'
. KLI 5 .
&
'
. K5 L .
5 . D '
.
K5
L
" 7 1/
. .
K=
/
L 8 =
/
/ K L G 4 . KL 4 KL H
5
A '&
.
=
/
.
.
K?/
L
?/
& . A
& . "
& 4 G. '
& 5 . 5
& 4
7 1 HI 4 . . ?/
(!
8 ,9
4
. K
'& &L
.
& 5.& 4
&
9.5
" 4
9.6
Bibliographic Remarks
Solutions to Exercises
2.1 1233
& 6 k
. &
g
.
& 8& k g
5 0 %&
&
& k
g 4& 5 "
12341 &
=
.
&
8 . p &
. p1
2
2.2 6 m n p
.
D .
"
&
m,n,p := m+1 , n1 , p1 .
mn np pm 8 & & .
&
G8 F
& 2 H
. F . &
4& G < 4H 4
4 F 4
.
< F "
.
D
.
.
"
D
D .
5 &
D
8.
D
4
D . F
.
D . .5& 4
.
D
+
& 4 'J
do mnp = m m,n,p := m+1 , n1 , p1
od
2
($
)
3.1
{
5C ||
5H || 5W
5H |2W| 3W ; 2C |3H| 3W
;
2C || 3C }
2C |1C| 2C
;
3C || 2C }
3W |3H| 2C ; 3W |2W| 5H
;
5W || 5H
|| 5C
2
3.2 -
.& A/
F&
&
.
- J
{
4C ||
4H || 4W
4H |2W| 2W ; 2C |2H| 2W
;
2C || 2C }
2C |1C| 1C
;
3C || 1C }
3W |3H| 1C ; 3W |1W| 4H
;
4W || 4H
|| 4C
4C ||
)
4H || 4W
4H |1W| 3W ; 1C |3H| 3W
;
1C || 3C }
1C |1C| 2C
;
2C || 2C }
2W |2H| 2C ; 2W |2W| 4H
;
4W || 4H
|| 4C
2
3.3 6 M & .
N
.
-
N 2 M
. 3 N/2 G"
GH
"
. 4
8 5
. & & G8.
0 < lH < lW 0 < rH < rW 8 4 4
.
8
H
?4 4
M N
(a) "
.
G(H
M < lH ,
(b)
G)H
M lH .
)
.& & > 4
? .// lH P lW
- 4
. J lH = N (lH = lW) (lH = N)
N/2
. lH = N
.
N/2 . .
" G
H .
8. (lH = lW) (lH = N)
. & lH = lW
/
& G"
G*H
lH H " 5
. 4
&
. lH
&
1
G(H
. I 5& G)H .
" G
H .
8
4
. G
H
?4 G
H
.
. //.
lH P lW lH = 0
. lH
lH = 0 . G& 4
M
/< lH = 0 >
&
&
0
' .
9H
4 4 J
8.
. lH I . M < lH
G. H
.
" GH .
8. & 4
lH = N G
G*H
. & 4
lH = lW H " lH
M < lH
. . .
. . .
" GH .
8
4
GH .
8
& & GH & . GH .//
G
H
I / . G
H //.
GH
GH G
H "
2
)
& 1 2 G 4 .H 4 1
" 3 4 2 +& 1 2
"
&
t1t2 + t1 + t3t4 + t2 + t1t2 .
"
.
.
H
A &
4 t2+t2 t1+t3
& 4 t1+t3 t2+t2 G"
.
J 4 t2 + t2 = t1 + t3
&
&
4 4
H
& 4 A 4 J
(a) "
1
1
3
3
J 1+1 1+3
4 4 "
1+1+3+1+1 7
)(
(b) "
1
4
4
5
1+5 4+4 4 4 & "
4+1+5+1+4
15
G"
. 4 4 4+1+5+4+4
18
2
3.5 62331 108
2
4.1 H ?
& & 3
3
"
.
&
?
G & . ?
H
&
& & ?
?
" .
&
>
8 4 &
& .
"
.
. '
- &
&
F
H 8 3
/
& 4 /
/
& G" J " K L &
&
" 4
& . 4
H " . /
& /
& & 4
/
& 4 &
8 & 4
3
4 & & ?
4 8 >
3
/
&
& &
4
&
/
& & & 0& 4
" 0 4
. & " & 4
0& I 5& & /
& 0 &
"
& /
& #& 4 &I I & /
& 4 & "
# &
#
. & 4 4 . 3
?
%& /
& # & & & +
&
4 & +& /
& 0& &
- & 4 " &
& . .4
4 /
& ?
0& +
& > 4 &
' & . &
. /&
2
4.2
))
1
6
2
2
3
2
4
6
5
5
6
6
7
6
8
6
9
5
10
6
"
J - G-H 6 G6H .
{2 , 5 , 6}
11
"&
6
#
12
6
13
2
14
2
15
6
16
5
17
6
18
6
19
6
20
5
21
6
"
J - G-H 6 G6H .
{2 , 5 , 6}
"
2
4.3 " 5 . .
.
A 4
& . 6
. 4
&
4 &
8. &
WWW
4WWW
2
4.4 H
.
'
10. "
'
.
I
'
. m 5
'
. m mod 11
0
"&
6
#' ?
0
1
6
0
2
1
3
1
4
6
0
5
2
6
1
7
3
8
6
0
9
2
10
1
"
J #'
.
{2 , 5 , 6}
8 .
'
. m m mod 3 " 4
'
.
4
( G> 4
. 4
H
2
)*
.
col even.n .
.
G 63 H
. 5 1
5
col even.n
4
2
5.6
. n " 2n 4
4
4 0 2n 2 8. 2n 1 .
C&
C 4 F
.
4
4 k . k
4 0 2n 2 GH
8. n 1 & 1
0
?4 n 1. 8 4
1 4 4
0 2n 2
" 4 2n 2
4 &
' G
. . H & &
)
true false
=
false .
2
5.10
p
=
p false
=
& . 5
p .
)!
2
5.11 " . & . &
a (a b)
a (a b)
=
(a a) b
=
G a a false H
false b
=
A .
false b
=
b .
2
5.12 6 Q
5 " Q A A B Q B 8 4
4
2
6.1 8 5 & 4 8.
&
. . . 4
. D
& .
. .& "
. D
. &
"
& . 4
4
"
. 4& 4
4
& "
& 4 - n+1 & .
& . .
'& 4
. F 4& .
. =4 4 . .&
. D
F " '& 4 4& .
4 n+1
2
6.5 - m 0 D
D " 5
D 0 G4
5 20 H
.
)$
*
A . T
length(H0.d)
=
A . H0.d
length.[ ]
=
A . length
0 ,
Tn+1.d
=
A . T
length(Hn+1.d)
=
A . Hn+1.d
A . length
Tn.d + 1 + Tn.d .
"
To.d = 0
Tn+1.d = 2 Tn.d + 1 .
*
*
A
-
&
A B C 1 F
&
4 .
.
"
& .
s
t n /
.
sp tp
G n+1 H/
4
p A B C " A
. /
. G n+1 H/
/
. n /
.
" p &
A
&
& p . 5 .
?4
n+1
& &
.
F
" '
.
n+1
/
J
AnB AnC BnC BnA
CnA CnB " 4
& A *
.
n+1
2
7.3 %
.
.
G4
H
2
7.4 "
& ' .4
' G 4
k H
k d 4 k > 1 G
1
H d odd.k d
# k G d . H
#
d
" DA .4 - ' 4 4
A k1 d .
k
.
k
.
" &
k1
d " 1
d 4
even.(k1) d even.1 d .
.& 4 d = (odd.k d ) G8 4
k
. k
*
AnA
`
A
AA
BnA`
`
CnC
+ *J
` ` `
AA
` ` `
BnC `
A
AA
AA
A`
AnC
`
AnB
A`
CnA
A
A
A ` CnB
A
AA
` ` `
AA
A`
BnB
*(
I 4
k H "
. "4 . =
4
5 .
. 4 k1 4
k 3
5 .
4
>
4 .
&
&
" &
' 4
5
2
7.5 " 4
4
6 k
.
I &
k N 4 4 k 0 %
. k 4
k
8. k k
& 1 > 4
d .
#
k1
d
k . +& k
& 1
k 0.
2
9.1
(a) "
.
5
. 5 .
.
. 5 F .
. 5 .
.
5
(b) 81 & /
. 21
C
. 5
5
C
4 /
8. m 1
5 4
.
5I
5
5 4 /
4 5
(c) G
H . . 21
+ n 1 /
. 2n
&
/
&/
5
4 4
2
9.2 + 3 3
'& 4
5
D 5 +
.
5 (m, n) G8 1
4
*)
even
odd
even
even
n
v
h
c
n v
v n
h c
c h
h
c
n
v
c
h
v
n
" )J 5
. + >
**
+ !J 7 1 "
"
&
"
.
.
8 6
I 5 K L /
G &
. 6 8
H
2
9.11 + $ 4 . 4 /
#
*
&
&
&
H
+ 4
4& " .
I
8 . &
. < 4m 2n 4 m
2 n 3 5 A $ $ .
' /
.
& < "
.
. . /
8 6 /
2
9.12 -
& .&
4 A $( A G?
&
&H
?4 & A /
5
A
+
& ' /
2
*!
+ J 7 1 . 8 6 8 8
G3
. I
&
A $H
*$
+ J 3 .
3
4
+
J 7 1
Bibliography
MN
MN
-
. -
/ +
#
. 0 -& 6
"
JPP444P
P# P
M ,! N %4&
0 = 4& 7 ,&
8 88
$!
M+N
M6!N
6 6& " "4 . =
M3D$N
% - 3D
%-3!J
"
http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1083.PDF
$$
M3D$ N
%
-
3D
%-3)J
"
1
http://www.cs.utexas.edu/users/EWD/ewd11xx/EWD1135.PDF
/
$$
M3D$N
% - 3D
%-3 *J "
http://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1260.PDF # $$
M3$N
/
M,!N
3 , 0 +
M,$N
M6N
M N
,R
,
(
0
-
+
!J (X (* >
M
!N &
&
0 1 2 0 3
%4 F ?0 $!
/=
M$N
M")*N
M-!N
0, - A& .
'
)J X ( $!