Index

Bool set of booleans 224

false boolean constant false 107, 222, 225

true boolean constant true 222, 225, 269

Image set of integers 233, 296

Image set of natural numbers 233, 296

Image set of real numbers 233

:= assignment symbol 1213

Image empty set 224

{} empty set (alternative notation) 224

∞ infinity 239

↑ (binary) maximum 312315

∈ membership relation 224

↑ (binary) minimum 312, 315

Image set brackets 224

|| number of elements 234

⇓ minimum quantifier 303

⇑ maximum quantifier 303

⇐ if, follows from 246, 262, 274

⇒ only if, implies 246, 262, 274

< less than 248, 260261

∧ conjunction (“and”) 271

∨ disjunction (inclusive “or”) 270

= equals 261

≡ equivalence 261

≡ equivalence quantifier 303

Image inequivalence 114

Image inequivalence quantifier 303

¬ (boolean) negation 107, 269

∑ summation 287

Image multiplication 297

∀ “for all” quantifier 191, 279, 298

∃ “there exists” quantifier 191, 298

Image (arbitrary) quantifier 302

{ } set comprehension 288

ImageImagebv : range : termImage quantifier notation 302

A

absorption 272273

abstraction 1112, 3031, 41, 301

absurdity 276

acyclic graph 70, 328, 354357

addition of a semiring 244

additive inverse 244

al-Adli ar-Rumi 218

adults and children problem 36, 40

algebraic properties 236244

algorithmics 6

Allardice, R.E. 156

anti-monotonicity 311

anti-reflexive relation 112

anti-symmetric relation 251252, 354

anti-symmetry

of “at most” 279, 309310

of “follows from” 279, 283

of the subset relation 283

arithmetic 237

array, two-dimensional 351

assertion 162

assignment

simultaneous 12

statement 12

symbol 1213

associative operator 99, 102

associatively 103104

associativity 102, 240241, 267, 294

of addition 97, 99

of conjunction 273

of disjunction 270

of equality 99

of equivalence 99, 104105, 107

of maximum 313

of multiplication 99

of relation composition 331332

atomic proposition 97

auxiliary variable 21

axiom 97

B

bag 185, 227, 302

balanced ternary notation 146

base type 233

basis (of an inductive argument) 119

bijection 295, 340

binary operator 230

binary relations 112, 246257

binary search 163166, 197198

binomial coefficient 361

addition formula 363

black and white balls problem 89

Boole, George 222223, 248249

boolean 20, 222

boolean algebra 223, 237, 267283

boolean operators 244246

bound variable 223, 226, 286287, 289291, 302303

bridge problem 45, 5463, 183200

brute-force search 3542, 91, 201

C

calculation 3031, 257263

cancellative 311

capture (of free variables) 291, 299, 303

carrier (of an operator) 237

cartesian product 79, 233234

case analysis 64, 157, 314

chameleons of Camelot problem 178, 180

characteristic function 236

Chen, Wei xii

chicken-chasing problem 5, 166177

chocolate-bar problem 78, 1016

Chong, Siang Yew, xii

Claus, M. 147

closure (of a relation) 252

reflexive 252, 254, 309

reflexive transitive 252, 254, 338339, 354

transitive 252, 254, 328, 334339

closure (operators) 353356

coin problem 81, 92

combinatorics 40, 185, 357366

commutativity 237

comparison 137

complexity theory 65, 217

composition

of functions 340

of relations 330332, 347348

conclusion of a calculation 260

conditional statement 6365, 72

conjectures 128

false 129130

conjunction 244245, 271274

conjunctional (use of an operator) 103104, 250, 261

constant 222, 226

constant-false function 245

constant-true function 245

construction 131

continued

addition 108, 240

disjunction 270

equality 23, 104, 268

equivalence 104, 107, 115, 269

expression 103, 240, 242, 250251

product 286

summation 285

contradiction 274, 276

contraposition 109111, 276, 310

convergence (of infinite summations) 297

converse 247, 249, 310

cutting the plane 121, 123126

cycle 328

D

daisy game 8182, 92

De Morgan’s rule 273274, 276, 306

decryption 116

deduction, mathematical 128

definitional equality 229

diagrams 12, 40

Dijkstra, Edsger W. xii, 66, 117, 146, 180, 217

dimension 232, 351

directed state-transition graph 37

disjoint sum 233234

disjunction 244245, 270272, 274

distributivity 241242, 333

addition over maximum 314

“at most” over maximum 313

conjunction through disjunction 273

conjunction through equivalence 274

disjunction through conjunction 273

disjunction through equivalence 270

“if” over conjunction 278, 282

“if” over disjunction 278, 282

implication 276, 279

properties 304306

distributivity rule

existential quantification 301

general quantifications 306

summations 297

universal quantification 300

divides (relation on numbers) 247

divides relation 252, 315316

divisor 315

domain 228, 235

dominoes problem 9

dotdotdot notation 285286, 291, 298

double negation, rule of 109, 281

duality (between conjunction and disjunction) 274

dummy 226, 287288, 302303

dummy renaming 291292, 299300, 303

dummy rules 292

Dutch national flag problem 180

dynamic programming 198, 357

E

edge 38, 70, 325

edge-count 327

element (of a set) 224

elementary algebra 243

empty-box problem 8, 1621

empty path 327

empty range 161, 287, 294, 299, 300301, 303

empty relation 332333

empty set 224, 236, 280

empty word 265

encryption 116

equality 255256, 260, 261

definitional 229

of booleans 98100, 103104, 244245, 261, 267269

of propositions 97

of sets 279

symbol 255256, 261

equivalence class 257

equivalence relation 216, 256257

equivales 104

Euclid’s algorithm 316

everywhere brackets 100, 223

excluded middle 271

exclusive-or 26, 114, 116

existential quantification 64, 297298, 300301, 303

expression 222

boolean 222223

F

factorial function 359360

factorisation 242

fake-coin problem 137144

Ferreira, João F. xii, 180

field 282

figures 12, 40

Find program 180

flashlight problem 45, 200

follows-from relation 274

for-all quantification 71

for loop 165, 197

FORTRAN 229

Fraser, A.Y. 156

free variable 223, 226227, 289291, 303

frequencies 343344

function 227232

application 5455, 228230

composition 340

higher-order 235

space 233

types 235236

unary 229

functional relation 340

G

Galois field 282

games 6793

Gantt chart 368

Gardner, Martin 156

Gaussian elimination 353

global variable 290

goat, cabbags and wolf problem 36, 3739, 41, 44

Gödel, Kurt 117

golden rule 271272, 282

graph

acyclic 70, 328, 354357

bipartite 329

directed 37, 325327

labelled 325326

and relations 328339

state-transition 37

undirected 37, 326327

greatest common divisor 230, 238239, 241, 252, 315316

Gries, David xii, 73, 180

group 216, 243

abelian 243

guard 63

guarded command 6365

H

Hamiltonian-circuit problems 216217

handshake problems 112113

Hasse diagram 246, 252255, 328, 339

heterogeneous relations 328329

hint (in a calculation) 14, 259

Hoare, C.A.R. 50, 180

Hoare triple 50, 72

homogeneous relation 328, 334

I

idempotence 239240

of disjunction 270

idempotent semiring 244

identity function 235, 245

identity relation 338

if relation 20, 262, 275

if step 19, 262263

iff (if and only if) 278, 282

implication 2527, 244, 272279

implies relation 274

in-line expression 261

inclusive-or 26

indirect equality 310, 313314

induction 15, 119135, 157

in experimental sciences 128

hypothesis 124, 126

mathematical 128

principle of mathematical 1516, 30

step 119

inequality 58, 309312

of booleans 245

inequivalence 114115

infinite quantification 287

infinite summation 297, 301

infinity 239

infix notation 5455, 229

infix operator 102103

injective relation 340

input---output relation 4

instance (of an expression) 223

integer division 316320

intermediate-value theorem 163

interpretation 31

intersection (of sets) 225, 280

invariant 734, 159

of an assignment 13, 15

system 38

inverse distributivity law 242

inverse functions 295

isomorphism 234, 328

iterative algorithm 157158

K

knave 95

knight 95

knights-and-knaves puzzles 95117

knight’s circuit 201217

Knuth, Donald E. 6

L

law 14, 9697, 223224

least common multiple 238, 316

Leibniz 278

see also substitution of equals for equals

Leibniz, Gottfried Wilhelm 97, 255256, 277

Leibniz’s rule 99, 255, 267, 278

lexicographic ordering 184

limit (infinite quantification) 297

linear combination 18

linear search 165166, 197

list comprehension 302

local variable 289

logical connective 97, 244

loop 157160

body 158

losing position 68

lower bound 183184, 279

Loyd, Sam 5, 166169, 180

Lucas, Edouard 147

Lukasiewicz, J. 117

M

Manhattan distance 169

Marked-coin problem 140143

matchstick games 6777, 7983, 8889, 128129

matrices 351353

measure of progress 159

membership relation 224

Mendes, Alexandra xiii

meta-rule 277

mex function 85, 91

mex number 8586, 92

calculation of 8791

Michaelis, Diethard xii, 180, 217

modular arithmetic 25, 316322

modulo-n number 320322

modulus 25

modus ponens 273, 276277

monoid 243

monotonicity 310311, 333

multiple 315

multiset 185, 227

Murray, H.J.R. 217

mutual implication 278279, 282

N

naming the elements of a problem 36, 41, 44

natural language 105106

natural number 119

negation 106117, 269

boolean 245

modulo Q 323

nervous-couples problem 36, 40, 4250, 179180, 358359

nesting 290, 292293, 295, 299300, 303

Nim 92

node 38, 70, 325

non-deterministic choice 2324

notation, mathematical 221

NP-complete problems 217

number theory 309324

O

one-point rule 294295, 299, 301, 303

one-to-one correspondence 340

only-if relation 262, 275

only-if statement 26

only-if step 263

operator

binary 230

precedence 230232

symbol 230

unary 229

order isomorphism 311

ordering 252255

lexicographic 184

partial 252253

total 252, 309, 313

overloading 20, 233234, 256

overweight problem 36, 3940

P

parameter 5

parity 23, 104105

parsing 232

partial ordering 252253

path 39, 327328

counting 341343

empty 327328

finish node 327

simple 328, 336

start node 327

path-finding problems 341351

permutation 56, 359360

Pi notation 286

point-free 335336, 338

Pólya, George 17

polymorphism 235

polynomial 132

postcondition 50

postfix notation 228

power set 236

precedence 231

in calculations 262

operator 230232

precondition 50

predicate 226

prefix notation 228

problem decomposition 3536, 4548

product 301, 303

of a semiring 244

proposition 97

atomic 97

Q

quantification 71

quantifier 285308

notation 286297, 302303

Quicksort 180

quotient space 257

R

range

empty 161, 287, 294, 299301, 303

of a function 235

infinite 306

part 303304

of a quantification 286288, 302

rearranging

rule 300, 301, 303304

summations 293297

universal quantification 299

Recorde, Robert 106, 255 recurrence relation 361, 363

recursion 151

reflexivity 98, 247248, 267, 276

regular algebra 354

relation

algebra 237

anti-symmetric 251252, 354

binary 112, 246257, 328

composition 330332, 347348

empty 332333

equivalence 256257

functional 340

heterogeneous 328329

homogeneous 328, 334

recurrence 361, 363

reflexive 247248

symmetric 112, 248249

total 340

transitive 249251

union 332334

universal 333

release (of bound variables) 291292, 299, 303

replacement rules 276279

ring 244

river-crossing problems 3566

Roget, Peter Mark 217

Rote, Günter 200

S

scope 289290

of bound variables 287

self-loop 326327

semantic side condition 289

semiring 243244, 349350, 353354,

sequential composition 51, 157

set 224227

calculus 279281

cardinality 234

comprehension 225227, 281

empty 224, 236, 280

enumeration 224

equality 279

finite 224

intersection 225, 280

union 225, 280

shortest distances 344345

shunting 276

side condition 289, 291, 299300

Sigma notation 285286

skip statement 2223

Smullyan, Raymond 117

splitting rule

for existential quantifications 301

general form 303

idempotent operators 304

for summations 294295, 299

for universal quantification 299300

Sprague---Grundy number 92

state-space explosion problem 40

state-transition 37

graph 37

straight-move circuits 202206

strengthening 27, 262263, 275276

subset 236

substitution 277

of equals for equals 61, 99, 255, 267, 257, 259, 277278

subtraction-set games 7478

in quantified expressions 291

sum of games 7891

summation 287288, 301303

properties 291297

supersquares 206209

surjective relation 340

symmetric 9899, 267

operator 102

relation 112, 248249

symmetry 3536, 4144, 4647, 8182, 237238, 294

of addition 99, 237

of disjunction 270

of equivalence 107

of multiplication 99, 237

syntactic side condition 289

T

target 235

Tarski, Alfred 117

term (of a quantification) 286287, 302

rules for 296297, 300, 304

termination condition 159

tetromino 910

tetrominoes problem 910, 2430

thru 64

tiling problem 135

topological ordering 355357

topological search 70, 88, 356357

torch problem 200

total ordering 252, 309, 313

total relation 340

Tower of Hanoi 147156

trading rule 291, 296, 300301, 304

transitive closure 252, 254, 328, 334339

transitive relation 249251, 260

transitivity 99, 103, 267

of equality 99, 260

of implication 278

of less-than 260

translation rule 295296

idempotent operators 307308

trapezium problem 121123

triomino problem 121122, 126127

trit 146

truth table 244245

tumbler problem 8, 2224, 179

type 224225, 232236

dependent 86

type (of a bound variable) 302

U

unary function 229

unary operator 229

undirected state-transition graph 37

union 225

of sets 225, 280

of relations 332334

unit 287, 302

of disjunction 271

of a symmetric binary operator 238239

universal quantification 71, 161, 279, 297303

universal relation 333

universe 225

unnesting 291, 293

upper bound 183184, 279

V

van Gasteren, A. (Netty) G.M. 66

variable 222

bound 223, 226, 286287, 289291, 302303

free 223, 226227, 289291, 303

verification 130131

vernacular, mathematical 221

Vierkant Voor Wiskunde 34

W

weakening 27, 263

while statement 159

Wiltink, Gerard 117

winning position 68

winning strategy 6774

Woodward, John, xii

Z

zero of a symmetric binary operator 238239