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