4.10 Contradiction

Proof attempt by contradiction

Syntax

  ct

Use

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:

Example

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