[PDF]

x∧y = 1
4 ,4
:8 B L
Ul
:. M
@9
4B
j
: (x, y) → x ∧ y
x = 1
y = 1
Theorem 1
&
{
,
,
}
&
G
04
:8 0 4
:6,
6,
‹}

†
ƒ
Œ
x
0
1
F
(
1
&
„ƒ‚

Š}
€
‡
|
x↑y
1
1
1
0
8
/36
ƒ
ˆ}
‰
†
‡
y
0
1
0
1
7/6
:4
G
E N.
6
&
$
&
=6
J ,9
S<8
6
ƒ
+ x
0
0
1
1
L
"
*
†
…}
" + #
# *"
#
$
! %
&
& &
'
" (
) &
*" "
$
y
RY
Ul
m
,
5z
,0
8
E6 B
,
E -.
0
1
1
0
&
f
"
0
x
J
JJ
: (x, y) → x ↑ y
<86
k
(
y
0
1
0
1
Z
J B
J ]
Z
U
(x, y),
x
0
0
1
1
k
F
&
!
( &

(
(
Ul
(
:6 - W
63
60
:-
L
Xk
Ul
%
' x∨y
0
1
1
1
U
f
Ul
L
M
~}
€
ƒ„‚
,
/ -.
120
/3 4
53
06 4
78
59
8
:. 0 4
!
" #
"
!
89
/6 00
|
Y
/
@8
5:
6 0-
=4
30 J
,
6 086 0 I
9
/. B
6M
6 mW
i
5/F 4
6
J J
JJ
5z
,0
E8,
6
99
04
:38
<6
:8
6[
4
/6 0 -
/.
4, G ]
, 0
E -. 8 0 :
: 4 HG, 4
6[
i4 S
F5/ 83
6 @ 09
m :.
3 WY 6
.
0 D J ]B
4,
5
5, 6 Z8
@/ 99 5: B
6
//6 B :3. 0 4
6
G
M 0
0. 8 0 -
:4
6
* // 0
=6
# 8 0
0
:. 4
/.
5: B 8 /3.
, /6
3
:. 0 4 {Xk ,
=:.
U
,M
J Zk
0.
j 60
y
Xk
k
L
i
5/F 4
6
994 =6
=/. @.
5
8 II :3
@9 8
0
<3.6 : -4
5 .A
E= BC
0 4 E DB
- 6
8
0@ : 0 6 4
E= A
.
B
6, -. 0@
6=
78 ,
56 9 : 4
/ 6
:8 / 0
<
F6 ,
0@
=6 9
,0
?>
?
<, 4
,4
6 0-
;
8 0-
5: B
46 :3. 0 4
I9
:4
/6 0
/=6
80 j
:. 0 4
,.
B
60 6M
E - :6 T
/.
M
M :4
/ [.
i4
R ] F5/6
5. n m W
:38 I Y
/6 , 4
3
8 M 68 99
04 M
8, J Xk
:
8 0[ D
69 B
8, G 83 0
:. 0 6 0
6 /6 . /
]B 68
E
5 I .0
0
,,
=.
f : (x, y) → x ∨ y
Ul
Z
U
k
KJ@ 9
/L
F5
8I
G @9
78
56 9
,.
B
5,
30@
=6
/,68
7/6
@
78
56 9
:.
6 I94
,,
=.
:. B
6
.
,4
,0
,
:3.
B
/4
6 0-
.
78
56 9
/
:8
F6
GH,
0
:6 @.
5
E
Figure 4:
=6 9
:6 0
6
,
/=,
..
:8
@I
:F6 [
/6
68 0
0E
:8 Z
U
,6 4
/.
= 0@
<
y
0
1
0
1
L
F
(
8
6
(x, y) =
<6
8-
,6
6
@8,
/6 0.
/=
6
x
0
0
1
1
<3.
E
Xk
{
0@
5 B :,6
: 94 G 6 0
/63 7:6
E
:8 0 4
4
/3 4 0 -.
5
53 0
< ,6
:=
:,8 0
63 : M4
G , F:
@. @8
5 <
:38 <6
/.
0O @
M. /6
8 ,.
9. 5/
. 0 J 36
: B4 ,
/66 0 E N.
6
:, 0 4 7/6
F G
8
<3. 0 9
-.
=5 5
0 F8
:. 0 4 5,
3
, -
5
/,68
=6
x∧y
0
0
0
1
( !
& ( (&
*" 68 0
/M
B
<. G
,. ,
-.
5: B E
,
=6
@
G 9 <8 M 5.
6 6
:
{
Xk 0 7/6
8
:38 0 9 @
- :0
6 I 8 0 -4
# F
:F6 8
/6 5 I.
68 0 : I4 0
/ :
/ M @ 8 / I4
B.
8
< .\ @
. \
L :6 9 ..
Ul 8 6 9
:
G
5: B 8
Xk
5: B
:8 :3. 0 4
3
:. 0 4
M
:
3
U 8 J,
k
R Z 6 I P.
:F6 <6
/6 .
68 0 B
60
/ M ,6 .< B
5: B
6 0- 3 0
J < :. 4
,
/ i. /68
6
S<8
04
G 6 P. 6 0 9 <50 J
/,6
6 LB
/= - / 0
8,6 G 8 99
6 0 - /6 0 6
8 I.
4
:
76 ,.
Q56 .
6
, /=
:. 0 4 8
R :. 0 4
; :.
8 0- 0
6
,4 <6 0- .
<, 4 /6 0 =6 9 0
:, 0 :8 :. 0
1/ 60 64
7 44 : M
8 9 04
? > KJ 0@
?
0@
=6
@.
5
E
: (x, y) → x

Definition 2
generated
x
y
M
/. B
/=68
E.
/=6
L
:
@I D
/. B
< P4 :F. 4 <
/8 94 F @8 99
@ 9 /. 0 - G 6
5 [
6 0 - F /6 0 4
- 5: B 8 9 /.
9
3 0 . BW < ]
4:. 5/ 6
Y :8
U =. ,
L , / [.
Ul ,6 4
I9 ]
3<. 5: I
0
: I4 .
0
j 8 :[
:. 0 4 8
,. J M]
/ B / i.
6 M F58 <
/,3 <6 5 9
: ,8
6 I4
J , 0 6 94
A
: M4
0
-4
i
/,68
F5/ 4
6
6
8,
mW
@ 94
MY
63 :38
36 A
6I
M
(x, y) =
&
Ul
U
/6
F:6
L
/6 0 B
6 08 I.
76
BC
-4
.A
:0
:38
3 M4
@ 0 9 5,3
E 0 ,,
.6 :. 4
6 E
<6 9 6
: /63
J ,0 :0
84
@9
0/ L
T , 0 786
, :.
F -4 6
G 0 :3
5, 8
3 - M4
M
8 68 0
0@ R
=6 8
< 0@
6
@ 8 E=
8 4
:F8 4 0 8
S8
78
56 9
/
:8
F6
0
8 0:3.
,4
,0
,.
6B
Completeness.
!
6Ž
50
,
6
: MT
6
Y
@
8
7/6
=/
=86
< 94
6 04
J M
G
5, 6 U
3 - 7/6
8 60
0@ 6 =6 , 9
, 4 G E,
5, 6
E
V
:63 4 994
6
0 ,6
8, 6
8 E I9.
8, I
,4 0
/. B 8 0
8 9 04
9 8
: A4 E 99.
M
., /,. B
B
<3. <:
8
=5 @
08 : 4
:. 0 4 /66 0
@,. :, 0 4
5
F
8
:. 0 4
J,
3 05 L
8
@ 99
.
/=6
y
0
1
0
1
:
/68
J
6,
<0
/,
B
<.
]
/. B :3
< 8
<4
G 80
0 :F8 4
8 0- J 6
GH, 4 X W
5 6
:, 4 3
8
F G 99
6 0 - /. B
E0 6
. S<8
78 6
56 9 = 9
G
, 0
:8 8 0 :
M 6 04
:. /F
JK@ 9 :8 9
Y 5<
/6 I
,
:38
6
/6 I
/=6
:,6
60
: M4
: I4
/
@8
x
0
0
1
1
&
2
n
‘ ! (
# & ’ !
(& %
& & b ’ %
!
%
+ (
(& !
&
!
( &
&
!
(
c0 : x → 0
0 := 1
#
n
J c
b
M
:= {0, 1}
:8
6
\[
..
6
:8 9
<86
:
2.3.1 Boolean functions
6;
:x→x
&
`
:
:3.
F
=:. 4
6
/66
: M4
6
,0
8I
94
:, -4
-.
6 Z-
1815 1864
6 03
:. 0 4 / \
, 0 44
6 ,
E 0I < 6
:6 8 0
69. <
F 4 80
:38 :3 44
8
M
@<, /6. ^
I. F6
9 \
3 4 ..
86 9 6 9
F/
I W
8
\
@ _
06
-
E
1
:x→x
bool
$
`
GaE `
/66 -
→
5: B
3
:. 0 4
GH,
0
8 0-
1
i4
5. n 5F/6
J
<
@8 m W
J8
F56 Y
D
E,, 0 4
:,
@- <
86
6 0M
/66 0 -
6 0 - /86
:.
:6 M4 @
9
04 . B
0@ 5/
E B
4
M .\
.6 - /6 M4d J
j : 9 86 0 :6
8
S 0
:8 5: B 83 0 . \
@9 .
M :3. 0 4 0 6 9
6- :
60
: - G , /: 4 8
5
6 0
6 5 :B
F8 E - < 3
0
:. 0 4 . 0 /6 I :. 4
:3. J , 4 , 4
U
:,
k :, 0
Z 8 Z. 6 T4
0 F 0
j 5: B 76 4 /. B
@ 6
G E :3. 0 4 5. 7/6
@
/6 - , /8
6
T 6T
,0 S
j : -4 M
0 e
:8 :8 R S/6 f
/ i. 1
M M
G
j
hg /6 >9
8
,8 @ 9
,@ A 6 0
5. :
5
0. <
, /6 I
E -.
.
6
6 X W /< 0
8M
$
8, & &
:8 M 8, E6
:6 M
Y .6
0
8
5: B
3
:. 0 4
f:
n
: I4
/
@8
\
..
69
:8
M
J
,
36 4
0
! ,
E -.
:
J :4
.B
E 99.
:4
EF
6
/6
/, 0
3 04
5/.
.B
53
,
0.
5:
/
@8
:8
6 0-
:D
n=1
c1 : x → 1
1 := 0
bool
<, GH, 4
8 9 5: B
9
86 0 I :3. 0 4
9
0 /,
8 0 - <. B
9
, 04 `
, /.
6 05: B `
0.
3
:. 0 4 J `
78 5 P
56 9 3
, 5: B
/. B
30
8 9 :. 4
9 ,
=. /68
,,
6 I94 <.
/8 ,
0
F5 :3.
<6
: 7:6
6
,0 : 4
: L @ 09
6 6
M
S<8 /,
3
4
=6 9 6 I
M
/. B 8
,
8 8
0
5: B
3
:. 0 4
L : I4
Ul /8
@
6I \
358 ..
6, :6 9
8
2.3 Booleans
x
1
0
(x, y))).
(x, y)).
f
F
F
complete
op
ty
x
w
v
u
t
s
rq
‹
~
ƒ ˆ‹
‹
‹Š
‹ˆ
E
9.
,4
G
G
0
(0 == 0) == 0 −→ true == 0 −→ 1 == 0 −→ false ,
a=b=c
,,
6
?
?>
:. 4
S/=
6
8
,L
M
8
:. 9
6
G,
:8
/8 0.
/=6
.0
bool
J
0
6I
:F 4
:
/6
,< 4 , O
6 <
:8 , 4
J 0 80
6A
,4
0.
5
6,
6 08,
:F, 4
<6
:
/8 0.
/=6
bool
:8
M
J
0@
6
/ i.
=6
B
,. 4
6 Z- 8
,6 3 /68 /8
04
: I4 <6 / 0
@8 3 4
. 0@
/=6 =6
/8 0. /6 0 6
E, 6
S
6, -. , 0 4
E 0 6 0/. , 4
78 S
56 9 . /=6 :8 "
,/ M 68 :8 . B
6 0 M ,. G
<6
,0
G
,
J
G
G
04 G
<6 -
/8
Z
U
Z
3
=6
5,
/,6
6 -.
E,
0@
04
09
04
<6 -
/8
:,.
/8 0.
/6 I
.
.B
/=6
<
5
:8
,4
89
,.
/66 Z-
G
M
: I4
M
<,
/.6
:8
J
-.
/: 05
:5,
/=6
L9
.9
/
JK@8
4
6 -94
:8
6 ŽA4 , M
: 4 /68
/
9.
F 4 758 9
G 3, 6
,.
B
: I4 0@
6
=
M
<,
/.6
G
/, 0 :8
:. M
8
@F 9 999.
0
:8 - F3 4
89
J
.
/
@8
:
=/6 J
J
8 9 /8 0.
/.,6 G ,
E
,
/8 0.
.
/=6
/
/, 0
:. 758 9
6
@F 9 ,.
0
:8 - 6 0 B
=
,6
EM
68 0
J
G
6
0 4 < >.
& =/86
J \ M
. 0.
0 60
- ::8 . 0
8
M :. 0 4
E
<3.
,4
5: B
3
:. 0 4
:
@L
: I4
/
@8
\
..
69
:8
6 Z-
=6 9 6
=9
6
L @ 09
Ul
6M
8, - /,3
4
/38 - 6 I
M
8
/63 0 @ I
4
, 04 , 0
43
76 /3 0. #
S<8
/ i.
6P 3 :. 0 4 " gE 6 <, 4 W
L
@= 9 Ul
4:6 G Y
M
0
@ 4B W
E Xk
G Y
0 4 :8
M
W
:8 U
k
M J ZY
34
, 04
04
3/ 8
8
/63 0
76
/3 0.
E
J
:6 M
.6
0
6 0\
.. G
6
:8 9
5: B
3
:. 0 4
B
5: B
3
:. 0 4
,
,4
788
4
86 9I
9
: I4
/
@8
\
..
69
:8
=6 9
60
,6
.0
<3.
74
8
/68 56 6 0 ,
: M + 1 I4 4
&&
bool
78 ,
59 64
8
:. 0 4 M
8,
6 0-
/=68
F4
38
@ 99
6 0- :
6
04
78
56 9
8,
3-
5,
a=b=c
J
=6
B
a == b == c
int
0@
4
/, 0 0 4
:. <6 @F 9 3. 0 4
0
:8 - /=6
8
6 0 - / 0.
,
9. : I
F4 4
38 < M
. 9 /.
/=6 6
/,
/8 0. :. 0
J,
@F 9
0
:8 /6
89
:. 0 4
.
Q5:6
B
L
bool
&&
‹
,.
68 I9
Boolean Evaluation Rule:
M
6 0- : \
6, 4
/
- @8
678 /
8
-4 < 0 -4
F/6 - 6
/=6 3 0 4
.
36 /=6
:6 M 8
/ 0.
36 ,
0 :8 - 68
7
: I4 -4
/ F6
@8 / 9. /=6
F 4 63
38 6
.9 :M
/=6 63
/8 0. : 0 J, 8
0@ 4
89
/6 L
Ul
0
@I
,
:,. 4
:. 4
,,
=6
/8
Q5
Xk
04
M 3 0@
0.
=6
6 0- :
< 8
EM
80
6 - -.
< 6
,
8 0 /6
43
/86 9 5, 9
0
4
89 ,
:. 0 4 :/8
, 7
8
:8 56 9
M .B
G / 0@
6 =6
,
=6
30 J
76 4
KJ@ 9 Z
66 Z- .6
. /=
/=6 /8 0.
/8 0. ,
:=.
k
L
!
~
7/8
M
G
/8 9
56
9
6
6 0-
/66 -
U
Ul
1
‹
:0
.
0
8
:. 0 4
53 0
8,
/8 0.
GH,
:8
/6
8
:F6
k
L
,
||
~
c
==
a b
/ -.
,
38 4
9
80
S/
6
6 0-
: I4
<M
/.6
/: 05
1
8@. 0
5
5
5,
8
@ 99
<6
:8
,6 4
G
=6 9
=/6
.
89
,
Ul
/ i.
/. B
/.
6 / -.
S<8 J 0
6
=6 Ž
G 9 0
L
Ul
J
!
Š
…
EB
6 0-
:6
/=8
6
S<8
: P4
6 5Q
6 Z- 3 8 94
/6
0@
:
6=, 4 8
, M
3 0 :8
4
76 : 4 6 0
60 ,
<3. /F , 0
/.
/=8 8 9 : B
4:,. 6 0@ 6 4
G = Q5
/,86 6 0 - 8 9
/6 4
J 0@
: M. 8 9
6 :. 0 4
8
/33. 8. 9
: M4 /=6
F /8 0.
0.
<,
6 0@8
:3. 8
9
7:6 ,.
:. 0 4 786
.
6
& /=:
8
,. M
J B
0@
=6
J
k
:D
6 0/T
,0
6, 0
=.
:3. 6 0 B
:8 0 4 /=
.
, .
G
:8, 4 E6 B
F6 9 ,
J E -.
:D 0
66 M 8 0
GaM 8 99
0
-.
6,
5: B
3
:. 0 4
,
:38
6I
:F6
/6
/38 8
/36 0
, 04
34
76
/3 0.
Logical operators.
&&
(a == b) == c
DB 7 4
8 9 0@
.9 .
B B
G
G G
:8 6 0
M 6
/68 S/
=6
34
80
4
04
<80
6
<-
5B
E9
:4
,L
E
/. B //3.
6 6
Z
U
Relational operators.
bool
<= >= ==
!=
.
J
,.
768 4
:9
0
0.
Q5
/ i.
6,
6 0-
3A
k 6 0Z
/. B
<
8:, 5
4 89
i 4 /. B
/F56
:8 m G
/. B
M 6
:3.
S
7: 4 <8
63 =6 9
G
5/. E6
6,
9 :3
76 8
, /
0 63
8 0 - 68 0
60
/- 8
6 0
5, 86 I
: 0 94 9
/. B
F
3/ - 6 0
8 8 5
/36 0 : B
3
, 0 4 :. 0 4
34
U
63 -
Z.
!
~
‹
,6 4
0
=.
8,
F4
38
@ 99
9.
89
:. 0 4
Watch out!
int
bool b = true ;
~
=
false
bool
/368
}
/6
L
||
}
,4
6\
Xk
1
69
0B
:, 4
.
06
f0000 (x, y) = 0.
\
Xk
(f1000 (x, y), f0100(x, y)),
(
(f0100 (x, y), f0010(x, y)), f0001(x, y)).
@
89
G @9
:, 4
6
E3
6
6I
6 94
76
0
8@. 0
5
F6
0
4
,0
<
0
/. B
-4
Xk
Ul
f0010
9
4
0
0
5.
:
<6
F5
/,8
F
: A4
/.
<
.B
4
76
: D /3 0.
6
F 6I 60 4
- F: - ,
Xk /6 6,
GE
68 0 :3. J
-4 J M M
36,
Z 0
<, 4 -4 GE=
, 6
@= 9 , 4
: M. , -.
8 6 E
M
M
5, @ I 0
= 3. 8 0
6 0 - < :8
/4 :I @
: 4 5: B
J ,O 4
F 3
/ i. 6 0 - :. 0 4
6 / E
8
S<8 6 9 -.
8 6,
=6 @ M
G 9 :F6 /3 /6 8
8
68 0 /63 0
M ,4
:, [4 3 0 4
6
F6 7
1 9 /3 0.
]
5: B :, 4
:.
3
:. 0 4 /6
, .
/ 0 - :38
5.
(y))
0010
,M
@6
f0000
8,
E
/
8I
,
:8 0
6;
(x, y),
(x,
(y)),
(y,
(x)),
(
(x, y)).
5z
,0
6 0.
true
34
-
,
EW
64
J 8M
: i4
89
G @E 9
6
:F6
/6
68 0
1
~
~
ˆ ‡‹
bool
89
0
:8 -
} {
(0, 0, 0, 1)
unsigned int
bool
,
J
{
J
76
5: B 0
3 80
:. 0 4 :3. S/6 f
J, , 3
4
, 0 4 6,
,.
B 8g
6 0- , A
,
:, 4 @ .
5
F6 9 0.
5: B ,
E -.
3
:. 0 4 0
8 0U 6 0L
Ul 6,
/68 , 0
L
Ul
<3.
=6 9 U
60 k
Z
/. B G
Xk
6 06, U
k
.0 G Z
B :8
: I4
/ 6M
@ 8 7:6
\
.. 6 0
69 :8 6,
0
{
?>
:D
f1100 (x, y) =
f0111 (x, y) =
J
4
B
(x,
=
=
=
=
30
6 0E0
.6
6
<6 9
:
,0
:8
.
?
G \
KJ@ 9
..
6
/ i.
:8 9
6
/,68
S<8
/6
=6 9
/=6
G
6
M :,
& 6 0
M
0 @I
8 0- 6 0/68
5: B
8, M
,. <68
34 :
68 0 0
E M 8 0@ 9
6
04 =
6 0- J
9
/6 0 4 0 D
,
89 7
, 586 9
/
:
:8 86
F
M :3.
,4
G ,, 0
=
,6
/6
f0001 (x, y)
f0010 (x, y)
f0100 (x, y)
f1000 (x, y)
G
b
6
:M
/: 05 / i. 6 T
< ,
,6 4 8 9 /8
9 @ 9 78
,, G
0 4
F:6 6 - 86 I9
6/ 0@
8 9 =6 . B
0
0@
:8 =6
4
:,8
:4 :
6 8
/F 0 : M
4
89 4
0@ 0 4
,66 =6 86 94
G
6P 6M ,
4
3 :T 0
:. 0 4 6 0.
M
0. J 6I
Y 69
,,
:F6
/6
:4
Proof.
f
(f(0, 0), f(0, 1), f(1, 0), f(1, 1))
0001
f b1 b2 b3 b4
b1 b2 b3 b4
= f0001
||
&&
< >
<=
==
>=
bool
!=
<
==
=
7 + x < y && y != 3 * z
((7 + x ) < y ) && ( y != (3 * z )).
a == b == c
2.3.2 The type bool
a == b && b == c.
o
og
ty
x
w
v
u
t
s
rq
~
~
‹
ˆ
~
~
ˆ~
‹
‹
x
0
.
-.
76
/=
M
=
M
M
:6 M
.6
0
:8
@I
89
/6 00 J
6 Z-
B
# M
6 99
38
@ 09
Q5:6
/6
,4
89
,.
Xk
5: B
3
:. 0 4
{
6 Z-
Naming.
‹
3.
J,
/8 0.
=/6
B
/8 0.
/=6
.
89
89
:. 0 4
/86
5,
/6
6 0-
0
8 00
5,
:6 0 - /6
M
6I
:8
/. B
M
78
59
68 0
EM
8,6
:8
F4
.0
/=6
-4
0E 9 6,
S/
5. =6
9 ,,
M
6 I :. 4
5: 4
,
6 E8
: MT 9
6 @8
J M ,
78
J 9M4
DB
60
/-
G
x==0
‹
bool
04
/. B
6 0/8
04
<6 !
&
"

+ /F6
Q5
89
6
,
/,.
/86 0
69 /
F6
,,
69
F4
3
:8 9
.
0
9.
o
gp
gp
gg
gg
gg
gg
go
g
0
\
0L
:63 4
KJ@3
V
8
/6 00
.
6B
4
D B
. 0 /, -. J
5/33 0
/
E, 3 4
53
:6 - 6 0 4
6 M 78
59
:8 94 8
0
EF :. 4
0 4 <, 4
-6 /6
S=/ 6
6 @9
,
:., 4 <8
/66 0 - /
T
,0
,: 4 , 4
8 F
. 00
/6 - 0 4
9.
:6 I .
6 ,A
J 0 T 8,
5
,
0
0 8-8 / 0
0 68
,6 4 6
: MT : MT
6 6
M M
/. B /. B
:8 /63
:. 0
:8
/6 4
. /=
8
M <8
7 44 6
/,. /6 0
:. ,
:.
KJ@ 9
J
K
@
l 9
56
: >.
0. ,
4
, /6 M
/ -.
0 /. B
/3 4 6
53 S<8
06 4 6
=
78 9
5 9 6 08
:. 0 4 M4
G E 74
6 :,. 4
:3 .6
E8 /=
/ 8
6 0 4 :. 0 4
E
:.
#
6M
0
/.6
<
/
E8 9
@8
,
F5
/8
:8
66 0
68 0
6 0- ,
4B /8 0.
;
J M
5
6 -94
:4
6
0 :F/6
8 08
60 9
/ -4 0 4
6 9 /,.
B0 /6 M
.
/=6 , 4
:8 5:
M :6 M
,6 4 6 T
78 G M
59 0
68 0 6 :I
/ MT / 4
@
J ,0 8
9.
/.6 F3 4
. 8. 9
7/6 /=6
G
3-
-4
,4
63
/8 9
@9
/=6
/6 B
86 I
9
:4
/6 0
<
,.
/6 B
8
8 MI
944
E
9 84
J ,9
8 I.
5. n 5 0
< /
=
@8 66
:T 3
:6 M
M
0 63
:, 44 :,
8
/. B M
< 8
,
8 ,. KJ 0@
:. 0 4 3 4
6 - 8 04
9 74
=5 B 6 0 4
: 94 ,.
/. 0 B
6
/6 M 9.
0. F 4
3
,. 8
9
7 6 9 :8
/
M
S/6 f 6
36 4 8 0 9
, :. 4
J 8
9
86 ZI
66,
/ i.
60
F4 8 0 - @ 9C E N. 0 - .3
. <
/=6
60
/- 5P
:
3
: =.
J
=
8
8 ,4
4F =.
6
M 66 0
0. - , 0 4
4
, S/
6/= 0 - 8
8
=6
0
=
:8 : 4 :=6
# ,,
:
:. 4
M 8
0
F4
4
76
8 0 ,
HG, . 0
/
6
! 68 9
6 0 - /= 6 80 8
/6 8 :
/ 0. T
J 8 99 @ M
5,
8
6M
90E 6 0 - 7 9
Z :6 T
-4
6 9 586 9
,6
994 B
M
E8 9 . 0 , 4
7
58 9 @ I
/=6 /8
@8 : 6 9
8 60
, 8 8
:. 0 4 6I 6M @M
7
,3 586 9
6
6 & 758 9 /6 M
0
<6 .
J .
68 0 <
B
0
3/53 :6 N , :6 4
,4 60.
:
A 6
, G 63 & M
E . 9B
: .0
: 4B4 6 0 @ I
/6
:8 6 e 0 6 0 8, /=
6
:
8
:, 4 :: - 6 9
B
M
. :. . . 0
:6 0 =/6 66 < /=6
:
8
/8 0. 0. M /6 00 8
6 0M
6
6 0- 7
6 9 58 9
B 68
.0 0
6/= 6 0
:8 / 4
M6 F 78 . 0
5 9 /=6
68 0 :8
, M
0.
8
0
J 8 99
6 Z:8
8 9.
5F.
,
,4
05
8
:. 0 4
69 69 69 69 69 69 69 69 /
4
0B 0B 0B 0B 0B 0B 0B 0B F 0
Prec. Assoc.
6 0-
&&
7 8 :8
6
56 9
M 7
.
189
B
/68
G
/8 0.
:8 J
J
,. M J
:8 B
.
/=6
/=6
.
3 -4 J
6 0- J
:
E4
/6 M
/.
F
F/8 G
: M4
<4
/=.
:8 0
0
M4d
/66
:
6
/36
8,
Q5
4
768
:9
@ 09
6
EI
/
4
:6 00
6
:38
0.
6
6 Z-
6 0 - 758 9
:F6 :8. 0 4
/6
.
/8 9 6 B
56 S/
9 =6
, ,
8, :,. 4
M4 :,
5,3 4
,6, 7. 9
7:
: M4 4
F
6 P 9.
3 F4
:. 0 4 38 9
:
, 8
/6 M
9
:8 g 8 0
:. 4
M 8
.9
/=6
8
E N. / 0.
6 ,
/
7/6 =.
663
/66 0 - M
,
4 83
:., /3.
6 1M
F
:4
0@
<
,6
6 Z-
86 9
8
$
<
6,
6I
M
0.
/0
:8
/., B
5
:6 0 B
.
:38
5
/. B
B
,
:,. 4
.
=6
S/
:8 W
6
=6
G 9 *
"
S<8
6
/ i.
4
768
:9
0
/. B
J<
Q5
: 4Y
0.
8
[
<, 4
=/6 9
6]
=6
:8
M
6Z
:8
M
&
0.
60
:3.
7/6
,4
:., 4
GH,
60
: -4
6
/F 0
89
.
/=6
:8
,. M
-
F.6
7/6
:,. 4
:3.
6Z
76 4
3
:F8 7/6
,
hgp W E8
04
_ ogh 0 6J gY 6 - Z
6
6 =9 EEN .B 6
9
8, U 1 : 9
k A
8 G Z E.
:=. 4 /68 :
6 : /.
B
/6
: 4 <86 <5
@<, M 68 9
8
/6 0 B . B
I.
9 0 E -.
34 68 / \ 0.
F/6 9 4 6
I , 0 4 S/
:88 < - =6
,
M 86 0 ,
9. - L
F < Ul
J 3, 4 8 : 4
04
6
L9 :38 4 / 0
<
,.
60 5 L ,
/ - F5 . B
/F. 4 , 05 Xk
:
5. ,6 l 8
,
M
/.
0
:8 M
:, 4
0.
68 A
@ 9. B 6 0
=9 .
86 6 0 F 4 .
:3 4 / - 38 9 /6 0 : 4 7 .6
58 9 /= /6 M4
04 6
8 94 4 /8 0. 3 0
4 ,
:. 4
8 0 :3. /,68
:. 4 6
/. B
7/
:,8 6 0 :3. 9.
6
M M 7/ F 4
8, 0. 6 0 38 9
:F, 4 M .6
<6 J 0. =/
:
/8 0.
J
G ,0
:4 ,
:D
:8, 4
5, <
3- 4
6 06
E8 S
.B
M6
@8 S
E 99.
/
:4
0 =6
8 0- 1 ,
F
,.
89
,
=6 J , 9 6,
:3.
7/6
:., 4
6
S<8
/.
6 Z- < B
6M 5
1 89
0
/. :. 4
F: .
1 8 < [B
/. B
< 80
5 668 9 <
, 0 8 04
68 0 :38 9
0 4
8 0 - 53 M
: 4 W :. 0 4
?> ]
? E8,
1 6
:8 9
:
F5 E. A
F86 :
Y 8
5M
6,
04
0.
@8 M
F.6
,
83 I
A
0.
J <4
0
int
8,
6
#
# :4
6 Q5
F 4 5Q
38
8 9 /86 0
:8 9 8 94 0@ 4 /.
0@
6
M
Q5
89
9.
Arity
4
F4
38
/. 9
9.
6
Operator
!
<
>
<=
>=
==
!=
&&
||
@8
E
<,8
6 0-
6 I94
0
8 06 0E0
.
.
/=6
:8
,. M
,,
=.
0D
,4
!
! ! !
# Description
1
4
/,6 0
68 0
:M
Conversion and promotion.
,
368
Z
,4
0
/8 0.
GH,
.
/=6
x >= y && x + 1 <= z && y > 5 * z && y > 7 * z
0
:
"
Table 2:
J =6
0@
-
M
/66 4d
768
!( x < y || x + 1 > z ) && !( y <= 5 * z || !( y > 7 * z ))
~
0
bool
:
-8 <8 6 Z0 6
89 4 U
.9 , L
8 Ul
/6 0 - /6 0 B
5: B
9. 6 0
3
F4
:. 0 4
38
9. <6 L
/
/=6 4 , 4
8
8 :38 ,. 9
:. 0 4 < :
A
, 8 E.
:38 6 0 - :
<
6I 8 8
6 04 ,
S/= :38 4 6
6,, :6 N / : M4 @
!
/6 0 J < P ,. 66 -d /.
B /
U W L ghh J Ul
_ g o
E mY J 6 0- 6 Z
69 ,, <3.
:F6 =.
/6 , 4
6
89 60
0@ S/
=6 =6
, 4 ,,
< 4 :. 4
= 9 6, 4
3 44 7
@ 0 9 58 9
:3. 68 0
7/6 :. M
60
J M 6 0:D <
/.
/=8 6
0 :F6
53 4 /6
/9
G 8 89
0@
6
G=
. 0.
/=6 E
:8 4
M 3/,68 6 0
.
:3. /=6
7/6 :8
60 M
.
M B
!( x && y ) == (! x || ! y )
"
0 0. 0.
-8 :0
G 60
. :8 /6 : 4 /. B J M =,6
<
L 36 0 4
7
8 0 /=.
:. 4 < 0. : 4
. J /6 0
F6 :. 0 4
F
0,
D 8
9. 4 0 B 0@ 9
J ,0 , 6- 6
8 : =
,
=6 6 0 4 .
3 4 / 6 0B
89 F :3. 8 9 .
0@ 6 0
7/6 =6 / :., 4 , 4 /.6
=
:8
/. B
E G J
M
-4 0 -4 /6 N
3 , 6
6 0 - :3. G
0
7/6 6 ?>
? :,. 4 78
56 9
:,8 0 , 4
&
/8 M :6 M M 6T 4
F5 M :,3.
/8 0.
:8
7/6
66 0 6 I 6
0
, 8 M
De Morgan’s laws.
bool
bool b = 5; // b is initialized to true
int i = b ; // i is initialized to 1
!( x || y ) == (! x && ! y ) .
2.3.3 Short circuit evaluation
||
&&
||
x != 0 && z / x > y
2.3.4 Details
om
o
ty
x
w
v
u
t
s
rq
:
B 5
<
b
32
L
{
,
Z
}
W
|
xn
g^ Y Y
7
Y
W
g^ Y
`
&
W
g^ Y
* `
→
W ^ Y &
|
Y
,4
M
/, 0 4
4
5I
06 4
7
`
b
34
80
64
,.
n
...
|
x2
&
,4
M
/, 0 4
4
5I
06 4
7
Xk
!
$
,4
8,
Xk
{
&
% c
f:
x1
&
Y
L
G
J 6 4W
J
|
#
b
0@
E 9.
6I
66, W
<8
/F.
/=
G:Y
4
7.
97:
4
F.
6 Iz
30
J , ,.
B
:8 Y
/8 M
04
<6 0
HG3 4
9.
F4
38
G 9
:8
/6 M
89
:. 0 4
89
.
/=6
/8 0.
<, 4
=6 9
/6 M
: 4W ,
:0
53 9 8
: M4 M
8
F F6 4
7:
=6
3
04
bool
"
7
Ul
L
J
|
x, y, z
34
80
64
,.
Xk
Ul
8,
,4
G
J 6 4W
J
G
J 6 4W
J
Ul
L
U
,
,
J
(
G
J 6 4W
J
J
J
(
b
z)
% +c
#
#
(
!
"
%
(y
" !
z=x
&
(x ↑ y) ↑ z = x ↑ (y ↑ z)
‘
n
&
x 1 , . . . , xn n
xi 1 i n
(x ∨ y) ∧ z = (x ∧ z) ∨ (y ∧ z)
y)
|
04
<6 -
/8
W
^
/6 m Y
8
:8 M
5: M
^
W
e,
0
GH3 4
9.
F4
38
G :9
8
/6 M
89
:. 0 4
8. 9
/=6
/8 0.
:4
7.
7: 94
F/
8
04
<6 -
,
:,. 4
6Y
78
59
68 0
8
F6 4
:7
6
S/=
6
.
B
e
=6 9
60
5: B
3
:. 0 4
,
,4
<3.
: I4
/
@8
\
..
6
:8 9
.0
6,
0
8
F6 4
:
/.
-
^
6/6 0
7:
E
.
76
/=
Y
W
0\
5: B
3
:. 0 4
e,
..
6
:8 9
5
8 I.
,0
34
,0
68
<6 0
:
8, I
M
/=, 4
.
76
.
76
/.
/=
W
g^ Y
:D
M
9
9
86 I
6I
5 -.
,
@.
5
JJ 0.
J
G
0
53 4
/8 9
/=8
Operational.
b
&
,
/ -.
78
59
8
:. 0 4
Y
:5
6/ M
:,8 0
M
6 06
6B
B .
0
53 4
/8 9
6 0:3.
63
=0
.
/=8
:4
HG,
0 S/
/3 4 =6
53 :,,. 4
06 4
,
78 : 4
5 9 7.
8 9
:. 0 4 7: 4
J
F
9.
F4
38
:8 9
/6 M
89
:. 0 4
89
.
/=6
/8 0.
"
!
e
G
&
0@
7.
7: 94
F
4
8
:. 0 4
:,
:,. 4
:,8
.M
/=6
7/6
:3.
6 0-
M
78
56 9
/
:8
6
GF
:8
4
,0
=6
6 0-
:A
E.
bool
%
(x ∧ y) ∨ z = (x ∨ z) ∧ (y ∨ z)
#
<
6 Z/6 0
, 4 " ,0 8 0 9 ,. 0@ B "
=6 8,6 +
:,8 Q56 : . M 36 /6
/=6 . /6 B
8 6B ,
:. 0 4 M 0.
3
, /8 9 8
M4 8 0 /=
5,3 :. 4 /F.
6,, :8 <8
: M4 M6 0
S/ 6 0 - =6 8 0
/=6 ,, :3.
:. 4 ,
63
,4
: M4 , 0 ,. 0
68
F6 <6 0 8 B
, : <
3
:. 0 4 J , 0 :8 4
/,68 8 U 5: B
/ 05 3
0
5
6, 8 9 :. 4
J M G @9 E
:.
@ 9 3 -4
:
<86 M :3.
5: B /: 05
:4
G
G
%
Y
!
+ !
+ # +
!

<
:8
\M
=0
63
:3.
6 0-
M
/6 M
:,8 0
5: B
3
:. 0 4
:,8
5: M
69
..
.
:5
/8
@F
:4
.
9.
J
=:.
4
G 0
@.
5
,
5 -.
JJ 9M
0
,4
0L
34
/6 0
6 08, I
=6 9
:6 0
6
,
e,
gY
B :A
<3. E.
.
,
Q5:6
86
8,
J
J
-
4
0
8: 04
60
/F6
,
:38
6
/6 I
/=6
:6,
60
:M
h
6P
3
:. 0 4
:4
:
66,
768
8 0- 6
;
HG, 4
0
G 80
<
/. B
: I4
/
@8
M 6
0. 3
:4 .
6 B
/F 0 0 I4
,6
89
0@ 83
=6 . , EB
@I
-4
=8 3 @=: 9 ,6 4
4
F /6 0 -4
06
</.
E 0 I4 J
6, 4 \
0. ..6
9
6 0 - :8
5: B
3
:. 0 4
,
:38
:
8 0 /8 05
:. 0 4
J , @8 99
6I
6
S:6 0
6M
: I4
/
@/8
6
/=6
:,6
Dispositional.
& &
+ Exercise 21
(x
|
Exercise 19
k
&
Exercise 20
‘
Exercise 18
U
$
6 0-
Prec. Assoc.
8Y
~
IY
^
Ul
~0
(2) = 13
3Y
1111
MY
15
go
G
‘
(
! ! $ ! $
! &
&
+ ‘
+ ! "
Pb
i
b
x =
i=0 ai 2
ai , bi {0, 1}
0 i b
bitwise operator ϕf
P f : {0, 1} → {0, 1}
ϕf (x) = bi=0 f(ai )2i
g : {0, 1}2 → {0, 1}
bitwise operator ϕg
P
ϕg (x, y) = bi=0 g(ai , bi)2i
:. 4
/
g
ϕ
8 00
/
h
6 6 6 /
4F F 4 F 4 9B 9B 9B F 4
0 0 0 0- 0- 00
/
(13, 9) = 6
<4
=6 9
<6
:
:. 0 4
6
: MT
6
G M
:, 4
63
6 0-
"
m
1
68
/,
80
m
m
Arity
/8 0.
(
&
|
0
Operator
~
&
^
|
&=
^=
|=
<4
=6 9
<6
:
# !
(4, 13) = 13 ϕ
,4
,
/8 0.
Description
=/6
.
6,
=6 9
<6
:
G
8 0 / i.
:. 0 4
4
5 99
/, 0
Z
8 0 - :8. 0 4
,4 G
5,
/6 ==.
6,
=/6 0
:6, 8 0E
,0 6
786
:
/6 8
/=6 5:
,
:6, :F6 4
,0 : M
4
:8 /6 0
F
M 8
,. 0@ 9
:. =6
E
5
= 0 -4
0. 8
1m
I
E /6 0 4
- /=6
3 -4 1
:6,
0 0001
1
(
4
E 0 I4
,6 4
<3.
J
J
,0
:6,
/=6
/6
0
8Y
64
B
0@ 4
!
E I4 E I4 E I4
8, 8 M 6 0 4 6 0 4 6 0 4
:F, 4 :,, 4 8,, , , ,
<6 F< :F 4 /. S/. :8
: :6 <6
M
:
0 0
0
S/.
:8
E 0 I4
6
6, 4 6 P :6 Z7/
L 8 @
Ul 9 5.
E 0 I4 :3
8
8 6, 4
3
E 0 I4 .6 6 /= 3 A
6, 4
0
/8 0. 80
Xk
/,68
:8
6
M :M
8 6T
E 0 I4 M
/. B
G
,6 4
0
{ 6Xk : 4
6
/0
8E, F8
6 0@ 9
99 =6
8, :, G :
8
8 4 M
E 0 I4 ? >
6, 4 J ?
U
k 6Z
Z /6 - J
0 ,4
8 0- 8
ϕ
6 0-
.
5: B
3
:. 0 4
89
/.
4
&
8
@/ 99
6
//6 B
6 G
M
0.
8,
"
G
J ,L
6 0/8
04
<6 G
0
.0 3 4
=/6 .6
/=
8
J / 0. /8 0.
G,
6 Z- 0
/=6 6 :
36 / I4
:6 M @ 8
63
E I4
:,8 0
64
M ,
5,
5,
0000
7.
7: 94
F
6 0E 0 I4
6, 4
.
/=6
,
:., 4
:,
-
8 060
0
60
.
/=6
3 4 8 0.
80 /
7 44 ,6 W
0@
. S63
B
6 0- = 0
6, /. B
.
/=6 Y
86 /8 0. 7
8
/,68 //3.
6
9
6, 0 4 :=,.
: M4 : M4
F
86 ZI 8,
9 :, 4
J F<
:6
,.
8,
g
6
-
U.
Table 3:
G6
S/
=
:6 0
f
J
J
J
6P 6 I
E4
3 ; 0
:. 0 4 - 6, 4
768 /6
:. /=
6
h
@ 9 :6,
5. n , M4 8 0
53 0
, 6, :. 4
-.5 , ,
9 M :. B
M 0
0 6- 4
/66 - < 6 0
/F
/.6 B ., 8
0/ 0@ 9
6B 6
=
Q5:6
78
5
6, 0 56 9
:W ,
6 0 - 8 /68
6, < M :
. . .
/=6 , 0 0
9 ,6
/8 0. 6 A4 =3
4
E, @ 9 Y 6 T
M
:6 - 5, @ I
3
@ . /6 - 6 0
5 / =6
:6, ?? >
0 ,
6 0 :8. 0 4 :8 0
/6 /M
:, 4 J 8
=1
M
f
7:6
/
6 6
: MT :6,
6
J M 80
:. 0 4
J
Definition 3
P
y = bi=0 bi 2i
: I4
/
6/ I @8 Z
/6 -4
8
,
1
/ ,4
I4 . B =66 <
< 0 I :, .,
4
8 ,0 0 .0
:3 -4 : 4 :8. 0 4 I
7. 4
6
5
60
0. / - . B E,
6 6
8 /= P 4
6
0
1 :,6 :3. 0 4 6 0I4
<0 80 J
I
0 J
8 :. 4 h E 0 4
:3 -4 J G 6 4
J6
60 ,
Z - 3.
-4
, 7 <
78 586 9 =6 9
56 9 . <6
:
B
/66 0 - 6 0 - R6 0
6 6
/.6 B
7:
S/
=6 4
EB
:38 - :,., 4 6
F6
8
5,,
E,
<6
6
:6 - 6 M
:= 6 0
@.
5 ,M ,
0
:
E , :. 8
/M
4
3 0- 6 0- 8 M
<.
/
Bitwise operators.
2.3.5 Goals
bool
~
2.3.6 Exercises
)
)
oo
o
ty
x
w
v
u
t
s
rq
# include < iostream >
int main ()
{
1
1
|0 1{zOR} 1
1
AND}
| 1 {z
1
1
1
L
Xk
Z
k
0
1
L
&
n
#
% & #
# # % ! !
# "
% !
& !
+ %
Xk
Ul
L
1
Ul
&
&
k
Z
U
Ul
L
k
Xk
L
Ul
(
Ul
U
0 0
AND}
| 1 {z
Ul
0 0
{z }
| NOT
Z
U
(
(0,
Ul
L
001
& *"
" &
!
" !
# !
*" "
(
Xk
# ( &
% #
" ! & +
*
" " ! ( ! +
"
*
‘
% *"
! ! "
" ! ! !
" !
% !
!
" &
"
&
*"
%
! &
6,
6X
7/6
&
&
* + *
"
X
6
7/6
6
,
.
9
,4
( U.
0
:8. 0 4
"
"
"
Exercise 27
L
! + ! %
(
& & !
"
" ! 3 * z > z || 1 / x != 0 && 3 + 4 >= 7
Y + z > 1 && ! x != 2 - 2 == 1 && y
"
^
W
x != 3 < 2 || y && -3 <= 4 - 2 * 3

" !
W ^ Y "
"
: IB4
/
@8
\
..
69
:8
5: B
3
:. 0 4
J,
GE
Xk
Ul
U
Xk
U
k
J Xk
Z
Xk
IY
Ul
Z
U
k
L
U
U
/66 -
L
Xk
3Y
MY
‘
#!
! ! W &
^ Y %
a
*
+
m^ Y W %
(
" =6 9
60
6,
.0
! &
" <3.
8
int
a < b && b < c
z==2
k
Z
,4
U
(
#
Xk
{
Y
}
( "
! # include < iostream >
int main ()
{
int a ;
std :: cin > > a ;
std :: cout < < ( a ++ < 3) < < " .\ n" ;
bool b = a * 3 > a + 4 && !( a >= 5);
std :: cout < < (! b || ++ a > 4) < < " .\ n";
return 0;
}
!
6
}
&
x==0 y==1
&
+ + "
+
a < b < c
83 B
0
0
8 0L
Ul
6 0-
}
& & + + !
"
+ &
&
 + "
+
W m^ Y int
c
,
*" %
,
""
%
{
&
+ *"
+ !
6,
@8
5
<
5. n
:=
Exercise 25
a b
&
!
%
}
Exercise 24
x y
z
& " * "
+
#
% *
% 
! !
# ,
" Exercise 26
}
(
*" ! " #
8Y
Exercise 23
+ ! " (
*" ! " !
IY
Exercise 22
b
c
‘
!
+ 3Y
{
" %
%
,
" !
{
+ ! " !
{
{
unsigned int a;
std :: cin > > a;
unsigned int b = a ;
b /= 2 + b / 2;
std :: cout < < b < < "\n" ;
bool c = a < 1 || b != 0 && 2 * a / ( a - 1) > 2;
std :: cout < < c < < "\n" ;
}
return 0;
2.3.7 Challenges
(0, 1))), 1)
.
n+1
n
oh
o
ty
x
w
v
u
t
s
rq
"
"
Hint:
!
*"
&
&
s
s
1
eval.C
" !
s
(
%
! " %
!
!
*
‘
&
"
! %
! not.C n = 1
(1, 0)
not
%
&
"
" !
" !
(
# & + " # +
" (
"
&
*
( #
" +
" # %
! " %
& + & & s
+
%"
!
and.C or.C
{0, 1}
s
+
+
" %
!
one.C
#
& "
" =
64
= * !
" ‘ !
(
* " % ! #
% * * + "
"
! !
" n=2
&
%
" !
+ (
"
"
& " !
+ # "
( " &
‘
% "
+
(
"
zero.C
#(
+
"&
+ !
"
1
&
* "
+
+ !
( ! " 0
# (
&
*"
or.C
and
" "!
& +
" + % &
& "
+ ! ""
" (
& s
1
" +
!
*"
!
&
+ !
"
' (
"
*
&
! "
& !
+
#
*" #
L
Z
U
Xk
Ul
Ul
L
k
(
%
" "
n
" %
!
! 
" %
&
# &
 !
!
" + !
"
and.C
(1, 1, 0)
(1, 1, 1)
!
" (0,
 * + & "
% & +
* " % "
) & " &
(
" + (
(0, 1))), 1),
not.C
eval
./ eval |./ zero |./ zero |./ one |./ and |./ not |./ or |./ one |./ and
|
./ eval |./ zero |./ one |./ or
"
*
+
+ # &
!
!
p
o
ty
x
w
v
u
t
s
rq