src/HOL/Tools/inductive_package.ML
changeset 26928 ca87aff1ad2d
parent 26736 e6091328718f
child 26988 742e26213212
equal deleted inserted replaced
26927:8684b5240f11 26928:ca87aff1ad2d
   178     | _ $ (Const ("op =", _) $ _ $ _) => eq2mono thm
   178     | _ $ (Const ("op =", _) $ _ $ _) => eq2mono thm
   179     | _ $ (Const ("HOL.ord_class.less_eq", _) $ _ $ _) =>
   179     | _ $ (Const ("HOL.ord_class.less_eq", _) $ _ $ _) =>
   180       [dest_less_concl (Seq.hd (REPEAT (FIRSTGOAL
   180       [dest_less_concl (Seq.hd (REPEAT (FIRSTGOAL
   181          (resolve_tac [le_funI, le_boolI'])) thm))]
   181          (resolve_tac [le_funI, le_boolI'])) thm))]
   182     | _ => [thm]
   182     | _ => [thm]
   183   end handle THM _ => error ("Bad monotonicity theorem:\n" ^ string_of_thm thm);
   183   end handle THM _ => error ("Bad monotonicity theorem:\n" ^ Display.string_of_thm thm);
   184 
   184 
   185 val mono_add = Thm.declaration_attribute (map_monos o fold Thm.add_thm o mk_mono);
   185 val mono_add = Thm.declaration_attribute (map_monos o fold Thm.add_thm o mk_mono);
   186 val mono_del = Thm.declaration_attribute (map_monos o fold Thm.del_thm o mk_mono);
   186 val mono_del = Thm.declaration_attribute (map_monos o fold Thm.del_thm o mk_mono);
   187 
   187 
   188 
   188