changeset 57162 | 5ed907407041 |
parent 57054 | fed0329ea8e2 |
child 57245 | f6bf6d5341ee |
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 |