2013-05-18 20 views

risposta

5

V'è la regola ccontr per le classiche prove per assurdo:

have "<expression>" 
proof (rule ccontr) 
    assume "¬ <expression>" 
    then show False sorry 
qed 

A volte può aiutare a utilizzare by contradiction per provare l'ultimo passo.

V'è anche la regola classical (che sembra meno intuitivo):

have "<expression>" 
proof (rule classical) 
    assume "¬ <expression>" 
    then show "<expression>" sorry 
qed 

Per ulteriori esempi che utilizzano classical, vedere $ISABELLE_HOME/src/HOL/Isar_Examples/Drinker.thy

+3

Se '' è enorme, è conveniente iniziare con 'assumere" ~? Tesi "'. – chris

+1

Una parte: 'ccontr' (che AFAIK abbrevia" classica contraddizione ") è anche il ragionamento classico. Così suona un po 'strano chiamare il secondo schema _ ragionamento classico_. – chris

+0

@chris, hai ragione, dovrei cambiare questo riferimento a "ragionamento classico". Ma allora quale sarebbe la parola migliore per descrivere la regola "classica"? –

2

Per una migliore comprensione della regola classical può essere stampata in stile strutturato Isar In questo modo:

print_statement classical 

Uscita:

theorem classical: 
    obtains "¬ thesis" 

Così il male puro intuizionisti appare un po 'più intuitivo: per dimostrare qualche tesi arbitraria, possiamo supporre che la sua negazione contiene.

Il modello di prova canonica corrispondente è questo:

notepad 
begin 
    have A 
    proof (rule classical) 
    assume "¬ ?thesis" 
    then show ?thesis sorry 
    qed 
end 

Qui ?thesis è la tesi concreta l'affermazione sopra di A, che può essere una dichiarazione arbitrariamente complessa. Questa quasi astrazione tramite l'abbreviazione ?thesis è tipica dell'idioma idiota, per enfatizzare la struttura del ragionamento.