src/HOL/Tools/Sledgehammer/sledgehammer_isar_compress.ML
changeset 57162 5ed907407041
parent 57054 fed0329ea8e2
child 57245 f6bf6d5341ee
equal deleted inserted replaced
57161:6254c51cd210 57162:5ed907407041
   239               | (SOME (l, _), candidates') =>
   239               | (SOME (l, _), candidates') =>
   240                 (case find_index (curry (op =) (SOME l) o label_of_isar_step) steps of
   240                 (case find_index (curry (op =) (SOME l) o label_of_isar_step) steps of
   241                   ~1 => steps
   241                   ~1 => steps
   242                 | i =>
   242                 | i =>
   243                   let val successors = get_successors l in
   243                   let val successors = get_successors l in
   244                     if length successors > compress_degree then steps
   244                     if length successors > compress_degree then
   245                     else compression_loop candidates' (try_eliminate i l successors steps)
   245                       steps
       
   246                     else
       
   247                       steps
       
   248                       |> not (null successors) ? try_eliminate i l successors
       
   249                       |> compression_loop candidates'
   246                   end))
   250                   end))
   247 
   251 
   248           fun add_cand (Prove (_, _, l, t, _, _, _, _)) = cons (l, size_of_term t)
   252           fun add_cand (Prove (_, _, l, t, _, _, _, _)) = cons (l, size_of_term t)
   249             | add_cand _ = I
   253             | add_cand _ = I
   250 
   254