equal
deleted
inserted
replaced
44 fun mk_Eq thm = thm RS @{thm Eq_FalseI} handle THM _ => thm RS @{thm Eq_TrueI}; |
44 fun mk_Eq thm = thm RS @{thm Eq_FalseI} handle THM _ => thm RS @{thm Eq_TrueI}; |
45 |
45 |
46 val mk_Trueprop = HOLogic.mk_Trueprop; |
46 val mk_Trueprop = HOLogic.mk_Trueprop; |
47 |
47 |
48 fun atomize thm = case Thm.prop_of thm of |
48 fun atomize thm = case Thm.prop_of thm of |
49 Const (@{const_name Trueprop}, _) $ (Const (@{const_name "op &"}, _) $ _ $ _) => |
49 Const (@{const_name Trueprop}, _) $ (Const (@{const_name HOL.conj}, _) $ _ $ _) => |
50 atomize (thm RS conjunct1) @ atomize (thm RS conjunct2) |
50 atomize (thm RS conjunct1) @ atomize (thm RS conjunct2) |
51 | _ => [thm]; |
51 | _ => [thm]; |
52 |
52 |
53 fun neg_prop ((TP as Const(@{const_name Trueprop}, _)) $ (Const (@{const_name Not}, _) $ t)) = TP $ t |
53 fun neg_prop ((TP as Const(@{const_name Trueprop}, _)) $ (Const (@{const_name Not}, _) $ t)) = TP $ t |
54 | neg_prop ((TP as Const(@{const_name Trueprop}, _)) $ t) = TP $ (HOLogic.Not $t) |
54 | neg_prop ((TP as Const(@{const_name Trueprop}, _)) $ t) = TP $ (HOLogic.Not $t) |