equal
deleted
inserted
replaced
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 |