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 ?
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])
Motivation
• Dataflow analysis
• Hardware verification
– Symbolic trajectory evaluation
• Shape analysis
Questions
• What does “best” mean?
• Can one find a best formula?
• How?
Two- vs. Three-Valued Logic
Two-valued logic
0
1
Three-valued logic
{0,1}
{0}
{1}
{0} {0,1}
{1} {0,1}
Two- vs. Three-Valued Logic
Two-valued logic
1 0
1 1 0
0 0 0
1 0
1 1 1
0 1 0
1
0
Three-valued logic
{1}
{0,1}
{0}
{1}
{0,1}
{0}
{1} {0,1} {0}
{1} {0,1} {0}
{0,1} {0,1} {0}
{0} {0} {0}
{1}
1
{0,1} ½
{1}
{1}
{1}
{1}
{0,1}
{1}
{0,1}
{0,1}
{0}
{1}
{0,1}
{0}
{0}
0
Two- vs. Three-Valued Logic
Two-valued logic
0
1
Three-valued logic
{0,1}
{0}
{1}
Two- vs. Three-Valued Logic
Two-valued logic
0
Three-valued logic
1
½
0
1
0 3½
1 3½
Boolean Connectives [Kleene]
0
1/2
1
0
0
0
0
1/2
0
1/2
1/2
1
0
1/2
1
0
1/2
1
0
0
1/2
1
1/2
1/2
1/2
1
1
1
1
1
Three-Valued Logic
•
•
•
•
1: True
0: False
1/2: Unknown
A join semi-lattice: 0 1 = 1/2
½
Information
order
0
1
0½
1½
Semantic Minimization
1([p 0]) = 1
= p p([p
0]) 1([p ½]) = 1 ½ = p
p([p ½]) 1([p 1]) = 1
=
p p([p 1])
2-valued logic: 1 is equivalent to p p
3-valued logic: 1 is better than p p
For a given , is there a best formula?
Yes!
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!
Rewrite Rules?
1
0
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))
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))
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))
A = [ p ½, q 0, r 1, s ½ ]
[ p 0, q 0,[ p ½, q 0,[ p ½, q 0,[ p 1, q 0,
r 1, s ½ ] r 1, s 1 ] r 1, s 0 ] r 1, s ½ ]
[ p 0, q 0,[ p 0, q 0,[ p 1, q 0,[ p 1, q 0,
r 1, s 0 ] r 1, s 1 ] r 1, s 0 ] r 1, s 1 ]
Represented by A
The Right Definition of “Best”?
Observation
If for all A,
(A) (A),
is better than
½
0
1
The Right Definition of “Best”?
Observation
If for all A,
(A) (A),
is better than
0(A) = 0
1(A) = 1
½
½
= ½ (A)
= ½ (A)
1 is better than ½
0 is better than ½
Acceptance Device
A iff (A) 1
1
½
½
0
1
0
“Potentially accepts ”
Acceptance Device
A iff (A) 0
1
½
½
0
1
0
“Potentially rejects ”
Acceptance Device
3-valued
2-valued
Suppose that A represents a, and
a 2-valued assignments. We want:
1. If a , then A
2. If a , then A
Acceptance Device
2-valued
3-valued
½
Suppose that A represents a, and
a 2-valued assignments. We want:
1. If a ½, then A 0 Violated!
2. If a ½, then A 0
Acceptance Device
2-valued
3-valued
½
Suppose that A represents a, and
a 2-valued assignments. We want:
1. If a ½, then A 1
2. If a ½, then A 1 Violated!
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
What Does “Best” Mean?
Supervaluational meaning
(A) =
(a)
a rep. by A
Semantic Minimization
(A) = (A)
Truth-functional
semantics
Non-truth-functional
semantics
Minimization
Example
p p([p ½]) =
p p(
a{[p 0],
[p 1]}
p p([p 0
p p([p
= 11
= 1
= 1([p ½])
=
Example
½([p ½]) =
½(a)
a{[p 0],
[p 1]}
=
½([p
0])
½([p
1])
Semantic Minimization
(A) = (A)
Truth-functional
semantics
Non-truth-functional
semantics
Minimization
For all A, (A) (A)
“ is better than ”
Realization of a
Monotonic Boolean Function
[Blamey 1980]
f Formula[ f ]
b
0
½
1
0
0
½
1
a ½
½
½
1
1
1
1
1
a’b + 1b + ab + a1 + ab’
(a’b’)’
Realization of a
Monotonic Boolean Function
[Blamey 1980]
f Formula[ f ]
b
0
½
1
0
0
½
1
a ½
½
½
0
1
1
1
1
a’b + ab + a1 + ab’
(a’b’ + 1b)’
Our Problem
Formula[]
b
0
½
1
([½, 1]) =
(a)
a{[0,1], [1,1]}
0
0
½
1
a ½
½
½
½
1
1
1
1
([0,0])
([1,1])
=11
=
= 1
Special Case:
contains no occurrences of ½ or
contains no occurrences of ½ in corners
b
0
½
1
0
0
½
1
a ½
½
½
1
a’b + 1b + ab + a1 + ab’
1
1
1
1
(a’b’)’
a’b + 1b + ab + a1 + ab’
(a’b’)’
Special Case:
contains no occurrences of ½ or
contains no occurrences of ½ in corners
b
b
½
0
½
1
0
½
1
0
½
½
½
0
0
½
½
a ½
½
½
½
a ½
½
½
½
1
½
½
½
1
½
½
1
How Do We Obtain ?
Represent with a pair
½
ceiling:
½
floor:
=0
=1
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
Semantically Minimal Formula
• General case
primes( )
( primes(
))
• When contains no occurrences of ½ and
Example
Original formula ()
xy’+ x’z’+ yz
Minimal formula ()
x’y + x’z’+ yz + xy’+ xz + y’z’
A
[x ½, y 0, z 0]
[x 0, y 1, z ½]
[x 1, y ½, z 1]
(A)
1
1
1
(A
½
½
½
Example
Original formula ( = if x then y else z)
xy + x’z
Minimal formula ()
xy+ x’z+ yz
A
[x ½, y 1, z 1]
(A)
1
(A
½
Demo
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
Our Questions
• What does “best” mean?
For all A, (A) = (A)
• Can one find a best formula?
Yes
• How?
Create (, )
Return primes( )
( primes(
© Copyright 2026 Paperzz