src/HOL/Tools/function_package/fundef_datatype.ML
changeset 29265 5b4247055bd7
parent 28524 644b62cf678f
child 29329 e02b3a32f34f
equal deleted inserted replaced
29264:4ea3358fac3f 29265:5b4247055bd7
     1 (*  Title:      HOL/Tools/function_package/fundef_datatype.ML
     1 (*  Title:      HOL/Tools/function_package/fundef_datatype.ML
     2     ID:         $Id$
       
     3     Author:     Alexander Krauss, TU Muenchen
     2     Author:     Alexander Krauss, TU Muenchen
     4 
     3 
     5 A package for general recursive function definitions.
     4 A package for general recursive function definitions.
     6 A tactic to prove completeness of datatype patterns.
     5 A tactic to prove completeness of datatype patterns.
     7 *)
     6 *)
    62     forall_elim inst (forall_intr var thm)
    61     forall_elim inst (forall_intr var thm)
    63 
    62 
    64 
    63 
    65 fun inst_case_thm thy x P thm =
    64 fun inst_case_thm thy x P thm =
    66     let
    65     let
    67         val [Pv, xv] = term_vars (prop_of thm)
    66         val [Pv, xv] = OldTerm.term_vars (prop_of thm)
    68     in
    67     in
    69         cterm_instantiate [(cterm_of thy xv, cterm_of thy x), (cterm_of thy Pv, cterm_of thy P)] thm
    68         cterm_instantiate [(cterm_of thy xv, cterm_of thy x), (cterm_of thy Pv, cterm_of thy P)] thm
    70     end
    69     end
    71 
    70 
    72 
    71