1. Boolean Algebra
Fachgebiet Rechnersysteme
1
1 Boolean Algebra
1.
Verification Technology
Content
1.1 Boolean algebra basics (recap)
1 2 Reasoning about Boolean expressions
1.2
1. Boolean Algebra
2
The problem of logic verification: Show that two circuits
p
the same boolean function,, or: Show that a
implement
circuit correctly implements a specification
a
b
a
a
b
=1
1
g
&
g
&
&
b
&
1. Boolean Algebra
3
1.1 Boolean algebra basics
1.1 Boolean Algebra Basics
Gate representation
AND-operation (conjunction)
a
0
0
1
1
b ab
0 0
1 0
0 0
1 1
0-dominance
0d i
a
b
a
b
a
b
German (old)
&
IEEEstandard
US-standard
(old)
1. Boolean Algebra
4
1.1 Boolean algebra basics
Gate representation
OR-operation (disjunction)
a b a b
0 0
0
0 1
1
1 0
1
1 1
1
1-dominance
a
b
a
b
a
b
German ((old))
1
IEEEstandard
US-standard
(old)
1. Boolean Algebra
5
1.1 Boolean algebra basics
NOT-operation (negation, complement)
Gate representation
a
a
0
1
1
0
a
a
a
German ((old))
1
IEEEStandard
US-standard
(old)
1. Boolean Algebra
6
1.1 Boolean algebra basics
More notations ...
a•b
ab
a&b
a+b
ab
a | b
a
a
a'
Propositional Calculus
1. Boolean Algebra
7
1.1 Boolean algebra basics
More operations:
(E)XOR (exclusive-or,
(exclusive-or unequal,
unequal addition modulo 2)
Definition: a b a b a b
a
0
0
1
1
b a b
0
0
1
1
0
1
1
0
Gate representation
a
b
a
=1
b
a
b
German (old)
IEEEstandard
US-standard
(old)
1. Boolean Algebra
8
1.1 Boolean algebra basics
NAND
G t representation
Gate
t ti
a b (a b)
0
0
1
1
0
1
0
1
1
1
1
0
a
b
a
b
a
b
German (old)
&
IEEEstandard
US-standard
(old)
1. Boolean Algebra
9
1.1 Boolean algebra basics
NOR
Gate representation
a b (a b)
0
0
1
1
0
1
0
1
1
0
0
0
a
b
a
b
a
b
German (old)
1
IEEE
IEEEstandard
US-standard
( ld)
(old)
1. Boolean Algebra
10
1.1 Boolean algebra basics
Implikation :
a b a b
Equivalence (equality):
a b a b a b
— The equivalence-function equals one iff the
arguments have equal values
— The
Th exor-function
f
ti equals
l one iff the
th arguments
t
have unequal values
— Generally: a b = (a b)
1. Boolean Algebra
11
1.1 Boolean algebra basics
Boolean functions
— Traffic-light checker: inputs: r red,
red g green,
green e
yellow
r e g p?
0 0 0
0 0 1
0 1 0
0 1 1
23 = 8 cases
1 0 0
1 0 1
1 1 0
1 1 1
r
e
g
TrafficLight
Checker
p
1. Boolean Algebra
12
1.1 Boolean algebra basics
r, e, g are Boolean variables
B = {0
{0, 1} is the set of Boolean values
A Boolean function in n variables is a mapping
F: Bn B
Such a function models a circuit with n inputs
and one output, in the example we have
B3 B
r
e
g
TrafficLight
Checker
p
1. Boolean Algebra
13
1.1 Boolean algebra basics
2 3 2 2 212 0
x 3 x 2 x 1x 0 f
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
Representation of Boolean
functions by means of
function tables and Veitch(Karnaugh-) maps
x3
0
x0
0
1
4
112
0
1
11
15
1
0
3
17
1
02
06
0
13
15
14
x2
8
9
0
11
0
10
x1
1. Boolean Algebra
14
1.1 Boolean algebra basics
Boolean terms are textual representations of Boolean
g,
functions,, e.g.,
a b c + c a (e + b)
The syntax of Boolean terms:
The constants 0 and 1 are Boolean terms
Literals (variables and complemented variables) are
Boolean terms, for instance, a and a
If a and b are Boolean terms then so are
(a b),
(a + b),
a
1. Boolean Algebra
1.1 Boolean algebra basics
Product-terms (products, cubes) are conjunctions of
literals
Each variable occurs only once
— Example: x
x•y•z
y z or xyz for short
Special case: Minterm (product-term in all variables)
Sum
Sum-terms
terms (clauses) are disjunctions of literals
Special case: Maxterm (sum-term in all variables)
15
1. Boolean Algebra
1.1 Boolean algebra basics
A Sum-of-Products (sop) (also called a disjunctive normal
j
of products
p
form,, dnf)) is a disjunction
— Example: cyz + d + ax
A Product-of-Sums (pos) (also called a conjunctive normal
form, cnf) is a conjunction of sums
— Example: (c + x + b)(s + x)(a + x)
16
1. Boolean Algebra
17
1.1 Boolean algebra basics
The Rules of Boolean Algebra:
(T1) x + 0 = x
(T1')) x • 1 = x
(T1
Identity
(T2) x + 1 = 1
(T2') x • 0 = 0
0/1-Element
(T3) x + x = x
(T3') x • x = x
Idempotence
(T4) x = x
(T4') 1 = 0
Involution
(T5) x + x = 1
(T5') x • x = 0
Complement
1. Boolean Algebra
18
1.1 Boolean algebra basics
((T6)) x + y = y + x
((T6')) x • y = y • x
Commutativity
y
(T7) (x + y) + z = x + (y + z) = x + y + z
(T7')) (x • y) • z = x • (y • z) = x • y • z
(T7
Associativity
(T8) x•y + x•z = x•(y + z)
(T8') (x + y)•(x + z) = x + y•z
Distributivity
(T9) (x + y) = x • y
De Morgan's
Morgan s
Law
(T9')) (x • y) = x + y
(T9
(T10) (x
( 1 +...+
+ + xn )=
) x1 •...• xn
((T10')) (x
( 1 •...• xn ))= x1 +...+ xn
Generalized
G
li d
De Morgan's
Law
1. Boolean Algebra
19
1.1 Boolean algebra basics
((T11)) x + x•y
y=x+y
((T11')) x•(x
( + y) = x•y
y
Absorption
(T12) x + x•y = x
(T12') x•(x + y) = x
Very important for the simplification of terms
and circuits! Example:
x
x
y
1
&
x
y
1
1. Boolean Algebra
1.1 Boolean algebra basics
Boole's Expansion Theorem (1849)
also attributed to Shannon
20
1. Boolean Algebra
21
1.1 Boolean algebra basics
x 1x 2 x 3 x 4 f
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
f(0,x2 , x3 , x 4 )
f(1,x2 , x3 , x 4 )
Idea: Decompose a
function into two subfunctions which do not
depend on some variable,
e g x1
e.g.,
1. Boolean Algebra
22
1.1 Boolean algebra basics
Expansion Theorem: a Boolean Function f can be
p
according
g to a variable x as follows
decomposed
f x fx x f x
f x , f x are called the Positive (1-)
(1 ) and Negative (0
(0-))
Cofactors of f with respect to x
The cofactors can be calculated by
y replacing
g the
variable x by the constants 0 and 1, respectively
1. Boolean Algebra
23
1.1 Boolean algebra basics
— Illustration in the Veitch-diagram:
b
1
a
1
1
1
1
fa
1
c
f c a b ab
fa
f
1. Boolean Algebra
24
1.1 Boolean algebra basics
— Illustration in the Veitch-diagram:
b
1
a
1
1
1
1
fa
1
c
f c a b ab
f a fa a fa
fa
f
1. Boolean Algebra
25
1.1 Boolean algebra basics
— Circuit realization:
b
fa
1
a
1
1
1
1
&
fa
1
c
fa
1
&
fa
f
a
f c a b ab
f a fa a f a
f
1. Boolean Algebra
26
1.1 Boolean algebra basics
The cofactors are calculated by replacing a by 0 and 1,
respectively:
b
fa
1
a
1
1
1
1
&
fa
1
c
fa
1
&
fa
f
a
f = c + a b + ab,
ab
f a = c + 1 b + 1b = c + b,
f a = c + 0 b + 0b = c + b ,
f = a ( c + b ) + a (c + b )
f
1. Boolean Algebra
27
1.1 Boolean algebra basics
The cofactors are calculated by replacing a by 0 and 1,
respectively plus simplifications:
b
1
a
1
1
1
1
fa
1
c
fa
c
b
1
fa
&
1
c
b
1
&
fa
f
a
f = c + a b + ab,
fa = c + 1 b + 1 b = c + b ,
fa = c + 0 b + 0 b = c + b ,
f = a ( c + b ) + a (c + b )
f
1. Boolean Algebra
28
1.1 Boolean algebra basics
The circuit used above is called a 2:1-Multiplexor
Symbol:
a
&
1
&
b
a
0
b
1
x
x
Depending on x, the output is either equal
to a or equal to b
1. Boolean Algebra
29
1.1 Boolean algebra basics
Remark: the calculation of a cofactor can be viewed as
p of symbolic
y
simulation:
a step
Traditional simulation determines the value at the
output of a gate-network for given values at the
inputs
The calculation of a cofactor determines the
function at the output if some inputs assume a
constant value (0 or 1)
a
1
a
&
1
b
0
&
x
0
&
1
1
f
&
b
x
0
f=a
1. Boolean Algebra
1.1 Boolean algebra basics
3 operations between cofactors:
The Boolean Difference (Exor)
The Universal Quantification (And)
The
Th Existential
E i t ti l Quantification
Q
tifi ti (Or)
(O )
30
1. Boolean Algebra
31
1.1 Boolean algebra basics
The Boolean Difference
f(x)
x
fx fx
XOR of both cofactors
Characterizes
Ch
t i
all
ll situations
it ti
for
f which
hi h a change
h
off x
implies a change of f
1. Boolean Algebra
32
1.1 Boolean algebra basics
— Example:
b
a
1
1
0
0
fa
0
1
0
1
fa
f a b b c abc
c
cofactors are
here
f(a)
fa f a
a
b
1
0
0
c
1
fa fa c
1. Boolean Algebra
33
1.1 Boolean algebra basics
— Example: 2:1-multiplexor
f x b x a
a
&
1
&
b
x
f
f(a)
fa f a
a
(b x ) ( x b )
(b x ) ( x b )
(b x ) (x b ) x
Of course! for x = 0 we have f = a,
so a implies f !
1. Boolean Algebra
34
1.1 Boolean algebra basics
The Boolean Existential Quantifer
( x : f ( x ) ) fx fx
The disjunction of both cofactors
1. Boolean Algebra
35
1.1 Boolean algebra basics
( a : f ( a ) ) fa fa
b
1
a
fa
1
1
1
f
c
either
ith cofactor
f t
is 1 here
fa
b
1
1
1
c
fa fa
1. Boolean Algebra
36
1.1 Boolean algebra basics
The calculation of the Boolean existential quantifier
particularly
y easy
y for a Boolean expression
p
in dnf:
is p
f = ...·x + ... + ...·x + ... + ...
products
with x
products products
with x without x,x
(x: f(x))
( )) fx fx
( x: f(x)) = ...·1 + ... + ...·0 + ... + ...+
...·0 + ... + ...·1 + ... + ...
= ... + ... + ... + ... + ...
fx
fx
original expression where all occurences
of x,x are eliminated
— Example: f = ab + bc + abc
f(a)
a:
f( ) = b + bc
b + bc
b (=
( b + c))
1. Boolean Algebra
37
1.1 Boolean algebra basics
The Boolean Universal Quantor
( x : f ( x ) ) fx fx
The conjunction of both cofactors
1. Boolean Algebra
38
1.1 Boolean algebra basics
( a : f ( a ) ) fa fa
b
1
a
fa
1
1
1
f
c
both cofactors
are 1 here
fa
b
fa fa
1
c
1. Boolean Algebra
1.1 Boolean algebra basics
The calculation of the Boolean universal quantifier
particularly
y easy
y for a Boolean expression
p
in cnf:
is p
Rule: Eliminate all occurences of x,x
— Example: f = (b + c)(a + b)(a + b + c)
a: f(a) = (b + c)b(b + c) (= bc)
39
1. Boolean Algebra
40
1.1 Boolean algebra basics
Inclusion
A function f is included in (is covered by) function g,
g
f g
iff (if and only if) f g 0 or equivalently f g = 1
Analogy (set theory):
F G F G 0
g
g
f
1. Boolean Algebra
41
1.1 Boolean algebra basics
Example of f g using Karnaugh-maps:
1
1
1
1
1 1 1
1
1 1
f
g
1. Boolean Algebra
42
1.1 Boolean algebra basics
The following statements are equivalent:
fg
fg 0
(f g = 1)
fg1
gf
fgg
f g f
g
g
f
1. Boolean Algebra
1.1 Boolean algebra basics
Assume (i) a function f in dnf and assume (ii) that g is the
products of f are
function f where some of the p
eliminated.
products
not in g
Then g f
Proof: f can be written in the form f = a + g.
g f is equivalent to g f = 1 or g + f = 1.
g + (a + g) = g + a + g = 1.
We have always: a a + g.
43
1. Boolean Algebra
1.1 Boolean algebra basics
Assume (i) a function f in cnf and assume (ii) that g is the
function f where some of the clauses are eliminated.
Then f g
Proof: f can be written in the form f = a·g.
f g is equivalent to f g = 1 or f + g = 1.
(a·g) + g = a + g + g = 1.
We have always:
y a·g
gg
g.
44
1. Boolean Algebra
45
1.1 Boolean algebra basics
Implicant of a Boolean function
A product-term p is an implicant of a Boolean
function f iff
p f
d
abd is implicant of f
1
a
1
1
1
b
c
f
Concept
C
t off prime-implicants
i
i li
t in
i two-level
t
l
l
logic synthesis
1. Boolean Algebra
46
1.1 Boolean algebra basics
Tautology:
A Boolean function f is called a Tautology iff f = 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
f
— Is this a reasonable concept at all ???
— Examples:
E
l
a a 1
a b a b 1
1. Boolean Algebra
47
1.1 Boolean algebra basics
Logicverification: show that two circuits with outputs f
p
the same boolean function!
and g implement
Show that f g is a tautology!
a
b
=1
1
f
a
a
b
1
&
g
&
&
b
&
f g = f*g + f*g
1. Boolean Algebra
48
1.1 Boolean algebra basics
Boole's expansion theorem is the basis for a "Divideq
approach
pp
to tautology
gy checking
g
and-conquer"
— f = 1 iff both cofactors are equal to one
f =1
x fx x fx 1
fx = 1
fx = 1
2p
problems in n-1
variables
1. Boolean Algebra
49
1.1 Boolean algebra basics
— Example: f a b a b 1 ?
fa = 1 + b + 1 b = 1
f a b a b 1
fa = 0 + b + 0 b = b + b = 1
Tautology checking may induce an
exponential number of cases !
1. Boolean Algebra
50
1.1 Boolean algebra basics
Satisfiability: a Boolean function f is satisfiable, if there
is at least one combination of variable values for which f
=1
A boolean function f 0 is satisfiable!
f is a tautology iff f is unsatisfiable
— Example:
f a b a b 1 ?
f (a b a b )
a b (a b )
is not satisfiable
May also need an exponential # steps
1. Boolean Algebra
51
1.1 Boolean algebra basics
Example of application: assume a network of gates with
p
f and g.
g If we want to know if both outputs
p
two outputs
can be 1 for the same combination of input values, then
we can check if f·g is satisfiable.
1
...
1
f
g
1. Boolean Algebra
1.1 Boolean algebra basics
If f is a tautology and if f g then g is also a tautology
If f is unsatifiable and if g f then g is also unsatisfiable
52
1. Boolean Algebra
53
1.1 Grundbegriffe der boolesche Algebra
German/Engl Glossary
a, a
a+b+c
Literal
Summenterm/Disjunktion/
Oder-Klausel
Produktterm/Konjunktion/
Und-Klausel
j
Normalform (DNF)
(
)
disjunktive
literal
sum/disjunction/
clause
abc
product/conjunction/
cube
disjunctive
j
normal form (dnf)/
(
)
ab + bcd
sum-of-products (sop)
(a + b)(b + c)konjunktive Normalform (KNF) conjunctive normal form (cnf)/
product-of-sums
fx
0-/negativer Kofaktor
0-/negative cofactor
1-/positiver Kofaktor
1-/positive cofactor
fx
f = xfx + xfx Boolescher Entwicklungssatz Boole's expansion theorem
f=1
T t l i
Tautologie
t t l
tautology
f0
Erfüllbarkeit
satisfiability
1. Boolean Algebra
1.2 Reasoning About Boolean Expressions
The verification
Th
ifi ti
off a circuit
i
it involves
i
l
some procedures
d
by
b
which we give mathematical evidence that a statement
about the circuit is true
A verification problem is not a circuit or a Booelan
expression
A verification problem involves statements about a
circuit or a Boolean expression
A Boolean expression is 0 or 1, a statement is
true or false
"mathematical evidence" means that we are
able to g
give something
g like a mathematical
proof of the truth of some statement
54
1. Boolean Algebra
1.2 Reasoning about Boolean expressions
Typical statements involved in verification problems are:
"The outputs of two circuits are equal"
"It is not possible that the outputs x and y of a circuit
both assume the value 1
1"
Implications: "If the inputs are ... then the outputs are
..." or: "If the outputs
p
are ... then the inputs
p
must be ..."
... and many other types of statements involving, for
instance, temporal qualifiers like "in the next clockcycle",
l " "never",
"
" "always",
" l
" "sometimes",
"
i
" etc.
55
1. Boolean Algebra
1.2 Reasoning about Boolean expressions
Boolean expressions assume the Boolean values 0 or 1
Statements (about a circuit) are either true or false,
false i.e.,
ie
they hold or do not hold (for a circuit)
"it
it rains
rains", "the
the colour of my car is red
red", "a+b=b+a"
a+b=b+a , …
A proof of a statement establishes the truth of the
statement
A proof-procedure is a method by which we can
mechanically derive the truth of statements
We are interested in the development of proof-procedures
to verify statements about circuits
56
1. Boolean Algebra
1.2 Reasoning about Boolean expressions
We employ common mathematical notations using
symbols like "=",, etc. to make statements
— Example: "The outputs of two circuits are equal for
all possible input combinations", formally: f = g
(as in sin2(x) + cos2(x) = 1)
We also used mathematical notations to introduce some
b i concepts
basic
t like
lik "" in
i the
th former
f
section
ti
The following paragraphs attempt to be a little bit more
precise about symbols like "="
= in order avoid confusion
with the symbols of Boolean algebra
= and ((or and )) are so similar,, what is
the difference?
In fact, there IS a very close relationship
between propositional logic and Boolean
algebra
57
1. Boolean Algebra
58
1.2 Reasoning about Boolean expressions
We employ two different types of notation with different
symbols:
The language of Boolean expressions (or Boolean terms)
with the Boolean operators ·, +, , , etc.
— Boolean expressions assume the values 0 or 1.
g g to make statements
A ((mathematical)) meta-language
about Boolean expressions using symbols like =, , ,
etc. which are well-known from other mathematical
disciplines.
disciplines
— Statements are true or false.
— Examples: a+b = b+a,
b+a a·g g,
g etc.
etc
1. Boolean Algebra
59
1.2 Reasoning about Boolean expressions
Again:
A Boolean expression may assume the values 0 or 1.
1
A statement may be true of false.
The meta-language
meta language for statements has two different types of
symbols:
Predicate
Predicate-symbols
symbols like = and . Applying a predicate to
expressions results in a statement which is true or false.
— Example: x x+1
expression
expression
statement
t t
t
While functions and expressions
p
return a value,,
predicates may be viewed as special functions
returning the values true or false
1. Boolean Algebra
60
1.2 Reasoning about Boolean expressions
Logical (propositional) connectives like , , ¬, and .
Logical
g
connectives combine statements to statements.
— Example: x x+1 x = x+1
statement
statement
statement
xy yz xz
st.
st.
st.
statement
1. Boolean Algebra
61
1.2 Reasoning about Boolean expressions
The resulting truth-values of the logical connectives are
defined analogously to the Boolean operators and are
typically given by truth-tables.
— Example:
p The truth-table of the p
propositional
p
and "".
Let A and B be two statements. Then the truth of A B
is defined as follows:
B
A
false true
ffalse
l
f l
false
f l
false
true false true
AB
We try to avoid an "over-formalization" of
verification problems and will use logical
connectives only rarely.
1. Boolean Algebra
62
1.2 Reasoning about Boolean expressions
Due to the close relationship between the Boolean operators
and the operators of our mathematical meta-language,
meta language, we
can often transform a verification problem (phrased as a
statement) into a different (often more managable) form.
Example: Rather than to prove f = g we show that
fg = 1, i.e., that fg is a tautology.
1. Boolean Algebra
1.2 Reasoning about Boolean expressions
Generally, we transform statements F and G involving
Boolean expressions
p
into equivalent
q
Boolean expressions
p
Be(F) and Be(G) as follows (f,g Boolean expressions):
Statement Boolean expression
f=1
f
f=0
f
f=g
fg
fg
fg
FG
Be(F) Be(g) etc.
¬F
F
Be(F)
FG
Be(F) Be(G)
The p
proof of a statement is equivalent
q
to showing
g the
tautology of the transformed Boolean expression, e.g., to
prove f = g we show that f g = 1
63
1. Boolean Algebra
64
1.2 Reasoning about Boolean expressions
— Example:
p The statement "If x is 1 then y is 1 in the
following circuit" is formalized as the statement
x=1y=1
The equivalent Boolean expression is
xy
The proof of the original statement is transformed
into the proof of the tautology of x y, i.e., we have
to prove the statement x y = 1
a
b
&
1
x
y
One possible proof:
x y = x+y =ab + a+b
= a + b + a + b = 1 (q.e.d.)
1. Boolean Algebra
1.2 Reasoning about Boolean expressions
A note on implications:
In many situation
situation, we have to prove the truth of an if-then
if then
statement in natural language: "if A then C" where the
commitment C follows from another statement, the
assumption A.
Formally, this is denoted as an implication A C.
The definition of the logical implication A C in terms of a
truth-table:
C
A C = ¬A C
A
false true
a c = a + c
false true true
t
true
f l
false
t
true
AC
If we want to prove A C then we see from the truth-table
truth table
that for the case where A is false we do not have to prove
anything - A C is true independently of C.
65
1. Boolean Algebra
66
1.2 Reasoning about Boolean expressions
All what we have to do is to prove that C is true for the case
that A is true.
We see this also if we transform the implication into the
equivalent Boolean expression. Assume again the statement:
x = 1 y = 1 and the equivalent Boolean expression x y. If
we want to show the tautology, i.e., x y = 1 and create the
function table of x y:
y
a
x
&
x
0
1
b
0
1
1
1
0
1
y
1
then we have to show only that y=1 follows from x=1.
For the circuit, our argument would be: If x=1 then a=1 and
b=1 since x=ab. Thus, y=1 since y=a+b. (q.e.d.)
1. Boolean Algebra
67
1.2 Reasoning about Boolean expressions
There are many different ways ("decision procedures") to
establish the truth of statements,, the transformation into
an equivalent Boolean expression is only one possibility.
A very common technique is to create a circuit for the
l i l structure
logical
t
t
off the
th statement
t t
t and
d combine
bi this
thi circuit
i
it
with the original circuit.
Since we are able to transform statements
into Boolean expressions we can also
transform statements into circuits!
— Example: The implication circuit for x y
y
x
Implication
circuit
1
1. Boolean Algebra
68
1.2 Reasoning about Boolean expressions
— Statement and original circuit in combination:
a
b
&
1
x
For a tautology, the
output must always
be 1
y
1
p
Implication
circuit
1. Boolean Algebra
69
1.2 Reasoning about Boolean expressions
— Example we discussed before: Prove f = g
Equality
circuit
a
b
=1
1
f
a
a
b
&
g
&
&
b
&
For a tautology, the
output must always
be 1
© Copyright 2026 Paperzz