Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
B.6.<br />
OMEGATEST.FS<br />
else<br />
merge(outs, lowers, uppers)<br />
let omegaTest(xs, fs) =<br />
let rec omegaTestUtil(xs, fs) =<br />
match xs with<br />
|[]−> xs, fs<br />
| x::xs’−> try<br />
omegaTestUtil(xs’, project(x, fs))<br />
with<br />
OmegaTestFail −> xs, fs<br />
omegaTestUtil(xs, fs)<br />
let resolve(xs, tll) =<br />
pr<strong>in</strong>tfn "Resolv<strong>in</strong>g␣%i␣Omega␣Tests" (List.length tll)<br />
List.map (fun tl −> omegaTest(xs, tl)) tll<br />
let resolveParallel(xs, tll) =<br />
pr<strong>in</strong>tfn "Resolv<strong>in</strong>g␣%i␣Omega␣Tests" (List.length tll)<br />
List.ofSeq (PSeq.map (fun tl −> omegaTest(xs, tl)) tll)<br />
87