let prove why_file =
  let whybin = Macros.get_env ~default:"why" "WHYBIN" in
  let whydp = Macros.get_env ~default:"why-dp" "WHYDP" in
  let why_cmd = Format.sprintf " --why %s" why_file in
    Wp_parameters.feedback "[?] call 'why' : @.  WHYBIN %s@." why_cmd;
  if Sys.command (whybin^why_cmd) <> 0
  then
    Wp_parameters.warning 
      "Could not run why (command failed): WHYBIN %s@." why_cmd
  else begin
    let base = Filename.chop_extension why_file in
    let ergo_file = (base^"_why.why"in
    let ergo_cmd = Format.sprintf " -timeout %d -no-timings %s 2> /dev/null"
                     (Wp_parameters.ProverTimeout.get ()) ergo_file
    in
      Wp_parameters.feedback "[?] call 'alt-ergo' :@.  WHYDP %s@." ergo_cmd;
      if Sys.command (whydp^ergo_cmd) <> 0 then
        Wp_parameters.warning "Could not run ergo.@."
  end