Skip to content

Commit 97fc5d8

Browse files
committed
Use scorr/pdr for abc solver
1 parent d54ff3a commit 97fc5d8

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

Valaig/External/Abc.lean

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import Valaig.External.Basic
22

33
namespace Valaig.External
44

5-
def Abc.dsec (timeoutMs : Option Nat := none) : SafetyAigerMC :=
5+
-- Currently just an scorr/pdr setup
6+
def Abc (timeoutMs : Option Nat := none) : SafetyAigerMC :=
67
{
78
timeoutMs,
89
supportsAag := false,
@@ -12,12 +13,14 @@ def Abc.dsec (timeoutMs : Option Nat := none) : SafetyAigerMC :=
1213
where
1314
safetyArgs (problem : System.FilePath) : IO.Process.SpawnArgs :=
1415
let cmd := "abc"
15-
let cmdStr := s!"read {problem.toString}; "
16+
-- Commands from https://github.com/berkeley-abc/abc/issues/281
17+
-- We use scorr before pdr as it helps on the Blase equivalence checking problems
18+
let cmdStr := s!"read {problem.toString}; logic; undc; strash; zero; fold; scorr; pdr"
1619
let args := #["-c", cmdStr]
1720
{ cmd, args }
1821

1922
interpretOutput (out : IO.Process.Output) : EResult := do
20-
if out.stdout.contains "Networks are equivalent." then
23+
if out.stdout.contains "Property proved." then
2124
return Result.proof
2225
else
2326
return Result.counterexample

0 commit comments

Comments
 (0)