src/Pure/proofterm.ML
changeset 41699 21492e1c2b5a
parent 41698 90597e044e5f
child 43278 1fbdcebb364b
equal deleted inserted replaced
41698:90597e044e5f 41699:21492e1c2b5a
  1453           (Future.forks {name = "Proofterm.prepare_thm_proof", group = NONE, deps = [], pri = ~1})
  1453           (Future.forks {name = "Proofterm.prepare_thm_proof", group = NONE, deps = [], pri = ~1})
  1454           (make_body0 o full_proof0);
  1454           (make_body0 o full_proof0);
  1455 
  1455 
  1456     fun new_prf () = (serial (), fulfill_proof_future thy promises postproc body0);
  1456     fun new_prf () = (serial (), fulfill_proof_future thy promises postproc body0);
  1457     val (i, body') =
  1457     val (i, body') =
  1458       (* FIXME non-deterministic!? depends on fulfilled proof*)
  1458       (*non-deterministic, depends on unknown promises*)
  1459       (case strip_combt (fst (strip_combP prf)) of
  1459       (case strip_combt (fst (strip_combP prf)) of
  1460         (PThm (i, ((old_name, prop', NONE), body')), args') =>
  1460         (PThm (i, ((old_name, prop', NONE), body')), args') =>
  1461           if (old_name = "" orelse old_name = name) andalso prop1 = prop' andalso args = args'
  1461           if (old_name = "" orelse old_name = name) andalso prop1 = prop' andalso args = args'
  1462           then (i, body')
  1462           then (i, body')
  1463           else new_prf ()
  1463           else new_prf ()