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.
simp
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).
.
by this
this
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.
, .
; Proof General, Isabelle → → → , jEdit.
EDIT: - , simp , "" A, B C , , A = True, B = True C = True, B True, .
A = True
B = True
C = True
B
True
"" assumption, , B. , , rule, . assumption assume_tac, , , Thm.assumption, Isabelle. by assumption.
assumption
rule
assume_tac
Thm.assumption
by assumption