B.4 Decomposing the Goal
In a proof situation
where the goal G
is not an atomic formula, the usual strategy is to decompose the proof into
subproofs in a way that is determined by the outermost quantifier respectively
connective of G.
Proposition 141 (Decomposition of Universal Quantifications)
For proving with knowledge K the goal forall x: G,
it suffices to prove G[x <- a]
where a is an object constant
that does not appear in K
and not in G.
~~>
(a not in K union {G})
In the proof of a universal formula we thus replace the variable by a constant
about which no assumptions have been made yet. This may be indicated in a
natural language proof in a very verbose form as
We have to prove (forall x: G). We take an arbitrary (but
fixed) constant a and show G[x <- a].
Usually, we choose instead of a some name that indicates the name of
the corresponding variable, e.g., x. Even more
frequently, we simply chose x as the name of the constant provided that
x
does not appear freely in K or G. We then simply write
We have to prove (forall x: G). We take arbitrary
x and show G.
or even shorter
We have to prove (forall x: G). Take arbitrary
x. Then ...(proof of G).
However, we have to understand that x now represents an arbitrary (but
fixed) constant. Allmost all proofs in this document use this style, see for
instance the proof of Proposition Function
Composition or the proof of
Proposition Differences.
Frequently also the indirect method is applied in such a situation.
Instead of proving (forall x: G) we assume
(~forall x: G), i.e.,
(exists x: ~G) and proceed to derive a contradiction
with the help of a constant a such that G holds (see
Proposition Existential Knowledge):
~~>
K union {exists x: ~G} |
F(alse) |
~~>
K union {~G[x <- a]} |
F(alse) |
This is typically indicated as
We have to prove (forall x: G). Assume
~G for some x. Then ... (derivation of a contradiction
with additional knowledge ~G).
In this formulation, x now represents a constant for the rest of the
proof.
Proposition 142 (Decomposition of Existential Quantifications)
For proving with knowledge K the goal exists x: G,
it suffices to prove G[x <- T]
for some term T.
~~>
An existential proof requires creativity. We have to find a
witness (Zeugen), i.e., a value for x that makes G
true. This value can be only constructed from those function and object
constants about which we have some knowledge in K such that we can
proceed to prove G.
In natural language, such a proof is usually indicated as
We have to prove (exists x: G).
We prove G[x <- T].
or, if x occurs multiple times in G, shorter as
We have to prove (exists x: G). Take a :=
T. We prove G[x <- a].
where a is an object constant that does not appear in K and for
which we assume the additional knowledge a = T. Even shorter,
we may write
We have to prove (exists x: G). Take x :=
T. We then have ...(proof of G with additional
knowledge x = T).
This is possible if x does not occur freely in K.
For examples, see the proof of Proposition Density of
Rationals or the
proof of the existence of a factorization into prime
numbers.
The indirect method may be applied by assuming
(~exists x: G), i.e.,
(forall x: ~G) and deriving a contradiction,
see Proposition Universal Knowledge:
~~>
K union {forall x: ~G} |
F(alse) |
.
This is usually indicated as follows:
We have to prove (exists x: G). Assume
(forall x: ~G). Then ...
(derivation of a contradiction with additional knowledge
(forall x: ~G)).
Proposition 143 (Decomposition of Equivalences)
For proving with knowledge K the goal G0 <=> G1, it suffices to prove both G0 => G1
and G1 => G0:
~~>
An equivalence is shown by proving the implication "from left to right" and
"from right to left", sometimes denoted as
We have to prove G0 <=> G1:
- => : ...(proof of G0 => G1).
- <= : ...(proof of G1 => G0).
If we have to show G0 <=> G1 <=> G2, i.e.,
(G0 <=> G1) /\ (G1 <=> G0), it
suffices to "traverse the circle", i.e., to show (G0 => G1) /\ (G1 => G2) /\ (G2 => G0) (and analogously for an arbitrary number of
equivalences).
Examples are shown in the proofs of Proposition Equality and
Subset and of
Proposition Relation Laws.
Proposition 144 (Decomposition of Implications)
For proving with knowledge K the goal G0 => G1, it suffices to prove G1
with additional knowledge G0:
~~>
Almost every proof contains applications of above rule indicated as
We have to show G0 => G1. Assume G0.
Then ...(proof of G1 with additional knowledge G0).
Because of (G0 => G1) iff
(~G1
=> ~G0), an alternative is to apply the rule
~~>
indicated as
We have to show G0 => G1. Assume ~G1.
Then ...(proof of ~G0
with additional knowledge ~G1).
Because of ~(G0 => G1) iff
(G0 /\ ~G1), the indirect method yields
~~>
K union {G0 /\ ~G1} |
F(alse) |
which is typically indicated as
We have to show G0 => G1. Assume G0 /\ ~G1. Then we have ... (derivation of a contradiction).
Examples are given in the proofs of
Proposition Equality and of the Second Peano
Law.
Proposition 145 (Decomposition of Conjunctions)
For proving with knowledge K the goal G0 /\ G1, it suffices to prove both G0 and G1:
~~>
A conjunction is shown by showing both conjuncts in turn:
We have to show G0 /\ G1.
- ...(proof of G0).
- ...(proof of G1).
Because of ~(G0 /\ G1) iff
~G0 \/ ~G1, the indirect method
leads to
~~>
K union {~G0 \/ ~G1} |
F(alse) |
~~>
applying the technique of "case distinction":
We have to prove G0 /\ G1.
- Assume ~G0. Then ...(derivation of contradiction with
additional assumption ~G0).
- Assume ~G1. Then ...(derivation of contradiction with
additional assumption ~G1).
Examples of proofs of conjunctions are given for Proposition Function
Composition for the existence of
a factorization into prime numbers.
Proposition 146 (Decomposition of Disjunctions)
For proving with knowledge K the goal G0 \/ G1, it suffices to prove G1
with additional knowledge ~G0.
~~>
This rule is a consequence of "(G0 \/ G1)
iff (~G0 => G1)"
such that the same techniques can be applied as for the decomposition of
implications:
We have to show G0 \/ G1. Assume ~G0. Then
...(proof of G1).
Of course, the roles of G0 and G1 can be inverted.
Frequently, in a particular proof situation, the additional assumption is not
required and one simply says
We have to show G0 \/ G1. We have
...(proof of G0 or of G1).
Proposition 147 (Explicitly Defined Predicates)
For proving an atomic formula p(a0, ...,
an-1) where p is predicate explicitly defined as
p(x0, ..., xn-1) : <=> G,
and a0, ..., an-1 are terms,
it suffices
to prove G[x0 <- a0, ..., xn-1 <- an-1]:
K union {forall x0, ...,
xn-1: p(x0, ..., xn-1) <=> G} |
p(a0, ..., an-1) |
~~> |
K union {forall x0, ...,
xn-1: p(x0, ..., xn-1) <=> G} |
G[x0 <- a0, ...,
xn-1 <- an-1] |
|
We may thus just insert the definition of a predicate into a goal formula:
We have to prove p(a0, ..., an-1).
By definition of p, it suffices to prove
G[x0 <- a0, ..., xn-1
<- an-1].
The proofs of Proposition Equality and Subset and of Proposition Function
Composition show applications of
above rule.
Proposition 148 (Explicitly Defined Functions)
For proving the goal F[x <- G(a0, ...,
an-1)] where f is a function explicitly defined as
G(x0, ..., xn-1) := T,
it suffices
to prove G[x <- T[x0 <- a0, ..., xn-1 <- an-1]]
(for some terms T, a0, ..., an-1):
K union {forall x0, ...,
xn-1: G(x0, ..., xn-1) = T} |
G[x <- G(a0, ...,
an-1)] |
~~>
|
K union {forall x0, ..., xn-1: G(x0, ..., xn-1) = T} |
G[x <- T[x0 <- a0, ...,
xn-1 <- an-1]] |
|
Above rule simply tells us that, if a goal contains an elementary term with an
explicitly defined function, we are allowed to "insert the definition"
of the function:
We have to prove F[x <- G(a0, ...,
an-1)]. By definition of G, it suffices
to prove G[x <- T[x0 <- a0, ..., xn-1 <- an-1]].
Examples are given by the proofs of Proposition Function
Composition and of
Proposition Quotient.
Author: Wolfgang Schreiner
Last Modification: October 4, 1999