forked from OpenLogicProject/forallx-cam
-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathforallx-yyc-metatheory.tex
695 lines (574 loc) · 50.9 KB
/
forallx-yyc-metatheory.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
%!TEX root = forallxyyc.tex
\part{Metatheory}
\label{ch.normalform}
\addtocontents{toc}{\protect\mbox{}\protect\hrulefill\par}
\chapter{Normal forms}\label{c:NormalForms}
\section{Disjunctive normal form}\label{s:DNFDefined}
Sometimes it is useful to consider sentences of a particularly simple form. For instance, we might consider sentences in which $\enot$ only attaches to atomic sentences, or those which are combinations of atomic sentences and negated atomic sentences using only $\eand$. A relatively general but still simple form is that where a sentence is a disjunction of conjunctions of atomic or negated atomic sentences. When such a sentence is constructed, we start with atomic sentences, then (perhaps) attach negations, then (perhaps) combine using $\eand$, and finally (perhaps) combine using~$\eor$.
Let's say that a sentence is in \define{disjunctive normal form} \emph{\ifeff} it meets all of the following conditions:
\begin{compactlist}
\item[(\textsc{dnf1})] No connectives occur in the sentence other than negations, conjunctions and disjunctions;
\item[(\textsc{dnf2})] Every occurrence of negation has minimal scope (i.e., any `$\enot$' is immediately followed by an atomic sentence);
\item[(\textsc{dnf3})] No disjunction occurs within the scope of any conjunction.
\end{compactlist}
\newglossaryentry{disjunctive normal form}{
name = disjunctive normal form (DNF),
text = disjunctive normal form,
description = {A sentence which is a disjunction of conjunctions of atomic sentences or negated atomic sentences}
}
So, here are are some sentences in disjunctive normal form:
\begin{align*}
& A \\
& (A \eand \lnot B \eand C)\\
& (A \eand B) \eor (A \eand \enot B)\\
& (A \eand B) \eor (A \eand B \eand C \eand \enot D \eand \enot E)\\
& A \eor (C \eand \enot P_{234} \eand P_{233} \eand Q) \eor \enot B
\end{align*}
Note that we have here broken one of the maxims of this book and \emph{temporarily} allowed ourselves to employ the relaxed bracketing-conventions that allow conjunctions and disjunctions to be of arbitrary length. These conventions make it easier to see when a sentence is in disjunctive normal form. We will continue to help ourselves to these relaxed conventions, without further comment.
To further illustrate the idea of disjunctive normal form, we will introduce some more notation. We write `$\pm\metav{A}$' to indicate that $\metav{A}$ is an atomic sentence which may or may not be prefaced with an occurrence of negation. Then a sentence in disjunctive normal form has the following shape:
$$(\pm \metav{A}_1 \land \ldots \land \pm \metav{A}_i) \lor (\pm \metav{A}_{i+1} \land \ldots \land \pm\metav{A}_j) \lor \ldots \lor (\pm\metav{A}_{m+1} \land \ldots \land \pm \metav{A}_n)$$
We now know what it is for a sentence to be in disjunctive normal form. The result that we are aiming at is:
\factoidbox{\label{thm:dnf}\textbf{Disjunctive Normal Form Theorem.} For any sentence, there is an equivalent sentence in disjunctive normal form.
}
Henceforth, we will abbreviate `Disjunctive Normal Form' by `DNF'.
\section{Proof of DNF Theorem via truth tables}
\label{s:DNFTruthTable}
Our first proof of the DNF Theorem employs truth tables. We will first illustrate the technique for finding an equivalent sentence in DNF, and then turn this illustration into a rigorous proof.
Let's suppose we have some sentence, $\metav{S}$, which contains three atomic sentences, `$A$', `$B$' and `$C$'. The very first thing to do is fill out a complete truth table for~$\metav{S}$. Maybe we end up with this:
\begin{center}
\begin{tabular}{c c c | c}
$A$ & $B$ & $C$ & $\metav{S}$\\
\hline
T & T & T & T \\
T & T & F & F \\
T & F & T & T \\
T & F & F & F \\
F & T & T & F \\
F & T & F & F \\
F & F & T & T \\
F & F & F & T
\end{tabular}
\end{center}
%Now, consider a sentence, whose only connectives are negations and conjunctions, where no connective occurs within the scope of any negation, e.g.:
% $$A \eand \enot B \eand C$$
%This sentence is true when, and only when, `$A$' is true, `$B$' is false and `$C$' is true. Similarly, the sentence:
% $$\enot A \eand \enot B \eand C$$
%this is true when, and only when, `$A$' is false, `$B$' is false and `$C$' is true.
%
%A disjunction is true when, and only when, at least one of the disjuncts is true. So if we write down a disjunction of sentences of the above form, perhaps
% $$(A \eand \enot B \eand C) \eor (\enot A \eand \enot B \eand C)$$
%then it will be true on exactly \emph{two} lines of the truth table which describes all possible valuations of `$A$', `$B$' and `$C$'.
%
As it happens, $\metav{S}$ is true on four lines of its truth table, namely lines 1, 3, 7 and~8. Corresponding to each of those lines, we will write down four sentences, whose only connectives are negations and conjunctions, where every negation has minimal scope:
\begin{compactlist}
\item `$A \eand B \eand C$'\hfill which is true on line 1 (and only then)
\item `$A \eand \enot B \eand C$' \hfill which is true on line 3 (and only then)
\item `$\enot A \eand \enot B \eand C$' \hfill which is true on line 7 (and only then)
\item `$\enot A \eand \enot B \eand \enot C$' \hfill which is true on line 8 (and only then)
\end{compactlist}
We now combine all of these conjunctions using~$\eor$, like so:
$$(A \eand B \eand C) \eor (A \eand \enot B \eand C) \eor (\enot A \eand \enot B \eand C) \eor (\enot A \eand \enot B \eand \enot C)$$\label{longDNF}
This gives us a sentence in DNF which is true on exactly those lines where one of the disjuncts is true, i.e., it is true on (and only on) lines 1, 3, 7, and 8. So this sentence has exactly the same truth table as $\metav{S}$. So we have a sentence in DNF that is logically equivalent to $\metav{S}$, which is exactly what we wanted!
Now, the strategy that we just adopted did not depend on the specifics of $\metav{S}$; it is perfectly general. Consequently, we can use it to obtain a simple proof of the DNF Theorem.
Pick any arbitrary sentence, $\metav{S}$, and let $\metav{A}_1, \ldots, \metav{A}_n$ be the atomic sentences that occur in $\metav{S}$. To obtain a sentence in DNF that is logically equivalent $\metav{S}$, we consider $\metav{S}$'s truth table. There are two cases to consider:
\begin{numberlist}
\item \emph{$\metav{S}$ is false on every line of its truth table.} Then, $\metav{S}$ is a contradiction. In that case, the contradiction $(\metav{A}_1 \eand \enot \metav{A}_1)$ is in DNF and logically equivalent to~$\metav{S}$.
\item \emph{$\metav{S}$ is true on at least one line of its truth table.}
For each line $i$ of the truth table, let $\metav{B}_i$ be a conjunction of the form
$$(\pm\metav{A}_1 \land \ldots \land \pm\metav{A}_n)$$
where the following rules determine whether or not to include a negation in front of each atomic sentence:
\begin{itemize}
\item
$\metav{A}_m$ is a conjunct of $\metav{B}_i$ \emph{\ifeff}
$\metav{A}_m$ is true on line~$i$.
\item $\enot\metav{A}_m$ is a conjunct of $\metav{B}_i$
\emph{\ifeff} $\metav{A}_m$ is false on line~$i$.
\end{itemize}
Given these rules, $\metav{B_i}$ is true on (and only on) line~$i$ of the truth table which considers all possible valuations of $\metav{A}_1$, \ldots, $\metav{A}_n$ (i.e., $\metav{S}$'s truth table).
Next, let $i_1$, $i_2$, \dots, $i_m$ be the numbers of the lines of the truth table where $\metav{S}$ is \emph{true}. Now let $\metav{D}$ be the sentence:
$$\metav{B}_{i_1} \eor \metav{B}_{i_2} \eor \ldots \eor \metav{B}_{i_m}$$
Since $\metav{S}$ is true on at least one line of its truth table, $\metav{D}$ is indeed well-defined; and in the limiting case where $\metav{S}$ is true on exactly one line of its truth table, $\metav{D}$ is just $\metav{B}_{i_1}$, for some $i_1$.
By construction, $\metav{D}$ is in DNF. Moreover, by construction, for each line~$i$ of the truth table: $\metav{S}$ is true on line $i$ of the truth table \emph{\ifeff} one of $\metav{D}$'s disjuncts (namely, $\metav{B_i}$) is true on, and only on, line $i$. Hence $\metav{S}$ and $\metav{D}$ have the same truth table, and so are logically equivalent.
\end{numberlist}
These two cases are exhaustive and, either way, we have a sentence in DNF that is logically equivalent to $\metav{S}$.
So we have proved the DNF Theorem. Before we say any more, though, we should immediately flag that we are hereby returning to the austere definition of a (TFL) sentence, according to which we can assume that any conjunction has exactly two conjuncts, and any disjunction has exactly two disjuncts.
\section{Conjunctive normal form}
\label{s:CNF}
So far in this chapter, we have discussed \emph{disjunctive} normal form. It may not come as a surprise to hear that there is also such a thing as \emph{conjunctive normal form} (CNF).
The definition of CNF is exactly analogous to the definition of DNF. So, a sentence is in CNF \emph{\ifeff} it meets all of the following conditions:
\begin{compactlist}
\item[(\textsc{cnf1})] No connectives occur in the sentence other than negations, conjunctions and disjunctions;
\item[(\textsc{cnf2})] Every occurrence of negation has minimal scope;
\item[(\textsc{cnf3})] No conjunction occurs within the scope of any disjunction.
\end{compactlist}
\newglossaryentry{conjunctive normal form}{
name = conjunctive normal form (DNF),
text = conjunctive normal form,
description = {A sentence which is a conjunction of disjunctions of atomic sentences or negated atomic sentences}
}
Generally, then, a sentence in CNF looks like this
$$(\pm \metav{A}_1 \lor \ldots \lor \pm \metav{A}_i) \land (\pm \metav{A}_{i+1} \lor \ldots \lor \pm\metav{A}_j) \land \ldots \land (\pm\metav{A}_{m+1} \lor\ldots \lor \pm \metav{A}_n)$$
where each $\metav{A}_k$ is an atomic sentence.
We can now prove another normal form theorem:
\factoidbox{\label{thm:cnf}\textbf{Conjunctive Normal Form Theorem.} For any sentence, there is an equivalent sentence in conjunctive normal form.}
Given a TFL sentence, $\metav{S}$, we begin by writing down the complete truth table for $\metav{S}$.
If $\metav{S}$ is \emph{true} on every line of the truth table, then $\metav{S}$ and $(\metav{A}_1 \eor \enot \metav{A}_1)$ are logically equivalent.
If $\metav{S}$ is \emph{false} on at least one line of the truth table then, for every line on the truth table where $\metav{S}$ is false, write down a disjunction $(\pm\metav{A}_1 \eor \ldots \eor \pm\metav{A}_n)$ which is \emph{false} on (and only on) that line. Let $\metav{C}$ be the conjunction of all of these disjuncts; by construction, $\metav{C}$ is in CNF and $\metav{S}$ and $\metav{C}$ are logically equivalent.
\practiceproblems
\problempart
\label{pr.DNF}
Consider the following sentences:
\begin{compactlist}
\item $(A \eif \enot B)$
\item $\enot (A \eiff B)$
\item $(\enot A \eor \enot (A \eand B))$
\item $(\enot (A \eif B ) \eand (A \eif C))$
\item $(\enot (A \eor B) \eiff ((\enot C \eand \enot A) \eif \enot B))$
\item $((\enot (A \eand \enot B) \eif C) \eand \enot (A \eand D))$
\end{compactlist}
For each sentence, find an equivalent sentence in DNF and one in CNF.
\chapter{Functional completeness}\label{c:FunctionalCompleteness}
Of our connectives, $\enot$ attaches to a single sentence, and the others all combine exactly two sentences. We may also introduce the idea of an $n$-place connective. For example, we could consider a three-place connective, `$\heartsuit$', and stipulate that it is to have the following characteristic truth table:
\begin{center}
\begin{tabular}{c c c | c}
$A$ & $B$ & $C$ & $\heartsuit(A,B,C)$\\
\hline
T & T & T & F \\
T & T & F & T \\
T & F & T & T \\
T & F & F & F \\
F & T & T & F \\
F & T & F & T \\
F & F & T & F \\
F & F & F & F
\end{tabular}
\end{center}
Probably this new connective would not correspond with any natural English expression (at least not in the way that `$\eand$' corresponds with `and'). But a question arises: if we wanted to employ a connective with this characteristic truth table, must we add a \emph{new} connective to TFL? Or can we get by with the connectives we \emph{already have} (as we can for the connective `neither\dots nor' for instance)?
Let us make this question more precise. Say that some connectives are \define{jointly functionally complete} \emph{\ifeff}, for any possible truth table, there is a sentence containing only those connectives with that truth table.
\newglossaryentry{functionally complete}{
name = {functional completeness},
text = {functionally complete},
description = {Property of a collection of connectives which holds \ifeff{} every possible truth table is the truth table of a sentence involving only those connectives}}
The general point is, when we are armed with some jointly functionally complete connectives, no characteristic truth table lies beyond our grasp. And in fact, we are in luck.
\factoidbox{\label{thm:ExpressiveAdequacy}\textbf{Functional Completeness Theorem.}
The connectives of TFL are jointly functionally complete. Indeed, the following pairs of connectives are jointly functionally complete:
\begin{compactlist}
\item\label{expressive:eor} `$\enot$' and `$\eor$'
\item\label{expressive:eand} `$\enot$' and `$\eand$'
\item\label{expressive:eif} `$\enot$' and `$\eif$'
\end{compactlist}}
Given any truth table, we can use the method of proving the DNF Theorem (or the CNF Theorem) via truth tables from \cref{c:NormalForms}, to write down a scheme which has the same truth table. For example, employing the truth table method for proving the DNF Theorem, we find that the following scheme has the same characteristic truth table as $\heartsuit(A,B,C)$, above:
$$(A \eand B \eand \enot C) \eor (A \eand \enot B \eand C) \eor (\enot A \eand B \eand \enot C)$$
It follows that the connectives of TFL are jointly functionally complete. We now prove each of the subsidiary results.
\emph{Subsidiary Result 1: functional completeness of `$\enot$' and `$\eor$'.} Observe that the scheme that we generate, using the truth table method of proving the DNF Theorem, will only contain the connectives `$\enot$', `$\eand$' and `$\eor$'. So it suffices to show that there is an equivalent scheme which contains only `$\enot$' and `$\eor$'. To demonstrate this, we simply consider that
\begin{align*}
(\metav{A} \eand \metav{B}) & \Leftrightarrow \enot(\enot \metav{A} \eor\enot \metav{B})
\end{align*}
are logically equivalent.\footnote{We're here using the convention
that to say that $\metav{A}$ and $\metav{B}$ are equivalent can be
abbreviated as $\metav{A} \Leftrightarrow \metav{B}$. Note that
`$\Leftrightarrow$' is \emph{not} a connective like~`\eiff', but a
metalinguistic symbol just like~`$\entails$'; compare the discussion
of `$\entails$' and `$\eiff$' in \cref{entails-v-iff}.}
\emph{Subsidiary Result 2: functional completeness of `$\enot$' and `$\eand$'.} Exactly as in Subsidiary Result~1, making use of the fact that
\begin{align*}
(\metav{A} \eor \metav{B}) & \Leftrightarrow \enot(\enot \metav{A} \eand\enot \metav{B})
\end{align*}
are logically equivalent.
\emph{Subsidiary Result 3: functional completeness of `$\enot$' and `$\eif$'.} Exactly as in Subsidiary Result~1, making use of these equivalences instead:
\begin{align*}
(\metav{A} \eor \metav{B}) &\Leftrightarrow (\enot \metav{A} \eif \metav{B})\\
(\metav{A} \eand \metav{B}) &\Leftrightarrow \enot(\metav{A} \eif \enot\metav{B})
\end{align*}
Alternatively, we could simply rely upon one of the other two subsidiary results, and (repeatedly) invoke only one of these two equivalences.
In short, there is never any \emph{need} to add new connectives to TFL. Indeed, there is already some redundancy among the connectives we have: we could have made do with just two connectives, if we had been feeling really austere.
\ifHTMLtarget
\section{Individually functionally complete connectives}
\else
\section[Individually functionally complete connectives][Functionally complete connectives]{Individually functionally complete connectives}
\fi
In fact, some two-place connectives are \emph{individually} functionally complete. These connectives are not standardly included in TFL, since they are rather cumbersome to use. But their existence shows that, if we had wanted to, we could have defined a truth-functional language that was functionally complete, which contained only a single primitive connective.
The first such connective we will consider is `$\uparrow$', which has the following characteristic truth table.
\begin{center}
\begin{tabular}{c c | c}
$\metav{A}$ & $\metav{B}$ & $\metav{A} \mathrel{\uparrow} \metav{B}$\\
\hline
T & T & F \\
T & F & T \\
F & T & T \\
F & F & T
\end{tabular}
\end{center}
This is often called `the Sheffer stroke', after Henry Sheffer, who
used it to show how to reduce the number of logical connectives in
Russell and Whitehead's \textit{Principia
Mathematica}.\footnote{Sheffer, ``A set of five independent
postulates for Boolean algebras, with application to logical
constants'', \textit{Transactions of the American Mathematical
Society}~14 (1913), pp.~481--488} (In fact, Charles Sanders Peirce
had anticipated Sheffer by about 30 years, but never published his
results, and the Polish philosopher Edward Stamm published the same
result two years before Sheffer.)\footnote{See Peirce's ``A Boolian
algebra with one constant'', which dates to c.~1880, in Peirce's
\textit{Collected Papers}, vol.~4, pp.~264--5, and Edward Stamm,
``\foreignlanguage{german}{Beitrag zur Algebra der Logik}'',
\foreignlanguage{german}{\textit{Monatshefte für Mathematik und
Physik}}~22 (1911), pp.~137--49.} It is quite common, as well, to
call it `nand', since its characteristic truth table is the negation
of the truth table for `$\eand$'.
\factoidbox{\label{prop:upexpressive}`$\uparrow$' is functionally complete all by itself.}
The Functional Completeness Theorem tells us that `$\enot$' and `$\eor$' are jointly functionally complete. So it suffices to show that, given any scheme which contains only those two connectives, we can rewrite it as an equivalent scheme which contains only `$\uparrow$'. As in the proof of the subsidiary cases of the Functional Completeness Theorem, then, we simply apply the following equivalences:
\begin{align*}
\enot \metav{A} &\Leftrightarrow (\metav{A} \uparrow \metav{A})\\
(\metav{A} \eor \metav{B}) & \Leftrightarrow ((\metav{A} \uparrow \metav{A}) \uparrow (\metav{B} \uparrow \metav{B}))
\end{align*}
to the Subsidiary Result~\ref*{expressive:eor}.
Similarly, we can consider the connective `$\downarrow$':
\begin{center}
\begin{tabular}{c c | c}
$\metav{A}$ & $\metav{B}$ & $\metav{A} \mathrel{\downarrow} \metav{B}$\\
\hline
T & T & F \\
T & F & F \\
F & T & F \\
F & F & T
\end{tabular}
\end{center}
This is sometimes called the `Peirce arrow' (Peirce himself called it `ampheck'). More often, though, it is called `nor', since its characteristic truth table is the negation of `$\eor$', that is, of `neither \dots{} nor \dots'.
\factoidbox{
`$\downarrow$' is functionally complete all by itself. }
As in the previous result for $\uparrow$, although invoking the equivalences:
\begin{align*}
\enot \metav{A} &\Leftrightarrow (\metav{A} \downarrow \metav{A})\\
(\metav{A} \eand \metav{B}) & \Leftrightarrow ((\metav{A} \downarrow \metav{A}) \downarrow (\metav{B} \downarrow \metav{B}))
\end{align*}
and Subsidiary Result~\ref*{expressive:eand}.
\section{Failures of functional completeness}
In fact, the \emph{only} two-place connectives which are individually functionally complete are `$\uparrow$' and `$\downarrow$'. But how would we show this? More generally, how can we show that some connectives are \emph{not} jointly functionally complete?
The obvious thing to do is to try to find some truth table which we \emph{cannot} express, using just the given connectives. But there is a bit of an art to this.
To make this concrete, let's consider the question of whether `$\eor$' is functionally complete all by itself. After a little reflection, it should be clear that it is not. In particular, it should be clear that any scheme which only contains disjunctions cannot have the same truth table as negation, i.e.:
\begin{center}
\begin{tabular}{c | c}
$\metav{A}$ & $\enot \metav{A}$\\
\hline
T & F \\
F & T
\end{tabular}
\end{center}
The intuitive reason, why this should be so, is simple: the top line of the desired truth table needs to have the value False; but the top line of any truth table for a scheme which \emph{only} contains $\eor$ will always be True. The same is true for $\eand$, $\eif$, and $\eiff$.
\factoidbox{
`$\eor$', `$\eand$', `$\eif$', and `$\eiff$' are not functionally complete by themselves.}
In fact, the following is true:
\factoidbox{The \emph{only} two-place connectives that are functionally complete by themselves are `$\uparrow$' and `$\downarrow$'. }
This is of course harder to prove than for the primitive connectives. For instance, the ``exclusive or'' connective does not have a T in the first line of its characteristic truth table, and so the method used above no longer suffices to show that it cannot express all truth tables. It is also harder to show that, e.g., `$\eiff$' and `$\enot$' \emph{together} are not functionally complete.
\chapter{Proving equivalences}\label{ch:equivalences}
\section{Substitutability of equivalents}
Recall from \cref{sec:equivalent} that $\metav{P}$ and $\metav{Q}$ are equivalent (in TFL) iff, for every valuation, their truth values agree. We have seen many examples of this and used both truth tables and natural deduction proofs to establish such equivalences. In \cref{c:NormalForms} we've even proved that every sentence of TFL is equivalent to one in conjunctive and one in disjunctive normal form. If $\metav{P}$ and~$\metav{Q}$ are equivalent, they always have the same truth value, either one entails the other, and from either one you can prove the other.
Equivalent sentences are not the same, of course: the sentences $\enot\enot A$ and~$A$ may always have the same truth value, but the first starts with the `$\enot$' symbol while the second doesn't. But you may wonder if it's always true that we can replace one of a pair of equivalent sentences by the other, and the results will be equivalent, too. For instance, consider $\enot\enot A \eif B$ and $A \eif B$. The second results from the first by replacing `$\enot\enot A$' by~`$A$'. And these two sentences are also equivalent.
This is a general fact, and it is not hard to see why it is true. In
any valuation, we compute the truth value of a sentence ``from the
inside out.'' So when it comes to determining the truth value of
`$\enot\enot A \eif B$', we first compute the truth value of
`$\enot\enot A$', and the truth value of the overall sentence then
just depends on that truth value (true or false, as the case may be)
and the rest of the sentence (the truth value of~`$B$' and the truth
table for~`$\eif$'). But since `$\enot\enot A$' and~`$A$' are equivalent,
they always have the same truth value in a given valuation---hence,
replacing `$\enot\enot A$' by~`$A$' cannot change the truth value of
the overall sentence. The same of course is true for any other
sentence equivalent to `$\enot\enot A$', say, `$A \eand (A \eor A)$'.
To state the result in general, let's use the notation $\metav{R}(\metav{P})$ to mean a sentence which contains the sentence $\metav{P}$ as a part. Then by $\metav{R}(\metav{Q})$ we mean the result of replacing the occurrence of $\metav{P}$ by the sentence~$\metav{Q}$. For instance, if $\metav{P}$ is the sentence letter~`$A$', $\metav{Q}$ is the sentence~`$\enot\enot A$', and $\metav{R}(\metav{P})$ is `$A \eif B$', then $\metav{R}(\metav{Q})$ is `$\enot\enot A \eif B$'.
\factoidbox{If $\metav{P}$ and $\metav{Q}$ are equivalent, then so are $\metav{R}(\metav{P})$ and $\metav{R}(\metav{Q})$.}
It follows from this fact that any sentence of the form $\metav{R}(\metav{P}) \eiff \metav{R}(\metav{Q})$, where $\metav{P}$ and $\metav{Q}$ are equivalent, is a tautology. However, the proofs in natural deduction will be wildly different for different~$\metav{R}$. (As an exercise, give proofs that show that
\begin{align*}
& \vdash (\enot\enot P \eif Q) \eiff (P \eif Q) \text{ and}\\
& \vdash (\enot\enot P \eand Q) \eiff (P \eand Q)
\end{align*}
and compare the two.)
Here is another fact: if two sentences $\metav{P}$ and~$\metav{Q}$ are equivalent, and you replace some sentence letter in both $\metav{P}$ and $\metav{Q}$ by the same sentence~$\metav{R}$, the results are also equivalent. For instance, if you replace `$A$' in both `$A \land B$' and `$B \land A$' by, say, `$\enot C$', you get `$\enot C \land B$' and `$B \land \enot C$', and those are equivalent. We can record this, too:
\factoidbox{Equivalence is preserved under replacement of sentence letters, i.e., if $\metav{P}(A)$ and $\metav{Q}(A)$ both contain the sentence letter~`$A$' and are equivalent, then the sentences $\metav{P}(\metav{R})$ and $\metav{Q}(\metav{R})$ (resulting by replacing `$A$' by $\metav{R}$ in both) are also equivalent.}
This means that once we have shown that two sentence are equivalent (e.g., `$\enot\enot A$' and `$A$', or `$A \land B$' and `$B \land A$') we know that all their common ``instances'' are also equivalent. Note that we do not immediately get this from a truth table or a natural deduction proof. E.g., a truth table that shows that `$\enot\enot A$' and~`$A$' are equivalent does \emph{not} also show that `$\enot\enot(B \eif C)$' and `$B \eif C$' are equivalent: the former needs just 2 lines, the latter~4.
\section{Chains of equivalences}
When you want to verify that two sentences are equivalent, you can of course do a truth table, or look for a formal proof. But there is a simpler method, based on the principle of substitutability of equivalents we just discussed: Armed with a small catalog of simple equivalences, replace parts of your first sentence by equivalent parts, and repeat until you reach your second sentence.
This method of showing sentences equivalent is underwritten by the two facts from the previous section. The first fact tells us that \emph{if}, say, $\enot\enot \metav{P}$ and $\metav{P}$ are equivalent (for any sentence~$\metav{P}$), then replacing $\enot\enot\metav{P}$ in a sentence by~$\metav{P}$ results in an equivalent sentence. The second fact tells us \emph{that} $\enot\enot \metav{P}$ and~$\metav{P}$ are always equivalent, for any sentence~$\metav{P}$. (A simple truth table shows that `$\enot\enot A$' and~`$A$' are equivalent.) By the second fact we know that whenever we replace `$A$' in both `$\enot\enot A$' and~`$A$' by some sentence~$\metav{P}$, we get equivalent results. In other words, from the fact that `$\enot\enot A$' and~`$A$' are equivalent and the second fact, we can conclude that, for any sentence~$\metav{P}$, $\enot\enot \metav{P}$ and~$\metav{P}$ are equivalent.
Let's give an example. By De Morgan's Laws, the following pairs of sentences are equivalent:
\begin{align*}
\enot (A \eand B) & \Leftrightarrow (\enot A \eor \enot B)\\
\enot (A \eor B) & \Leftrightarrow (\enot A \eand \enot B)
\end{align*}
This can be verified by constructing two truth tables, or four natural deduction proofs that show:
\begin{align*}
\enot (A \eand B) & \vdash (\enot A \eor \enot B)\\
(\enot A \eor \enot B) & \vdash \enot (A \eand B)\\
\enot (A \eor B) & \vdash (\enot A \eand \enot B)\\
(\enot A \eand \enot B) & \vdash \enot (A \eor B)
\end{align*}
By the second fact, \emph{any} pairs of sentences of the following forms are equivalent:
\begin{align*}
\enot (\metav{P} \eand \metav{Q}) & \Leftrightarrow (\enot \metav{P} \eor \enot \metav{Q})\\
\enot (\metav{P} \eor \metav{Q}) & \Leftrightarrow (\enot \metav{P} \eand \enot \metav{Q})
\end{align*}
Now consider the sentence `$\enot(R \eor (S \eand T))$'. We will find an equivalent sentence in which all `$\enot$' signs attach directly to sentence letters. In the first step, we consider this as a sentence of the form $\enot(\metav{P} \eor \metav{Q})$---then $\metav{P}$ is the sentence~`$R$' and $\metav{Q}$ is `$(S \eand T)$'. Since $\enot(\metav{P} \eor \metav{Q})$ is equivalent to $(\enot \metav{P} \eand \enot \metav{Q})$ (by the second of De Morgan's Laws) we can replace the entire sentence by $(\enot \metav{P} \eand \enot \metav{Q})$. In this case (where $\metav{P}$ is~`$R$' and $\metav{Q}$ is~`$(S \eand T)$') we obtain `$(\enot R \eand \enot (S \eand T))$'. This new sentence contains as a part the sentence `$\enot (S \eand T)$'. It is of the form $\enot(\metav{P} \eand \metav{Q})$, except now $\metav{P}$ is the sentence letter~`$S$' and $\metav{Q}$ is~`$T$'. By De Morgan's Law (the first one this time), this is equivalent to $(\enot\metav{P} \eor \enot\metav{Q})$, or in this specific case, to `$(\enot S \eor \enot T)$'. So we can replace the part `$\enot (S \eand T)$' by `$(\enot S \eor \enot T)$'. This now results in the sentence `$(\enot R \eand (\enot S \eor \enot T))$', in which the `$\enot$' symbols all attach directly to sentence letters. We've ``pushed'' the negations inwards as far as possible. We can record such a chain of equivalences by listing the individual steps, and recording, just as we do in natural deduction, which basic equivalence we use in each case:
\begin{align*}
& \fbox{\enot(\fbox{$R$} \eor \fbox{$(S \eand T)$})} \\
& \fbox{(\enot(\fbox{$R$} \eand \enot\fbox{$(S \eand T)$})} && \text{DeM}\\
& (\enot(R \eand \fbox{$\enot(\fbox{$S$} \eand \fbox{$T$})$}) \\
& (\enot(R \eand \fbox{$(\enot \fbox{$S$} \eor \enot \fbox{$T$})$}) && \text{DeM}
\end{align*}
We've highlighted the sentence replaced, and those matching the $\metav{P}$ and~$\metav{Q}$ in De Morgan's Laws for clarity, but this is not necessary, and we won't keep doing it.
In \cref{tab:equivalences} we've given a list of basic equivalences you can use for such chains of equivalences. The labels abbreviate the customary name for the respective logical laws: double negation (DN), De Morgan (DeM), commutativity (Comm), distributivity (Dist), associativity (Assoc), idempotence (Id), and absorption (Abs).
\begin{table}
\begin{align*}
\lnot\lnot \metav{P} & \Leftrightarrow \metav{P} && \text{(DN)}\\[2ex]
(\metav{P} \eif \metav{Q}) & \Leftrightarrow (\lnot \metav{P} \lor \metav{Q})
&& \text{(Cond)}\\
\lnot(\metav{P} \eif \metav{Q}) & \Leftrightarrow (\metav{P} \land \lnot\metav{Q}) \\[2ex]
(\metav{P} \eiff \metav{Q}) & \Leftrightarrow ((\metav{P} \eif \metav{Q}) \land (\metav{Q} \eif \metav{P}))
&& \text{(Bicond)}\\[2ex]
\lnot(\metav{P} \land \metav{Q}) & \Leftrightarrow (\lnot\metav{P} \lor \lnot\metav{Q})
&& \text{(DeM)}\\
\lnot(\metav{P} \lor \metav{Q}) & \Leftrightarrow (\lnot\metav{P} \land \lnot\metav{Q}) \\[2ex]
(\metav{P} \lor \metav{Q}) & \Leftrightarrow (\metav{Q} \lor \metav{P}) & &\text{(Comm)}\\
(\metav{P} \land \metav{Q}) & \Leftrightarrow (\metav{Q} \land \metav{P})\\[2ex]
(\metav{P} \land (\metav{Q} \lor \metav{R})) & \Leftrightarrow ((\metav{P} \land \metav{Q}) \lor (\metav{P} \land \metav{R}))
&& \text{(Dist)}\\
(\metav{P} \lor (\metav{Q} \land \metav{R})) & \Leftrightarrow ((\metav{P} \lor \metav{Q}) \land (\metav{P} \lor \metav{R}))\\
(\metav{P} \lor (\metav{Q} \lor \metav{R})) & \Leftrightarrow ((\metav{P} \lor \metav{Q}) \lor \metav{R}) & &\text{(Assoc)}\\
(\metav{P} \land (\metav{Q} \land \metav{R})) & \Leftrightarrow ((\metav{P} \land \metav{Q}) \land \metav{R})\\[2ex]
(\metav{P} \lor \metav{P}) & \Leftrightarrow \metav{P} && \text{(Id)}\\
(\metav{P} \land \metav{P}) & \Leftrightarrow \metav{P}\\[2ex]
(\metav{P} \land (\metav{P} \lor \metav{Q})) & \Leftrightarrow \metav{P}&& \text{(Abs)}\\
(\metav{P} \lor (\metav{P} \land \metav{Q})) & \Leftrightarrow \metav{P}\\[2ex]
(\metav{P} \land (\metav{Q} \lor \lnot\metav{Q})) & \Leftrightarrow \metav{P} && \text{(Simp)}\\
(\metav{P} \lor (\metav{Q} \land \lnot\metav{Q})) & \Leftrightarrow \metav{P}\\[2ex]
(\metav{P} \lor (\metav{Q} \lor \lnot\metav{Q})) & \Leftrightarrow (\metav{Q} \lor \lnot\metav{Q}) \\
(\metav{P} \land (\metav{Q} \land \lnot\metav{Q})) & \Leftrightarrow (\metav{Q} \land \lnot\metav{Q})
\end{align*}
\caption{Basic equivalences}
\label{tab:equivalences}
\end{table}
\section{Finding equivalent normal forms}
In \cref{c:NormalForms} we showed that every sentence of TFL is equivalent to one in disjunctive normal form (DNF) and to one in conjunctive normal form (CNF). We did this by giving a method to construct a sentences in DNF or CNF equivalent to the original sentence by first constructing a truth table, and then ``reading off'' a sentence in DNF or CNF from the truth table. This method has two drawbacks. The first one is that the resulting sentences in DNF or CNF are not always the shortest ones. The second one is that the method itself becomes hard to apply when the sentence you start with contains more than a handful of sentence letters (since the truth table for a sentence with $n$ sentence letters has $2^n$ lines).
We can use chains of equivalences as an alternative method: To find a sentence in~DNF, we can successively apply basic equivalences until we have found an equivalent sentence that is in~DNF. Recall the conditions a sentence in DNF must satisfy:
\begin{compactlist}
\item[(\textsc{dnf1})] No connectives occur in the sentence other than negations, conjunctions and disjunctions;
\item[(\textsc{dnf2})] Every occurrence of negation has minimal scope (i.e., any `$\enot$' is immediately followed by an atomic sentence);
\item[(\textsc{dnf3})] No disjunction occurs within the scope of any conjunction.
\end{compactlist}
Condition (\textsc{dnf1}) says that we must remove all `$\eif$' and~`$\eiff$' symbols from a sentence. This is what the basic equivalences (Cond) and (Bicond) are good for. For instance, suppose we start with the sentence
\begin{align*}
& \enot(A \eand \enot C) \land (\enot A\eif \enot B).
\intertext{We can get rid of the `$\eif$' by using (Cond). In this case $\metav{P}$ is `$\enot A$' and $\metav{Q}$ is `$\enot{B}$'. We get:}
& \enot(A \eand \enot C) \land (\enot\enot A \eor \enot B) && \text{Cond}
\intertext{The double negation can be removed, since `$\enot\enot A$' is equivalent to~`$A$':}
& \enot(A \eand \enot C) \land (A \eor \enot B) && \text{DN}
\intertext{Now condition (\textsc{dnf1}) is satisfied: our sentence contains only `$\enot$', `$\eand$', and `$\eor$'. Condition (\textsc{dnf2}) says that we must find a way to have all `$\enot$'s apply immediately to sentence letters. But in the first conjunct it doesn't. To ensure (\textsc{dnf2}) is satisfied, we use De Morgan's Laws and the double negation (DN) law as many times as needed.}
& (\enot A \eor \enot\enot C) \land (A \eor \enot B) && \text{DeM}\\
& (\enot A \eor C) \land (A \eor \enot B) && \text{DN}
\intertext{The resulting sentence is now in CNF---it is a conjunction of disjunctions of sentence letters and negated sentence letters. But we want a sentence in DNF, i.e., a sentence in which (\textsc{dnf3}) is satisfied: no `$\eor$' occurs in the scope of an~`$\eand$'. We use the distributive laws (Dist) to ensure this. The last sentence is of the form $\metav{P} \land (\metav{Q} \lor \metav{R})$, where $\metav{P}$ is `$(\enot A \eor C)$', $\metav{Q}$ is `$A$', and $\metav{R}$ is `$\enot B$'. By applying (Dist) once we get:}
& ((\enot A \eor C) \eand A)) \eor ((\enot A \eor C) \eand \enot B) && \text{Dist}
\intertext{This looks worse, but if we keep going, it's going to look better! The two disjuncts almost look like we can apply (Dist) again, except the `$\eor$' is on the wrong side. This is what commutativity (Comm) is good for. let's apply it to `$(\enot A \eor C) \eand A$':}
& (A \eand (\enot A \eor C)) \eor ((\enot A \eor C) \eand \enot B) && \text{Comm}
\intertext{We can apply (Dist) again to the resulting part, `$A \eand (\enot A \eor C)$':}
& ((A \eand \enot A) \eor (A \eand C)) \eor ((\enot A \eor C) \eand \enot B) && \text{Dist}
\intertext{Now in the left half, no `$\eor$' is in the scope of an `$\eand$'. Let's apply the same principles to the right half:}
& ((A \eand \enot A) \eor (A \eand C)) \eor (\enot B \eand (\enot A \eor C)) && \text{Comm}\\
& ((A \eand \enot A) \eor (A \eand C)) \eor ((\enot B \eand \enot A) \eor (\enot B \eand C)) && \text{Dist}
\intertext{Our sentence is now in DNF! But we can simplify it a bit: `$(A \eand \enot A)$' is a contradiction in TFL, i.e., it is always false. And if you combine something that's always false using `$\eor$' with a sentence~$\metav{P}$, you get something equivalent to just~$\metav{P}$. This is the second of the simplification (Simp) rules.}
& ((A \eand C) \eor (A \eand \enot A)) \eor ((\enot B \eand \enot A) \eor (\enot B \eand C)) && \text{Comm}\\
& (A \eand C) \eor ((\enot B \eand \enot A) \eor (\enot B \eand C)) && \text{Simp}
\end{align*}
The final result is still in DNF, but a bit simpler still. It is also much simpler than the DNF we would have obtained by the method of \cref{c:NormalForms}. In fact, the sentence we started with could have been the $\metav{S}$ of \cref{s:DNFTruthTable}---it has exactly the truth table used as an example there. The DNF we found there (\ifHTMLtarget in section~\cref{s:DNFTruthTable}\else on p.~\pageref{longDNF}\fi), was (with all necessary brackets):
$$((((A \eand B) \eand C) \eor ((A \eand \enot B) \eand C)) \eor ((\enot A \eand \enot B) \eand C)) \eor ((\enot A \eand \enot B) \eand \enot C)$$
\practiceproblems
\problempart
\label{pr.DNF2}
Consider the following sentences:
\begin{compactlist}
\item $(A \eif \enot B)$
\item $\enot (A \eiff B)$
\item $(\enot A \eor \enot (A \eand B))$
\item $(\enot (A \eif B ) \eand (A \eif C))$
\item $(\enot (A \eor B) \eiff ((\enot C \eand \enot A) \eif \enot B))$
\item $((\enot (A \eand \enot B) \eif C) \eand \enot (A \eand D))$
\end{compactlist}
For each sentence, find an equivalent sentence in DNF and one in CNF by giving a chain of equivalences. Use (Id), (Abs), and (Simp) to simplify your sentences as much as possible.
\chapter{Soundness}\label{ch:Soundness}
In this chapter we relate TFL's semantics to its natural deduction \emph{proof system} (as defined in \cref{ch.NDTFL}). We will prove that the formal proof system is safe: you can only prove sentences from premises from which they actually follow.
Intuitively, a formal proof system is sound \ifeff{} it does not allow you to prove any invalid arguments. This is obviously a highly desirable property. It tells us that our proof system will never lead us astray. Indeed, if our proof system were not sound, then we would not be able to trust our proofs. The aim of this chapter is to prove that our proof system is sound.
Let's make the idea more precise. We'll abbreviate a list of sentences using the Greek letter $\Gamma$ (`gamma'). A formal proof system is \define{sound} (relative to a given semantics) \emph{\ifeff}, whenever there is a formal proof of $\metav{C}$ from assumptions among $\Gamma$, then $\Gamma$ genuinely entails $\metav{C}$ (given that semantics). Otherwise put, to prove that TFL's proof system is sound, we need to prove the following
\begin{factoidboxe}\textbf{Soundness Theorem.} For any sentences $\Gamma$ and $\metav{C}$: if $\Gamma\proves\metav{C}$, then $\Gamma \entails\metav{C}$
\end{factoidboxe}
To prove this, we will check each of the rules of TFL's proof system individually. We want to show that no application of those rules ever leads us astray. Since a proof just involves repeated application of those rules, this will show that no proof ever leads us astray. Or at least, that is the general idea.
To begin with, we must make the idea of `leading us astray' more precise. Say that a line of a proof is \define{shiny} \ifeff{} the assumptions on which that line depends entail the sentence on that line.\footnote{The word `shiny' is not standard among logicians.} To illustrate the idea, consider the following:
\begin{fitchproof}
\hypo{fgh}{F\eif(G\eand H)}\PR
\open
\hypo{f}{F}\AS
\have{gh}{G \eand H}\ce{fgh,f}
\have{g}{G}\ae{gh}
\close
\have{fg}{F \eif G}\ci{f-g}
\end{fitchproof}\noindent\noindent
Line $1$ is shiny \ifeff{} $F \eif (G \eand H) \entails F \eif (G \eand H)$. You should be easily convinced that line $1$ is, indeed, shiny! Similarly, line $4$ is shiny \ifeff{} $F \eif (G \eand H), F \entails G$. Again, it is easy to check that line~$4$ is shiny. As is every line in this TFL-proof. We want to show that this is no coincidence. That is, we want to prove:
\begin{factoidboxe}\textbf{Shininess Lemma.}
Every line of every TFL-proof is shiny.
\end{factoidboxe}\noindent
Then we will know that we have never gone astray, on any line of a proof. Indeed, given the Shininess Lemma, it will be easy to prove the Soundness Theorem:
\emph{Proof.} Suppose $\Gamma \proves \metav{C}$. Then there is a TFL-proof, with $\metav{C}$ appearing on its last line, whose only undischarged assumptions are among $\Gamma$. The Shininess Lemma tells us that every line on every TFL-proof is shiny. So this last line is shiny, i.e., $\Gamma \entails \metav{C}$. QED
It remains to prove the Shininess Lemma.
To do this, we observe that every line of any TFL-proof is either a
premise or an assumption, or it is obtained by applying some rule.
Premises are automatically shiny: if $\metav{A}$ is a premise, then it
is among the sentences in~$\Gamma$, and $\Gamma \entails \metav{A}$
trivially. Assumptions are also shiny, since the any assumption
$\metav{A}$ depends on itself, and $\metav{A} \entails \metav{A}$. So
what we want to show is that no application of a rule of TFL's proof
system will lead us astray. More precisely, say that a rule of
inference is \define{rule-sound} \emph{\ifeff} for all TFL-proofs, if
we obtain a line on a TFL-proof by applying that rule, and every
earlier line in the TFL-proof is shiny, then our new line is also
shiny. What we need to show is that \emph{every} rule in TFL's proof
system is rule-sound.
We will do this below. But having demonstrated the rule-soundness of every rule, the Shininess Lemma will follow immediately:
\emph{Proof.} Start with line~$1$ of any TFL proof. It must be either
a premise or an assumption, and those are all shiny, as we've seen
above. Take the next line, $2$. If it is a premise or assumption, it
is shiny. If not, it is obtained from line~$1$ using an inference
which is rule-sound. Since line~$1$ is shiny, line~$2$ is also shiny.
Take the next line, $3$. If it is a premise or assumption, it
is shiny. If not, it is obtained from a previous line using an inference
which is rule-sound, and we've established that all previous lines are
shiny. Thus, line~$3$ is also shiny.
And so on. In general, the sentence written on line $n$ must either be
a premise or assumption (which is shiny) or be obtained using a formal
inference rule which is rule-sound. Since every earlier line is shiny,
line~$n$ itself is shiny. We can simply go through this
reasoning, for any TFL proof, starting with line~$1$ and continuing to
the last line, and get that every line of every TFL-proof is shiny.
QED
It remains to show that every rule is rule-sound. This is not
difficult, but it is time-consuming, since we need to check each rule
individually, and TFL's proof system has plenty of rules! To speed up
the process marginally, we will introduce a convenient abbreviation:
`$\Delta_i$' (`delta') will abbreviate the assumptions (if any) on
which line~$i$ depends in our TFL-proof (context will indicate which
TFL-proof we have in mind). This includes all premises of our proof,
and all assumptions of subproofs which are still open at line~$i$.
Let's first record our observation about premises and assumptions from above.
\begin{factoidboxe}
Premises and assumptions in TFL proofs are shiny.
\end{factoidboxe}
If $\metav{A}$ is a premise on line~$n$, then it is among $\Delta_n$
as that includes all premises of the proof. If it is introduced as an
assumption of a subproof on line~$n$, then everything in the subproof
(including line~$n$, i.e., $\metav{A}$ itself) depends on~$\metav{A}$,
and so $\metav{A}$ is among~$\Delta_n$. In either case, $\Delta_n
\entails \metav{A}$.
Now let's proceed to show that all the inference rules are rule-sound.
\begin{factoidboxe}$\eand$I is rule-sound.
\end{factoidboxe}
\emph{Proof.} Consider any application of $\eand$I in any TFL-proof, i.e., something like:
\begin{fitchproof}
\have[i]{a}{\metav{A}}
\have[j]{b}{\metav{B}}
\have[n]{c}{\metav{A}\eand\metav{B}} \ai{a, b}
\end{fitchproof}\noindent
To show that $\eand$I is rule-sound, we assume that every line before line $n$ is shiny; and we aim to show that line $n$ is shiny, i.e., that $\Delta_n \entails \metav{A} \eand \metav{B}$.
So, let $v$ be any valuation that makes all of $\Delta_{n}$ true.
We first show that $v$ makes $\metav{A}$ true. To prove this, note that all of $\Delta_i$ are among $\Delta_{n}$. By hypothesis, line $i$ is shiny. So any valuation that makes all of $\Delta_i$ true makes $\metav{A}$ true. Since $v$ makes all of $\Delta_i$ true, it makes $\metav{A}$ true too.
We can similarly see that $v$ makes $\metav{B}$ true.
So $v$ makes $\metav{A}$ true and $v$ makes $\metav{B}$ true. Consequently, $v$ makes $\metav{A}\eand\metav{B}$ true. So any valuation that makes all sentences among $\Delta_{n}$ true also makes $\metav{A} \eand \metav{B}$ true. That is: line $n$ is shiny. QED
All of the remaining lemmas establishing rule-soundness will have, essentially, the same structure as this one did.
\begin{factoidboxe}$\eand$E is rule-sound.
\end{factoidboxe}
\emph{Proof.}
Assume that every line before line $n$ on some TFL-proof is shiny, and that $\eand$E is used on line $n$. So the situation is:
\begin{fitchproof}
\have[i]{ab}{\metav{A}\eand\metav{B}}
\have[n]{a}{\metav{A}} \ae{ab}
\end{fitchproof}\noindent
(or perhaps with $\metav{B}$ on line $n$ instead; but similar reasoning will apply in that case). Let $v$ be any valuation that makes all of $\Delta_{n}$ true. Note that all of $\Delta_i$ are among $\Delta_{n}$. By hypothesis, line $i$ is shiny. So any valuation that makes all of $\Delta_i$ true makes $\metav{A}\eand\metav{B}$ true. So $v$ makes $\metav{A}\eand\metav{B}$ true, and hence makes $\metav{A}$ true. So $\Delta_{n} \entails \metav{A}$. QED
\begin{factoidboxe}$\eor$I is rule-sound.
\end{factoidboxe}
We leave this as an exercise.
\begin{factoidboxe}$\eor$E is rule-sound.
\end{factoidboxe}
\emph{Proof.}
Assume that every line before line $n$ on some TFL-proof is shiny, and that $\eand$E is used on line $n$. So the situation is:
\begin{fitchproof}
\have[m]{aob}{\metav{A}\eor\metav{B}}
\open
\hypo[i]{a}{\metav{A}}\AS %\by{want \metav{C}}{}
\have[j]{c1}{\metav{C}}
\close
\open
\hypo[k]{b}{\metav{B}}\AS %\by{want \metav{C}}{}
\have[l]{c2}{\metav{C}}
\close
\have[n]{ab}{\metav{C}}\oe{aob, a-c1,b-c2}
\end{fitchproof}\noindent
Let $v$ be any valuation that makes all of $\Delta_{n}$ true. Note that all of $\Delta_m$ are among $\Delta_{n}$. By hypothesis, line $m$ is shiny. So any valuation that makes $\Delta_{n}$ true makes $\metav{A} \eor \metav{B}$ true. So in particular, $v$ makes $\metav{A} \eor \metav{B}$ true, and hence either $v$ makes $\metav{A}$ true, or $v$ makes $\metav{B}$ true. We now reason through these two cases:
\begin{numberlist}
\item \emph{$v$ makes $\metav{A}$ true.} All of $\Delta_i$ are among $\Delta_{n}$, with the possible exception of $\metav{A}$. Since $v$ makes all of $\Delta_{n}$ true, and also makes $\metav{A}$ true, $v$ makes all of $\Delta_i$ true. Now, by assumption, line $j$ is shiny; so $\Delta_{j} \entails \metav{C}$. But the sentences $\Delta_i$ are just the sentences $\Delta_{j}$, so $\Delta_i \entails \metav{C}$. So, any valuation that makes all of $\Delta_i$ true makes $\metav{C}$ true. But $v$ is just such a valuation. So $v$ makes $\metav{C}$ true.
\item \emph{$v$ makes $\metav{B}$ true.} Reasoning in exactly the same way, considering lines $k$ and~$l$, $v$ makes $\metav{C}$ true.
\end{numberlist}
Either way, $v$ makes $\metav{C}$ true. So $\Delta_n \entails \metav{C}$.
QED
\begin{factoidboxe}
$\enot$E is rule-sound.
\end{factoidboxe}
\emph{Proof.}
Assume that every line before line $n$ on some TFL-proof is shiny, and that $\enot$E is used on line $n$. So the situation is:
\begin{fitchproof}
\have[i]{i}{\metav{A}}
\have[j]{j}{\enot\metav{A}}
\have[n]{nb}{\ered}\ri{i, j}
\end{fitchproof}\noindent
Note that all of $\Delta_i$ and all of $\Delta_j$ are among $\Delta_{n}$. By hypothesis, lines $i$ and $j$ are shiny. So any valuation which makes all of $\Delta_{n}$ true would have to make both $\metav{A}$ and $\enot\metav{A}$ true. But no valuation can do that. So no valuation makes all of $\Delta_{n}$ true. So $\Delta_{n} \entails \ered$, vacuously.
QED
\begin{factoidboxe}
X is rule-sound.
\end{factoidboxe}
We leave this as an exercise.
\begin{factoidboxe}
$\enot$I is rule-sound.
\end{factoidboxe}
\emph{Proof.}
Assume that every line before line $n$ on some TFL-proof is shiny, and that $\enot$I is used on line $n$. So the situation is:
\begin{fitchproof}
\open
\hypo[i]{a}{\metav{A}}\AS
\have[j]{b}{\ered}
\close
\have[n]{na}{\enot\metav{A}}\ni{a-b}
\end{fitchproof}\noindent
Let $v$ be any valuation that makes all of $\Delta_{n}$ true. Note that all of $\Delta_{n}$ are among $\Delta_i$, with the possible exception of $\metav{A}$ itself. By hypothesis, line $j$ is shiny. But no valuation can make `$\ered$' true, so no valuation can make all of $\Delta_{j}$ true. Since the sentences $\Delta_i$ are just the sentences $\Delta_{j}$, no valuation can make all of $\Delta_i$ true. Since $v$ makes all of $\Delta_{n}$ true, it must therefore make $\metav{A}$ false, and so make $\enot \metav{A}$ true. So $\Delta_n \entails \enot \metav{A}$.
QED
\begin{factoidboxe}\label{lem:LastRuleSound} IP, $\eif$I, $\eif$E, $\eiff$I, and $\eiff$E are all rule-sound.
\end{factoidboxe}
We leave these as exercises.
This establishes that all the basic rules of our proof system are rule-sound. Finally, we show:
\begin{factoidboxe}All of the derived rules of our proof system are rule-sound.
\end{factoidboxe}
\emph{Proof.}
Suppose that we used a derived rule to obtain some sentence, $\metav{A}$, on line $n$ of some TFL-proof, and that every earlier line is shiny. Every use of a derived rule can be replaced (at the cost of long-windedness) with multiple uses of basic rules. That is to say, we could have used basic rules to write $\metav{A}$ on some line $n + k$, without introducing any further assumptions. So, applying our individual results that all basic rules are rule-sound several times ($k + 1$ times, in fact), we can see that line $n+k$ is shiny. Hence the derived rule is rule-sound.
QED
And that's that! We have shown that every rule---basic or otherwise---is rule-sound, which is all that we required to establish the Shininess Lemma, and hence the Soundness Theorem.
But it might help to round off this chapter if we repeat my informal
explanation of what we have done. A formal proof is just a
sequence---of arbitrary length---of applications of rules. We have
shown that any application of any rule will not lead you astray. It
follows that no formal proof will lead you astray.
That is: our proof system is sound.
\practiceproblems
\problempart
\label{pr.Soundness}
Complete the Lemmas left as exercises in this chapter. That is, show that the following are rule-sound:
\begin{compactlist}
\item $\eor$I. (\emph{Hint}: this is similar to the case of $\eand$E.)
\item X. (\emph{Hint}: this is similar to the case of $\enot$E.)
\item $\eif$I. (\emph{Hint}: this is similar to $\eor$E.)
\item $\eif$E.
\item IP. (\emph{Hint}: this is similar to the case of $\enot$I.)
\end{compactlist}