Research Article

Counterexample-Preserving Reduction for Symbolic Model Checking

Algorithm 1

The “max-match” rule-selection strategy.
Input: The original specification .
Output: The reduced specification.
    (1) let   ;/*  Γ memorizes the sub-formulae with infeasible condition */
   (2) let   (sub( )Γ) such that ψ matches some reduction rule ;
   (3) foreach   s.t.   do
   (4)  if     sub( )  then
   (5)    ; that is, we only proceed “max” subformulae */
   (6)  end
   (7) end
   (8) if     then
   (9)  return   ;
 (10) end
  (11) foreach     do
 (12)  let   the set of rules that can be applied to ;
 (13)    /* note that we have for each     */
 (14)  while     do
 (15)   choose ) in   ;
 (16)   if Cond is stated then
 (17)      ; /*   is obtained from by replacing with   */
 (18)     break;
 (19)   end
(20)    ;
 (21)  end
(22)   ;
(23)  if     then
(24)    ; /*   would be excluded in the next iteration */
(25)  end
(26) end
(27) goto 2;