src/HOL/Tools/inductive.ML
changeset 38864 4abe644fcea5
parent 38665 e92223c886f8
child 39248 4a3747517552
equal deleted inserted replaced
38859:053c69cb4a0e 38864:4abe644fcea5
   180     fun dest_less_concl thm = dest_less_concl (thm RS @{thm le_funD})
   180     fun dest_less_concl thm = dest_less_concl (thm RS @{thm le_funD})
   181       handle THM _ => thm RS @{thm le_boolD}
   181       handle THM _ => thm RS @{thm le_boolD}
   182   in
   182   in
   183     case concl_of thm of
   183     case concl_of thm of
   184       Const ("==", _) $ _ $ _ => eq2mono (thm RS meta_eq_to_obj_eq)
   184       Const ("==", _) $ _ $ _ => eq2mono (thm RS meta_eq_to_obj_eq)
   185     | _ $ (Const (@{const_name "op ="}, _) $ _ $ _) => eq2mono thm
   185     | _ $ (Const (@{const_name HOL.eq}, _) $ _ $ _) => eq2mono thm
   186     | _ $ (Const (@{const_name Orderings.less_eq}, _) $ _ $ _) =>
   186     | _ $ (Const (@{const_name Orderings.less_eq}, _) $ _ $ _) =>
   187       dest_less_concl (Seq.hd (REPEAT (FIRSTGOAL
   187       dest_less_concl (Seq.hd (REPEAT (FIRSTGOAL
   188         (resolve_tac [@{thm le_funI}, @{thm le_boolI'}])) thm))
   188         (resolve_tac [@{thm le_funI}, @{thm le_boolI'}])) thm))
   189     | _ => thm
   189     | _ => thm
   190   end handle THM _ =>
   190   end handle THM _ =>