Logics for digital circuit verification : theory, algorithms, and applications

ion . 'L' { BV I ',' }+ 1 • 1 Formula Fixed_Point :: = 1 mu' I 1 nu' ) RV ' . ' Term . Term_l : : = Term_2 ( '->' I 1 <->' I 1 XOr 1 ) Term_2}. Term_2 Term_3 { 1 +' Term_3 } Term_3 . Term_4 1 &' Term_4} Term_4 . { ,-, } Atomic_Term Atomic_Term : := 1 0' I '1 1 I RV 1 , 1 1 ] 1 , [ 1 Term , J 1 Figure 7.1. Boolean ,u-calculus concrete syntax in BNP. The new notation for the connectives and punctuation symbols is made clear in table 7.2. We assume that the set of boolean variables BV and predicate symbols or relational variables RV are disjoint. Apart from the overloading of the 0 and 1 tokens and taking the above assumption into account the grammar is LL(l) and therefore unambiguous [Backh80]. lt is straightforward to convert this grammar into an equivalent one, i.e., a grammar that generates the same language, but uses less meta-symbols (see figure 7.2). 90 p-Calculus Chapter 7 Math. notation: mu notation: Meaning: 3z1, z2, · · ·, ZJ. :. E zl, z2, . , zk Existential quant. Vz1 ,z2, · · · ,zk. A zl, z2, * * • I zk Universal quant. --+ -> Implication H <-> Equivalence (Ij xor Exclusive-or V + (Inclusive-)or A & And . Not Jz1 , z2, · · · , Zk· L zl, z2, . , zk Abstraction f.l. X. mu X . Least fixed-point vX. nu X Greatest fixed-point Table 7.2. Notational correspondence. F . Fl I QF QF : := 'E' BVL , I F I I A' BVL I . ' F . Fl : : = F2 Fl '->' F2 Fl '<->' F2 Fl 1XOr 1 F2 . F2 . F3 F2 1+1 F3 F3 :: = F4 F3 I&' F4 F4 :: = AF I -I F4 AF : := PF I ( I F I } I PF : : = '01 I '1' I BV BV I I I I I Ap . Ap : : = AT PF I AT , ( , FL I ) I FL : := F I FL I I F. I T : : == Tl I Ab I FP Ab : := I L' BVL I I F . BVL : := BV I BVL I , BV I FP : : = 'mu' RV I I T I 'nu' RV I I T Tl : := T2 Tl '->' T2 Tl '<->' T2 Tl 'xor 1 T2 T2 . T3 T2 I+ I T3 T3 : := T4 T3 '&' T4 T4 . AT II T4 AT : := , 0, I , 1' I RV I RV I I I I I I [ I T I l I Figure 7.2. Boolean p-calculus concrete syntax in Restricted-BNF. The shorter narnes that we use for the non-terminal symbols should be obvious. We will denote the set of strings generaled by a non-terminal symbol by the name of that non-terminal symbol; thus F denotes the universe of all formulas. §7.4 Boolean . u-calculus 91 Also, we use the lowercase name to denote an arbitrary element of such a set of strings: f is a formula in F. We developed a computer program called mu based on the latter syntax. (The new syntax of figure 7.2 is directly suitable as input to the parser generator tool yacc.) To ease the definition of the semantics of formulas and terms, some operators and constructs are seen as abbreviations of more elaborate constructs. Table 7.3 informally indicates the intended abbreviations. For these abbreviations we can define a transformation tostringsof a simpler grammar (as in figure 7.3). Construct: Abbreviates: E z1~ z2, "'"' • I zk . f E z1 E z2 . E zk f A z1, z2, . , zk . f -(E z1~ z2~ "•,. I zk ( f)) G -> H (G) + H G <-> H (G -> H) & (H -> G) G xor H -{G <-> H) G & H ((G) + (H) ) s~ -(s) nu X t -(mu X < t[-x/x] l l Table 7.3. Abbreviations. f stands for an arbitrary formula; the zi are arbitrary variables; G and H are either both formulas or both terms; s stands for an arbitrary variabie or predicate symbol; X is a predicate symbol and t a term, and t[-x/x] denotes the term that results after substituting -x for all free occurrences of X int. Note that the correspondence is of a recursive nature. This simple grammar is then the basis for our semantics definition. F ' E , BV , . I , ( , F , ) ,