src/HOL/Tools/Argo/argo_tactic.ML
changeset 80910 406a85a25189
parent 77879 dd222e2af01a
child 81942 da3c3948a39c
equal deleted inserted replaced
80909:6ddbfad8ca20 80910:406a85a25189
   632 fun trace_step ctxt proof_id rule proofs = with_full_tracing ctxt (fn ctxt' =>
   632 fun trace_step ctxt proof_id rule proofs = with_full_tracing ctxt (fn ctxt' =>
   633   let
   633   let
   634     val id = Argo_Proof.string_of_proof_id proof_id
   634     val id = Argo_Proof.string_of_proof_id proof_id
   635     val ids = map (Argo_Proof.string_of_proof_id o Argo_Proof.id_of) proofs
   635     val ids = map (Argo_Proof.string_of_proof_id o Argo_Proof.id_of) proofs
   636     val rule_string = Argo_Proof.string_of_rule rule
   636     val rule_string = Argo_Proof.string_of_rule rule
   637   in full_tracing ctxt' ("  " ^ id ^ " <- " ^ space_implode " " ids ^ " . " ^ rule_string) end)
   637   in full_tracing ctxt' ("  " ^ id ^ " <- " ^ implode_space ids ^ " . " ^ rule_string) end)
   638 
   638 
   639 fun replay_bottom_up (env as (ctxt, _, _)) proof thm_cache =
   639 fun replay_bottom_up (env as (ctxt, _, _)) proof thm_cache =
   640   let
   640   let
   641     val (proof_id, rule, proofs) = Argo_Proof.dest proof
   641     val (proof_id, rule, proofs) = Argo_Proof.dest proof
   642     val (prems, thm_cache) = fold_map (with_cache (replay_bottom_up env)) proofs thm_cache
   642     val (prems, thm_cache) = fold_map (with_cache (replay_bottom_up env)) proofs thm_cache