src/HOL/Boogie/Tools/boogie_commands.ML
changeset 36323 655e2d74de3a
parent 35864 d82c0dd51794
child 36610 bafd82950e24
equal deleted inserted replaced
36322:81cba3921ba5 36323:655e2d74de3a
    97     ProofContext.init thy
    97     ProofContext.init thy
    98     |> fold Variable.auto_fixes ts
    98     |> fold Variable.auto_fixes ts
    99     |> (fn ctxt1 => ctxt1
    99     |> (fn ctxt1 => ctxt1
   100     |> prepare
   100     |> prepare
   101     |-> (fn us => fn ctxt2 => ctxt2
   101     |-> (fn us => fn ctxt2 => ctxt2
   102     |> Proof.theorem_i NONE (fn thmss => fn ctxt =>
   102     |> Proof.theorem NONE (fn thmss => fn ctxt =>
   103          let val export = map (finish ctxt1) o ProofContext.export ctxt ctxt2
   103          let val export = map (finish ctxt1) o ProofContext.export ctxt ctxt2
   104          in after_qed (map export thmss) ctxt end) [map (rpair []) us]))
   104          in after_qed (map export thmss) ctxt end) [map (rpair []) us]))
   105   end
   105   end
   106 end
   106 end
   107 
   107 
   186         in par_map f [vc1, vc2] end
   186         in par_map f [vc1, vc2] end
   187     end
   187     end
   188 
   188 
   189   fun prove thy meth vc =
   189   fun prove thy meth vc =
   190     ProofContext.init thy
   190     ProofContext.init thy
   191     |> Proof.theorem_i NONE (K I) [[(Boogie_VCs.prop_of_vc vc, [])]]
   191     |> Proof.theorem NONE (K I) [[(Boogie_VCs.prop_of_vc vc, [])]]
   192     |> Proof.apply meth
   192     |> Proof.apply meth
   193     |> Seq.hd
   193     |> Seq.hd
   194     |> Proof.global_done_proof
   194     |> Proof.global_done_proof
   195 in
   195 in
   196 fun boogie_narrow_vc (quick, timeout) vc_name meth thy =
   196 fun boogie_narrow_vc (quick, timeout) vc_name meth thy =