src/HOL/Tools/lin_arith.ML
changeset 38795 848be46708dc
parent 38715 6513ea67d95d
child 38797 abe92b33ac9f
equal deleted inserted replaced
38794:2d638e963357 38795:848be46708dc
    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)