From: mahmoud abdelazim <m.abdelazim@icloud.com>
Does exists a modus tollens rule in isabelle?
From: Peter Lammich <lammich@in.tum.de>
You may try
HOL.contrapos_nn: ⟦¬ ?Q; ?P ⟹ ?Q⟧ ⟹ ¬ ?P
or just prove the rule you need "by blast"
From: Alfio Martini <alfio.martini@acm.org>
Hi Mahmoud,
Like Peter mentioned, you can prove it if you want. There are many ways.
Two of them are shown below:
theorem mt:
assumes mj: "A⟶B" and mi: "¬B"
shows "¬A" using mj and mi by simp
theorem mt2:
assumes mj: "A⟶B" and mi: "¬B"
shows "¬A"
proof (rule notI)
assume A
from mj and this have B by (rule mp)
from mi and this show False by (rule notE)
qed
Best!
Last updated: Nov 21 2024 at 12:39 UTC