let prove arrays log w =
    let timeout = Wp_parameters.Timeout.get () in
    let stdout = Buffer.create 80 in
    let goal = Why.goal (if arrays then L_ergo92 else L_ergo91) w in
    let args = if arrays then [| "-arrays" ; goal |] else [| goal |] in
    Log.command log "alt-ergo" args ;
    Task.command ~timeout ~stdout "alt-ergo" args
    >>? Log.output log stdout
    >>= fun s ->
      if s=0 then
        let response = Buffer.contents stdout in
        try 
          ignore (Str.search_forward valid response 0) ; 
          Task.return Valid
        with Not_found -> 
          Task.return Unknown
      else
        Task.failed "Alt-Ergo exit %d" s