src/HOL/Tools/res_atp.ML
changeset 33039 5018f6a76b3f
parent 33035 15eab423e573
parent 33038 8f9594c31de4
child 33046 33aee6150969
equal deleted inserted replaced
33036:c61fe520602b 33039:5018f6a76b3f
   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