equal
deleted
inserted
replaced
209 fun defines thy thm gctypes = |
209 fun defines thy thm gctypes = |
210 let val tm = prop_of thm |
210 let val tm = prop_of thm |
211 fun defs lhs rhs = |
211 fun defs lhs rhs = |
212 let val (rator,args) = strip_comb lhs |
212 let val (rator,args) = strip_comb lhs |
213 val ct = const_with_typ thy (dest_ConstFree rator) |
213 val ct = const_with_typ thy (dest_ConstFree rator) |
214 in forall is_Var args andalso uni_mem gctypes ct andalso |
214 in |
215 Term.add_vars rhs [] subset Term.add_vars lhs [] |
215 forall is_Var args andalso uni_mem gctypes ct andalso |
|
216 subset (op =) (Term.add_vars rhs [], Term.add_vars lhs []) |
216 end |
217 end |
217 handle ConstFree => false |
218 handle ConstFree => false |
218 in |
219 in |
219 case tm of Const ("Trueprop",_) $ (Const("op =",_) $ lhs $ rhs) => |
220 case tm of Const ("Trueprop",_) $ (Const("op =",_) $ lhs $ rhs) => |
220 defs lhs rhs |
221 defs lhs rhs |