src/HOL/Tools/Function/function_core.ML
changeset 52456 960202346d0c
parent 52384 80c00a851de5
child 52467 24c6ddb48cb8
equal deleted inserted replaced
52455:9a8f4fdac3cf 52456:960202346d0c
   423       |> (fn it => Drule.compose_single (it, 2, acc_induct_rule)) (* "EX! y. (?x,y):G" *)
   423       |> (fn it => Drule.compose_single (it, 2, acc_induct_rule)) (* "EX! y. (?x,y):G" *)
   424       |> (fn it => fold (Thm.forall_intr o cterm_of thy o Var) (Term.add_vars (prop_of it) []) it)
   424       |> (fn it => fold (Thm.forall_intr o cterm_of thy o Var) (Term.add_vars (prop_of it) []) it)
   425 
   425 
   426     val goalstate =  Conjunction.intr graph_is_function complete
   426     val goalstate =  Conjunction.intr graph_is_function complete
   427       |> Thm.close_derivation
   427       |> Thm.close_derivation
   428       |> Goal.protect
   428       |> Goal.protect 0
   429       |> fold_rev (Thm.implies_intr o cprop_of) compat
   429       |> fold_rev (Thm.implies_intr o cprop_of) compat
   430       |> Thm.implies_intr (cprop_of complete)
   430       |> Thm.implies_intr (cprop_of complete)
   431   in
   431   in
   432     (goalstate, values)
   432     (goalstate, values)
   433   end
   433   end