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