let prove log w = 
    Coq.prove log w >>= function 
      | Unknown | Invalid -> 
          Coq.goal w (Coq.script_for w) >>= 
            run_coqide log w
      | Valid -> Task.return Valid