- Text
- Formula,
- Simplified,
- Else,
- Formulas,
- Constraint,
- Analysis,
- True,
- Program,
- Simplification,
- Example,
- Www.cs.wm.edu

Small Formulas for Large Programs: On-line Constraint ...

Algorithm ● Definition of simplified **for**m suggests trivial algorithm: – Pick any leaf, replace it by true/false. – Check if **for**mula is equivalent. – Repeat until no leaf can be replaced. ● Requires repeatedly checking satisfiability of **for**mulas twice as large as the original **for**mula. ● But we can do better than this naïve algorithm!

Critical **Constraint** Idea: Compute a constraint C, called critical constraint, **for** each leaf L such that: (i) L is nonconstraining iff (ii) L is non relaxing iff Intuitively, C describes the condition under which L determines whether an assignment satisfies the **for**mula. C ) L C ) :L C is no larger than original **for**mula F, so redundancy is checked using **for**mulas at most as large as F.

- Page 1 and 2: Small Formulas for Large Programs:
- Page 3 and 4: Techniques to Limit Formula Size
- Page 5 and 6: Goal #1: Non-redundancy ● Given f
- Page 7 and 8: An Example enum op_type {ADD=0, SUB
- Page 9 and 10: An Example enum op_type {ADD=0, SUB
- Page 11 and 12: Now that this example has convinced
- Page 13 and 14: Redundant Leaves ● A leaf L is no
- Page 15: Properties of Simplified Forms ●
- Page 19 and 20: Example ● Consider again the form
- Page 21 and 22: Example ● Consider again the form
- Page 23 and 24: Making it Practical 2n 2 ● Worst
- Page 25 and 26: Impact on Analysis Scalability Anal
- Page 27 and 28: It's not just Compass ● Measured
- Page 29: Any questions?