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 AltErgo92 else AltErgo91) 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