Proof attempt by contradiction
ct
This
command
enables
to
attempt
a
proof
by
contradiction.
If
the
current
goal
is
G,
it
is
then
transformed
into:
¬G ⇒ bfalse
It
is
then
necessary
that
the
hypotheses,
completed
by
¬G,
enable
the
generation
of
bfalse.
In
this
case,
we
obtain:
bfalse ⇒ bfalse
which is true.
Proof by contradiction can be used especially:
Let us consider the following proof obligation:
Hypothesis ENS = {e1,e2,e3,e4,e5} & tt: ENS & uu: ENS & not(uu = tt) & uu: {e1,e2,e3,e4} => tt = e5 & uu = e5 => tt = e1 Goal not(e2 = e5)
|
We attempt a proof by contradiction, given the form of the goal.
PRI> ct Starting Contradiction
|
¬¬(e2 = e5) is simplified in e2 = e5 then becomes a hypothesis. The goal becomes bfalse.
New Hypothesis since last command e2 = e5 Goal bfalse
|
The automatic prover is then called.
PRI> pr Starting Prover Call
|
the command line then becomes:
Force(0) & dd & ct & pr & Next
|