1 / 44

Semantic Minimization of 3-Valued Propositional Formulas

Semantic Minimization of 3-Valued Propositional Formulas. Thomas Reps Alexey Loginov University of Wisconsin Mooly Sagiv Tel-Aviv University. Semantic Minimization. p   p = 1, right?   ( A ): Value of formula  under assignment A In 3-valued logic,   ( A ) may equal ?

marypharris
Download Presentation

Semantic Minimization of 3-Valued Propositional Formulas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semantic Minimizationof 3-Valued Propositional Formulas Thomas Reps Alexey Loginov University of Wisconsin Mooly Sagiv Tel-Aviv University

  2. Semantic Minimization • pp = 1, right? • (A): Value of formula  under assignment A • In 3-valued logic, (A) may equal? pp([p 0]) = 1 pp([p?]) = ? pp([p 1]) = 1 • However, 1([p 0]) = 1 = pp([p 0]) 1([p?]) = 1  ? = pp([p?]) 1([p 1]) = 1 = pp([p 1])

  3. Motivation • Dataflow analysis • Hardware verification • Symbolic trajectory evaluation • Shape analysis

  4. Questions • What does “best” mean? • Can one find a best formula? • How?

  5. Two-valued logic Three-valued logic {0,1} 0 1 {0} {1} Two- vs. Three-Valued Logic {0} {0,1} {1}  {0,1}

  6. Two-valued logic Three-valued logic 1 1 {1} ½ 0 {0,1} 0 {0} Two- vs. Three-Valued Logic

  7. Two-valued logic Three-valued logic 0 1 {0,1} {0} {1} Two- vs. Three-Valued Logic

  8. Two-valued logic Three-valued logic 0 1 ½ 0 1 Two- vs. Three-Valued Logic 0 3½ 1 3½

  9. Boolean Connectives [Kleene]

  10. ½ Information order 0 1 Three-Valued Logic • 1: True • 0: False • 1/2: Unknown • A join semi-lattice: 0  1 = 1/2 0  ½ 1  ½

  11. 1([p 0]) = 1 = pp([p 0]) 1([p½]) = 1 ½ = pp([p½]) 1([p 1]) = 1 = pp([p 1]) Semantic Minimization 2-valued logic: 1 is equivalent to pp 3-valued logic: 1 is better thanpp For a given , is there a best formula? Yes!

  12. Minimal? x +x’ x x’ xy + x’z xy + x’y’ xy + x’z+ yz xy’+ x’z’+ yz No! Yes! No! Yes! Yes! No!

  13. Rewrite Rules?    1    0

  14. 2-Valued Propositional Meaning 0(a) = 0 1(a) = 1 xi(a) = a(xi) (a) = 1 – (a) 1  2(a) = min(1(a), 2(a)) 1  2(a) = max(1(a), 2(a))

  15. 3-Valued Propositional Meaning ½(a) = ½ 0(a) = 0 1(a) = 1 xi(a) = a(xi) (a) = 1 – (a) 1  2(a) = min(1(a), 2(a)) 1  2(a) = max(1(a), 2(a))

  16. 3-Valued Propositional Meaning ½(A) = ½ 0(A) = 0 1(A) = 1 xi(A) = A(xi) (A) = 1 – (A) 1  2(A) = min(1(A), 2(A)) 1  2(A) = max(1(A), 2(A))

  17. [ p 0,q 0, r 1,s½ ] [ p½,q 0, r 1,s 0] [ p½,q 0, r 1,s 1] [ p 1, q 0, r 1,s½ ] [ p 0, q 0, r 1, s 0 ] [ p 0, q 0, r 1, s 1 ] [ p 1, q 0, r 1, s 0 ] [ p 1, q 0, r 1, s 1 ] Represented by A A = [ p½,q 0,r 1,s½ ]

  18. ½ 0 1 The Right Definition of “Best”? Observation If for all A, (A)  (A),  is better than 

  19. The Right Definition of “Best”? Observation If for all A, (A)  (A),  is better than  0(A) = 0  ½ =  ½ (A) 0 is better than ½ 1(A) = 1  ½ =  ½ (A) 1 is better than ½

  20. 1 ½ ½ 0 1 0 Acceptance Device A   iff (A)  1 “Potentially accepts ”

  21. 1 ½ ½ 0 1 0 Acceptance Device A   iff (A)  0 “Potentially rejects ”

  22.   Acceptance Device 3-valued 2-valued  • Suppose that A represents a, and • a  2-valued assignments. We want: • Ifa  , then A   • Ifa  , then A  

  23. ½ Acceptance Device 3-valued 2-valued • Suppose that A represents a, and • a  2-valued assignments. We want: • Ifa  ½, then A  0 • Ifa  ½, then A  0 Violated! 

  24. ½ Acceptance Device 3-valued 2-valued • Suppose that A represents a, and • a  2-valued assignments. We want: • Ifa  ½, then A  1 • Ifa  ½, then A  1  Violated!

  25. The Right Definition of “Best”? Observation If for all A, (A)  (A),  is better than  Not all “better” formulas preserve potential acceptance of 2-valued assignments

  26. What Does “Best” Mean? Supervaluational meaning (A) =  (a) a rep. by A

  27. Truth-functional semantics Non-truth-functional semantics Minimization Semantic Minimization (A) = (A)

  28. Example pp([p½]) =  pp(a) a{[p 0], [p 1]} = pp([p 0])  pp([p 1]) = 1  1 = 1 = 1([p½])

  29. Example ½([p½]) =  ½(a) a{[p 0], [p 1]} = ½([p 0])  ½([p 1]) = ½ ½ = ½ =½([p½])

  30. Truth-functional semantics Non-truth-functional semantics Minimization Semantic Minimization (A) = (A)  For all A, (A)  (A) “ is better than ”

  31. Realization of aMonotonic Boolean Function[Blamey 1980] f  Formula[ f ] b a  a’b + 1b + ab + a1 + ab’  (a’b’)’

  32. Realization of aMonotonic Boolean Function[Blamey 1980] f  Formula[ f ] b a  a’b + ab + a1 + ab’  (a’b’ + 1b)’

  33. ([½, 1]) =  (a) a{[0,1], [1,1]} = ([0,0])  ([1,1]) = 1  1 = 1 Our Problem  Formula[] b a

  34. Special Case: contains no occurrences of ½ or   contains no occurrences of ½ in corners b  a’b + 1b + ab + a1 + ab’  (a’b’)’ a  a’b + 1b + ab + a1 + ab’  (a’b’)’

  35. Special Case: contains no occurrences of ½ or   contains no occurrences of ½ in corners b b a a

  36. How Do We Obtain ? • Represent  with a pair • floor:    ½ = 0 • ceiling:    ½ = 1

  37. How Do We Obtain (, )? 0  (a.0, a.0) 1  (a.1, a.1) ½  (a.0, a.1) xi (a.a(xi), a.a(xi)) ( f ,  f )  ( f ,  f ) ( f 1,  f1 )  ( f2,  f2 )  ( f 1   f2,  f1    f2 ) ( f 1,  f1 )  ( f2,  f2 )  ( f 1   f2,  f1    f2 ) BDD operations

  38. Semantically Minimal Formula • General case  primes(  ) ( primes(   )) • When  contains no occurrences of ½ and  primes(  )

  39. Example Original formula () xy’+ x’z’+ yz Minimal formula () x’y + x’z’+ yz + xy’+ xz + y’z’ A(A) (A) [x ½, y 0, z 0] 1 ½ [x 0, y 1, z ½] 1 ½ [x 1, y ½, z 1] 1 ½

  40. Example Original formula ( = if x then y else z) xy + x’z Minimal formula () xy+ x’z+ yz A(A) (A) [x ½, y 1, z 1] 1 ½

  41. Demo

  42. Related Work • [Blamey 1980, 1986] • Realization of a monotonic Boolean function • [Godefroid & Bruns 2000] • Supervaluational (“thorough”) semantics for model checking partial Kripke structures • For propositional formulas Deciding “(A)  1?” is NP-complete

  43. Our Questions • What does “best” mean? For all A, (A) = (A) • Can one find a best formula? Yes • How? Create (, ) Return  primes(  ) ( primes(   ))

More Related