src/HOL/Tools/SMT/z3_proof_reconstruction.ML
changeset 39020 ac0f24f850c9
parent 38795 848be46708dc
child 39557 fe5722fce758
equal deleted inserted replaced
39019:bfd0c0e4dbee 39020:ac0f24f850c9
   821       | SOME (Proved p) => (p, cxp)
   821       | SOME (Proved p) => (p, cxp)
   822       | NONE => z3_exn ("unknown proof id: " ^ quote (string_of_int idx)))
   822       | NONE => z3_exn ("unknown proof id: " ^ quote (string_of_int idx)))
   823 
   823 
   824     fun result (p, (cx, _)) = (thm_of p, cx)
   824     fun result (p, (cx, _)) = (thm_of p, cx)
   825   in
   825   in
   826     (fn (idx, ptab) => result (lookup idx (ctxt, Inttab.map Unproved ptab)))
   826     (fn (idx, ptab) => result (lookup idx (ctxt, Inttab.map (K Unproved) ptab)))
   827   end
   827   end
   828 
   828 
   829 fun reconstruct (output, {typs, terms, unfolds, assms}) ctxt =
   829 fun reconstruct (output, {typs, terms, unfolds, assms}) ctxt =
   830   P.parse ctxt typs terms output
   830   P.parse ctxt typs terms output
   831   |> (fn (idx, (ptab, vars, cx)) => prove cx unfolds assms vars (idx, ptab))
   831   |> (fn (idx, (ptab, vars, cx)) => prove cx unfolds assms vars (idx, ptab))