Idiomatic Proof by Contradiction in Isabelle? -
so far wrote proofs contradiction in following style in isabelle (using pattern jeremy siek):
lemma "<expression>" proof - { assume "¬ <expression>" have false sorry } show ?thesis blast qed
is there way works without nested raw proof block { ... }
?
there rule ccontr
classical proofs contradiction:
have "<expression>" proof (rule ccontr) assume "¬ <expression>" show false sorry qed
it may use by contradiction
prove last step.
there rule classical
(which looks less intuitive):
have "<expression>" proof (rule classical) assume "¬ <expression>" show "<expression>" sorry qed
for further examples using classical
, see $isabelle_home/src/hol/isar_examples/drinker.thy
Comments
Post a Comment