src/HOL/Tools/Function/induction_schema.ML
changeset 33697 7d6793ce0a26
parent 33471 5aef13872723
child 33855 cd8acf137c9c
equal deleted inserted replaced
33696:2c7c79ca6c23 33697:7d6793ce0a26
   381 (*                 |> (fn thm => (tracing (makestring thm); thm))*)
   381 (*                 |> (fn thm => (tracing (makestring thm); thm))*)
   382         end                  
   382         end                  
   383 
   383 
   384     val res = Conjunction.intr_balanced (map_index project branches)
   384     val res = Conjunction.intr_balanced (map_index project branches)
   385                  |> fold_rev implies_intr (map cprop_of newgoals @ steps)
   385                  |> fold_rev implies_intr (map cprop_of newgoals @ steps)
   386                  |> (fn thm => Thm.generalize ([], [Rn]) (Thm.maxidx_of thm + 1) thm)
   386                  |> Drule.generalize ([], [Rn])
   387 
   387 
   388     val nbranches = length branches
   388     val nbranches = length branches
   389     val npres = length pres
   389     val npres = length pres
   390   in
   390   in
   391     Thm.compose_no_flatten false (res, length newgoals) i
   391     Thm.compose_no_flatten false (res, length newgoals) i