1 of 21

�Entailing Generalization Boosts Enumeration

Yogev Shalmon, Intel & The Open University of Israel

Dror Fried, The Open University of Israel

Alexander Nadel, Intel & Technion, Israel

Roberto Sebastiani, DISI University of Trento, Italy

​

SAT’24 Conference, Pune, India

August 21, 2024

1

​

​

2 of 21

Combinational Circuits

  • Gates correspond to logical operators (AND, OR)
  • Output depends solely on the inputs
    • In our context, only 1 output
  • No memory units (not sequential)

​

​

​

​

​

​

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

​

​

3 of 21

Satisfying a Combinational Circuit

 

3

 

 

 

 

 

 

 

 

 

 

 

 

​

​

4 of 21

Satisfying When Don’t-Cares are Around

 

4

 

 

 

 

 

 

 

​

​

5 of 21

Is Satisfaction Enough to Define a Solution?

5

No! Consider the following example:

​

 

 

 

 

 

 

 

 

​

​

6 of 21

Is Satisfaction Enough to Define a Solution?

6

 

 

 

 

 

 

 

 

 

​

​

7 of 21

Is Satisfaction Enough to Define a Solution?

7

 

 

 

 

 

 

 

 

 

​

​

8 of 21

Is Satisfaction Enough to Define a Solution?

8

 

 

 

 

 

 

 

 

 

​

​

9 of 21

Entailment Vs. Satisfaction�

 

9

 

 

 

 

 

 

 

[Sebastiani, arXiv’20], [MÖhle, Sebastiani, Biere, SAT’20]

​

​

10 of 21

What is Generalization?

10

 

​

​

​

​

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

​

 

​

​

11 of 21

What is Generalization?

11

 

 

Generalization

​

​

​

​

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

​

 

​

​

12 of 21

Our Observation: The Generalization Hierarchy

 

12

e-gen.

s-gen.

g-gen.

​

​

13 of 21

Entailing Generalization In Practice

 

13

​

​

14 of 21

Entailing Generalization: UC Generalization

 

14

​

​

15 of 21

Our Application: AllSAT Enumeration (AllSAT-CT)

 

15

​

​

​

​

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

 

 

 

 

 

 

​

​

​

​

  • Triggered by industrial application of Static Timing Analysis at Intel

​

​

16 of 21

Utilizing Entailing Generalization to Boost Enumeration

  • HALL - AllSAT enumeration tool for combinational circuits [Fried, Nadel, Shalmon, SAT’23]
  • HALL uses generalization-based blocking algorithms
  • We developed new algorithms that utilize entailing generalization (UC)
  • We integrated our algorithms into HALL

​

​

  • Main result: our algorithms boost the quality and the performance of HALL!

​

​

​

​

​

​

​

16

​

​

17 of 21

Experimental Results

  • Compared vs Hall (previous algorithms)
  • Compared vs dualiza (SAT & BDD modes)
  • In total, we tested 140 benchmarks (97 solved)
  • We evaluated:
    • Solved instances (Timeout of 3600s)
    • PAR-2 score (Run-time if solved; 2*Timeout if not solved)
    • Quality (The number of generated solutions, normalized to [0,1] - best/current)

​

  • Also, we experimented with different SAT solvers:
    • IntelSAT, CaDiCaL, MergeSat, CryptoMiniSAT
  • … and different algorithms:
    • Minimal/non-minimal UC, forward/backward simulation

​

​

​

​

​

​

17

​

​

18 of 21

Results

​

​

​

​

​

18

Algorithm

Description

PAR-2

Solved

Quality

ROC

s-gen. + e-gen.

24926.84

94

0.966

CORE

e-generalization

25938.17

94

0.888

CARMA

​

27073.55

94

0.886

HALL-TALE

s-generalization

92676.52

85

0.568

HALL-DUTY

​

99447.68

84

0.560

HALL-MARS

​

198771.01

70

0.412

dualiza_sat

​

263810.94

61

0.459

dualiza_bdd

​

332953.81

51

0.397

​

​

New

​

​

19 of 21

Quality Results: TALE vs CORE vs ROC

19

Comparing CORE vs TALE

Comparing ROC vs TALE

​

​

20 of 21

Conclusion & Future Work

 

20

​

​

21 of 21

Thank you for listening

​

Questions?

​

​