Proof of A ==> B ==> C ==> B in Isabel

I'm puzzled by the proof

A ==> B ==> C ==> B 

to Isabel. Obviously you could

apply simp

but how can I prove this with rules?

Alternatively, is there a way to reset the rules simp? Thanks.

+4
source share
2 answers

If you really want to understand how evidence works, you should forget about ridiculous tactics as well as automated reasoning tools in the beginning.

The statement A ==> B ==> C ==> B(using this special bundle ==>) of Isabelle / Pure is immediately true, therefore its proof in Isabelle / Isar:

lemma "A ==> B ==> C ==> B" .

What it is, is simple .(which is an abbreviation by this, but thisis actually empty here).

Isabelle/HOL, . . :

lemma "A --> B --> C --> B"
proof
  show "B --> C --> B"
  proof
    assume b: B
    show "C --> B"
    proof
      show B by (rule b)
    qed
  qed
qed

: , , .

Isabelle/Isar, - , . : Drinker.

, .

+5

; Proof General, Isabelle → → → , jEdit.

EDIT: - , simp , "" A, B C , , A = True, B = True C = True, B True, .

"" assumption, , B. , , rule, . assumption assume_tac, , , Thm.assumption, Isabelle. by assumption.

+4

All Articles