4.6 Hunting for a Refuting Row
Section 4.5 reduced every question about rows to one:
is this list unsatisfiable? A truth table answers it by
brute force, and with
This section turns working backwards into a method that keeps that record: take the forced steps first, and when nothing is forced, split into cases and follow every case. On paper the method is a tree. A branch that closes is a case with no row; a branch that stays open hands us a row. The answers are about truth, “valid” or “here is a refuting row”; what they say about derivations is the next section’s business.
4.6.1. The rules of the search
To decide
Quick check. From the tables of
(V3)–(V5), counting each way as a condition on one or
both parts: in how many ways can
Solution.
Each requirement on a compound formula is traded for requirements on its parts, read off its clause. These are the search rules; first the requirements met in only one way.
| On the branch | Its requirement, read off | Adds |
|---|---|---|
| (V3): both parts true | ||
| (V4): both parts false | ||
| (V5): hypothesis true, conclusion false | ||
| (V2) twice: |
Then the requirements met in two ways; each splits the search into two cases.
| On the branch | Its requirement, read off | Adds |
|---|---|---|
| (V4): some part true | ||
| (V3): some part false | ||
| (V5): hypothesis false, or conclusion true | ||
| (V6): the parts agree | ||
| (V6): the parts differ |
An atom, a negated atom, and
The two ways of a split need not exclude each other
(a row may make both
4.6.2. The search, drawn as a tree
Let
A branch is a path from the root
down to a node with nothing below it, and its formulas
are those on its nodes. A branch is
closed if it holds some formula
together with its negation, or holds
In words: a search tree is a record of a backwards computation with every choice followed. A closed branch is a case with no row; a finished open branch is a case that has survived every requirement.
We draw search trees with three marks. A closed
branch ends in
Decide whether
Solution. This is the list of Section 3.2’s exit check (Exercise (C1: Exit check: the counterexample set, used later)), which derived the claim; now a search shows it valid.
The root carries the counterexample set: the three
premises and
- Stage 1, the one-way rule for
: add , . - Stage 2,
: or . The branch closes against . - Stage 3,
: or . - Stage 4, on the branch
: gives , which closes against , or , which closes against . - Stage 5, on the branch
: gives or , both closed.
(The branch
A tick marks a formula whose rule was applied below
it:
Five closed branches replace the
Decide whether
Solution. The first three stages
are the same as before. On the branch
On the branch
Its row: the atoms on it,
The premise
Quick check. On the open branch of the second tree, check that its row makes every formula on the branch true, the used ones included.
Solution.
4.6.3. What a closed tree proves
Each rule passes a row on. If a row makes
every formula on a branch true and a rule is applied
there, the row makes true all the formulas of at least
one new node, since each rule was read off its table. So
a row making the root true runs down some branch to its
end with every formula true there. A closed branch holds
An open finished branch hands over a row. Make the atoms that stand on it true and all other atoms false. A negated atom on it is then true, since its atom is not on the open branch; every other formula on it is used, so the branch carries the shorter formulas of one of its ways, and it is true by its clause once they are. From the shortest up, every formula on the branch is true.
Let
- (a) Every search
tree for
can be continued until it is finished, and it has only finitely many stages. - (b) If every branch
of a search tree for
is closed, then is unsatisfiable. - (c) If a search tree
for
has an open finished branch , then the valuation that makes the atoms on true and every other atom false makes every formula on true, in particular every formula of .
So, for a list
In words: the search always ends; a closed tree proves unsatisfiability, and an open finished branch exhibits a satisfying row. Since (b) and (c) cannot both apply to finished trees of one list, every order of moves gives the same verdict.
Idea.
- (a) Every new formula is shorter than the one whose rule added it, and is a subformula of a root formula or the negation of one. (b) and (c) are the two observations, made exact by induction (on the stages for (b), on the length of a formula for (c)). The proof is in the fold below.
Second readingThe proof: why the search decides
Proof.
(a) Let
be the number of formulas that are subformulas of formulas of , or negations of such. Every formula ever added to the tree is one of these. Each rule adds immediate parts of the used formula, or negations of them, or, for , the formula ; and if the used formula is a subformula of a root formula or the negation of one, then so are the formulas it adds. Once a formula is used on a branch, it and every formula equal to it stay used on every branch below, so a stage below a given node never uses a formula already used above it. Hence each of the formulas is used at most once along a branch, and a branch has at most stages below the root. A stage adds at most two nodes, below one branch, so a branch splits at most times, and the tree never has more than branches, each with at most nodes. Each stage adds a node, so there are only finitely many stages. When no stage is possible, no open branch carries an unused formula other than an atom, a negated atom, or ; since is on no open branch, every branch is closed or finished.(b) Claim: at every stage, if a valuation
makes every formula of true, then some branch has all its formulas true under . At the start this is the root. Suppose it holds before a stage, and the stage applies ’s rule below the chosen branch . A branch all of whose formulas are true under is either another branch, which the stage leaves unchanged, or itself. In the second case makes true, since is on , and by the clause of Definition 4.4.2 from which the rule was read, makes true every formula of one new node. One rule at a time: true: and true, by (V3). true: false, so and true, by (V2) and (V4). true: false, so and true, by (V2) and (V5). true: false, so true, by (V2) twice. true: true or true, by (V4). true: false, so true or true, by (V2) and (V3). true: false or true, so true or true, by (V5) and (V2). true: the parts agree, so both are true, or and are both true, by (V6) and (V2). true: the parts differ, so and are true, or and are, by (V2) and (V6).
So the new branch through that node has all its formulas true under
, and the claim holds after the stage. By Axiom 4.2.1 on the number of stages, it holds for the tree at hand. A closed branch holds and , or , and cannot make all of these true, by (V2) and (V1). So if every branch is closed, no valuation makes every formula of true: is unsatisfiable.- (c) Let
be open and finished. We prove that for every formula on , by Theorem 4.2.2 on the length of : assume it for every formula on shorter than .
- An atom
on is true, by the definition of . is not on , since is open. is true, by (V1) and (V2).- A negated atom
: is not on , else would be closed, so and is true. - Any other
is used on , since is finished. So passes through a node carrying the formulas of one of ’s ways. Each of them is shorter than : by the count of symbols in Section 4.3, has one symbol more than , and has the symbols of and plus , so each of , , , is shorter than and than its negation, and is shorter than . So each is true under by the hypothesis, and then is true by the clause of its row in the bullets of (b), read from right to left.
The formulas of
The last sentence of the statement: apply (a), and
then (b) or (c), to the list
Warning. A split needs
both sides. Had we said, in the first
tree, “suppose
4.6.4. Choosing the next move
Every order gives the same verdict; the work differs. Five tactics keep a tree small.
- The conclusion first.
is often one way, and it fixes the values that make the premises bite. - One way before two ways. A one-way rule adds to every branch at once; a split doubles the work below it.
- Close early. Before a split, look for a formula whose negation is already on the branch; after it, close every branch you can at once.
- Split where a side closes at once. Among formulas that must split, prefer one with a side that clashes immediately.
- Stop at the first finished open branch. One refuting row is enough.
The method as a chart:
The order of the tests decides nothing about the verdict (Proposition 4.6.1), only about the work.
Quick check. Search Example (A tree that closes)
again, applying the rule of
Solution. The one-way node
4.6.5. Testing a list for satisfiability
The same tree works for any finite list. For a list of claims about an integer, an open finished branch gives a row, and often a number.
Let
- (1)
is even or is a multiple of . - (2) If
is even, then is a multiple of . - (3)
is not both a multiple of and a multiple of .
Solution. Take the atoms
A number with its row (
The search treats
Section 3.2 asked whether a list is inconsistent; the search asks whether it is unsatisfiable, and Sections 4.7 and 4.8 prove that the two questions always have the same answer.
Quick check. Section 3.2 derived
Solution. No. The rule of
Second readingA tree is a table with rows merged
Each branch of a search tree stands for the rows that
agree with its atoms and negated atoms and make true
every formula split above it: a branch carrying
4.6.6. The withheld verdicts
Section 3.2’s derive-or-break items withheld the verdict, and a claim that resisted both deriving and breaking by hand stayed open. The search settles each semantically: a closed tree shows the claim valid, an open finished branch gives a refuting row, always in finitely many steps.
Here are the four claims that Exercise B3 of Section
3.2 broke (Exercise (B3: Derive or break, used later),
used later), read as entailments, each with the row its
search returns.
| Claim | Refuting row | The search |
|---|---|---|
| (a) |
root |
|
| (d) |
||
| (f) |
||
| (g) |
Each row is the row of Section 3.2’s break, whose
statements about
Two questions remain, and they are the next two sections’: does a refuting row show that no derivation exists, and does a valid claim always have a derivation? (Sections 4.7 and 4.8.)
Remark (Looking ahead). Section 4.7 proves that a refuting row rules out every derivation. With it, a search that stays open on a subgoal tells a derivation search to stop chasing that subgoal: the move test the subgoal.
4.6.7. Exercises
A. Check your understanding
- (a) Which of these
formulas split when used:
; ; ; ; ? - (b) An open finished
branch carries
(used), , , . Which row does it give? - (c) True or false:
if some branch of a finished tree for
is closed, then . - (d) True or false: two finished trees for the same list, built in different orders, can give different verdicts.
- (e) Why does the warning say that a clash reached under a guess refutes the guess, not the claim?
Solution.
(a)
and .(b)
, , , and every other atom .(c) False: every branch must be closed. One closed branch only rules out the rows of that branch.
(d) False. By Proposition 4.6.1, a closed tree means that no row makes the list true, and an open finished branch means that one does; both cannot hold.
(e) The guess picked one side of a split. The rows on the other side were never examined, and a refuting row may lie there.
The parts run from writing one rule, through closing a branch and reading off a row, to short searches.
- (a) What does
add? - (b) What does
add? - (c) What does
add? - (d) What does
add? - (e) Is the branch
closed? - (f) Is the branch
closed? - (g) An open finished
branch carries
(used), , . Which row does it give? - (h) Search: does
hold? - (i) Search: does
hold? - (j) Is the list
satisfiable? - (k) For the list
, which formula should be used first, and why? - (l) “Suppose
is true; then the branch closes; so the claim is valid.” Is this correct?
Solution.
(a)
, (one way).(b)
, or (two ways).(c)
, or .(d)
.(e) Yes: it holds
and .(f) Not yet. Using
gives , which closes against , or , which closes against ; so the tree below it closes.(g)
, .(h) No. Root
; split: closes, and is open and finished. The row , refutes it.(i) Yes. Root
; one way: ; one way: ; closed, so valid.(j) No. The first gives
or . Under each, the second gives or , and all four branches close. The last one, , closes at once: is the negation of .(k)
: it is one way.(l) No: that is a guess. The case with
false must also close.
B. Practice
Decide each claim by a search tree; you may stop at the first finished open branch. For a refuted claim, read off a refuting row and check it.
- (a)
- (b)
- (c)
- (d)
Solution. The verdict comes first,
then the tree as its stages;
(a) Valid.
adds . : or . Under : gives or . Under : gives or . Every branch is closed.(b) Refuted.
adds . : or . Under : gives or ; take . Then gives or ; take . The branch through , , is open and finished, and the search stops there; the other sides are not followed. Row , , , : both implications have false hypotheses, is , and is .(c) Valid.
adds ; these add and . : or . : or .(d) Refuted.
adds , and adds . : (against ) or . : or . The branch is open and finished. Row , , : is , is , and is .
Claims (a) and (b) are look-alikes, with the premises’ disjunction and the conclusion traded, and only (a) holds.
Let
- (1) if
is divisible by , then is divisible by ; - (2)
is divisible by , or is odd; - (3)
is not odd; - (4) if
is divisible by , then is not divisible by ; - (5) if
is divisible by , then is divisible by .
- (a) With the atoms
for “divisible by ”, “divisible by ”, “odd”, “divisible by ”, decide by a search tree whether the list of five formulas is satisfiable. (b) Drop one claim so that the rest are satisfiable, and give an integer for which they all hold.
Solution.
(a) The list is
. No rule is one way. Split , which has a side that closes at once: , or (against ). Under : gives or ; gives or ; gives or (against ). Every branch closes: the list is unsatisfiable, so no integer makes all five claims true, and their form alone forbids it.(b) Drop (4). In the tree without it, the branch
, with false, is open and finished. The integer is divisible by , and , and not odd, so it satisfies (1), (2), (3) and (5). Dropping (1) instead also works: under , the rule of gives , then gives , and the branch , with false, is open and finished; realizes it.
Marking scheme. (6 points)
- 1: the formulas.
- 3: the closed tree.
- 2: (b), with an integer checked against each remaining claim.
A search for
Name the move, then complete it.
Solution. No one-way formula is
left unused, so the move is to split the disjunction
Marking scheme. (4 points)
- 1: the move named (split, since nothing one-way is left).
- 2: the completed tree.
- 1: the verdict.
C. Going deeper
Add the connective
- (a) Read search
rules for
and for off (V7), and say which is one way. - (b) Decide
by a search. - (c) Decide by a
search whether
is a tautology.
Solution.
(a)
is true unless both parts are true, so it is true in two ways: it adds or . is true exactly when both parts are true, one way: it adds .(b) Root
. The formula adds . Then gives or . Every branch is closed: valid.(c) The root is the negated formula,
. It is one way: it adds and . The latter gives or . The tree is closed, so the negation is unsatisfiable and the formula is a tautology. It says “not both and not ”, since is true exactly when is false.
Marking scheme. (8 points)
- 3: (a), with each rule tied to its rows of (V7).
- 2: (b).
- 3: (c), including the root as the negated formula.
Close the section first. For each claim, run a search tree, state the tactics you used in your order of moves, give the verdict, and say which part of Proposition 4.6.1 justifies it.
- (a)
- (b)
Solution.
(a) The conclusion first:
adds . Then , which has a side that closes at once: or . Then : , or (against ). Every branch is closed, so by (b) the counterexample set is unsatisfiable, and the entailment holds.(b) The conclusion first:
adds , and then adds (one way before two ways). Split , whose side closes at once: , or . Under : gives or , and the branch is open and finished (stop at the first finished open branch). By (c), its row , , makes every root formula true: is , is , and is . The claim is refuted.
Marking scheme. (10 points)
- 1 + 1: the roots, which are the counterexample sets.
- 3 + 3: the trees.
- 1: the tactics named.
- 1: the parts of Proposition 4.6.1 cited correctly, (b) for (a) and (c) for (b).
Fatal errors (0 for the part): a root without the negated conclusion; a verdict from an unfinished open branch.
Extend search trees by the rules of C1 for
Solution.
(a) The new rules add immediate parts or their negations, so every added formula is still a subformula of a root formula or the negation of one, and the count of the proof is unchanged.
(b) New cases of the claim. If
makes true, then by (V7) not both parts are true, so makes or true: one of the two new nodes. If makes true, then is false, so both parts are true: the one new node.(c) New cases of the induction. A used
on has or on , which is shorter and true by the hypothesis, so one part of is false and is true by (V7). A used has and on , both shorter and true by the hypothesis, so is false and its negation true. The base cases are unchanged: an atom, a negated atom, and .
Marking scheme. (10 points)
- 2: (a).
- 4: (b), both rules.
- 4: (c), both rules, with the hypothesis applied to shorter formulas.
Fatal error: in (c), using the hypothesis for