src/HOL/Tools/Sledgehammer/clausifier.ML
changeset 38282 319c59682c51
parent 38280 577f138af235
child 38608 01ed56c46259
equal deleted inserted replaced
38281:601b7972eef2 38282:319c59682c51
    98 
    98 
    99 val [f_B,g_B] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_B}));
    99 val [f_B,g_B] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_B}));
   100 val [g_C,f_C] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_C}));
   100 val [g_C,f_C] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_C}));
   101 val [f_S,g_S] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_S}));
   101 val [f_S,g_S] = map (cterm_of @{theory}) (OldTerm.term_vars (prop_of @{thm abs_S}));
   102 
   102 
   103 (*FIXME: requires more use of cterm constructors*)
   103 (* FIXME: Requires more use of cterm constructors. *)
   104 fun abstract ct =
   104 fun abstract ct =
   105   let
   105   let
   106       val thy = theory_of_cterm ct
   106       val thy = theory_of_cterm ct
   107       val Abs(x,_,body) = term_of ct
   107       val Abs(x,_,body) = term_of ct
   108       val Type(@{type_name fun}, [xT,bodyT]) = typ_of (ctyp_of_term ct)
   108       val Type(@{type_name fun}, [xT,bodyT]) = typ_of (ctyp_of_term ct)