:: BVFUNC_6 semantic presentation
theorem
:: BVFUNC_6:1
for b
1
being non
empty
set
for b
2
, b
3
being
Element
of
Funcs
b
1
,
BOOLEAN
holds b
2
'imp'
(
b
3
'imp'
(
b
2
'&'
b
3
)
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
c
2
'imp'
(
c
3
'imp'
(
c
2
'&'
c
3
)
)
)
.
b
1
=
TRUE
proof
let
c
4
be
Element
of c
1
;
(
c
2
'imp'
(
c
3
'imp'
(
c
2
'&'
c
3
)
)
)
.
c
4
=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
(
c
3
'imp'
(
c
2
'&'
c
3
)
)
.
c
4
)
by
BVFUNC_1:def 11
.=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
(
c
2
'&'
c
3
)
.
c
4
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
(
c
2
.
c
4
)
'&'
(
c
3
.
c
4
)
)
)
by
VALUAT_1:def 6
.=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
c
2
.
c
4
)
)
'&'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
c
3
.
c
4
)
)
)
by
BINARITH:23
.=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
TRUE
'&'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
c
2
.
c
4
)
)
)
by
BINARITH:18
.=
(
'not'
(
c
2
.
c
4
)
)
'or'
(
(
c
2
.
c
4
)
'or'
(
'not'
(
c
3
.
c
4
)
)
)
by
MARGREL1:50
.=
(
(
'not'
(
c
2
.
c
4
)
)
'or'
(
c
2
.
c
4
)
)
'or'
(
'not'
(
c
3
.
c
4
)
)
by
BINARITH:20
.=
TRUE
'or'
(
'not'
(
c
3
.
c
4
)
)
by
BINARITH:18
.=
TRUE
by
BINARITH:19
;
hence
(
c
2
'imp'
(
c
3
'imp'
(
c
2
'&'
c
3
)
)
)
.
c
4
=
TRUE
;
end;
hence
c
2
'imp'
(
c
3
'imp'
(
c
2
'&'
c
3
)
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:2
for b
1
being non
empty
set
for b
2
, b
3
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
b
2
'imp'
b
3
)
'imp'
(
(
b
3
'imp'
b
2
)
'imp'
(
b
2
'eqv'
b
3
)
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
c
2
'imp'
c
3
)
'imp'
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
)
.
b
1
=
TRUE
proof
let
c
4
be
Element
of c
1
;
(
(
c
2
'imp'
c
3
)
'imp'
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
)
.
c
4
=
(
'not'
(
(
c
2
'imp'
c
3
)
.
c
4
)
)
'or'
(
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
.
c
4
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
4
)
)
'or'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
.
c
4
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
4
)
)
'or'
(
c
3
.
c
4
)
)
)
'or'
(
(
'not'
(
(
c
3
'imp'
c
2
)
.
c
4
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
4
)
)
'or'
(
c
3
.
c
4
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
c
2
.
c
4
)
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
BVFUNC_1:def 11
.=
(
(
'not'
(
'not'
(
c
2
.
c
4
)
)
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
3
.
c
4
)
)
'or'
(
c
2
.
c
4
)
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
BINARITH:10
.=
(
(
'not'
(
'not'
(
c
2
.
c
4
)
)
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
'not'
(
'not'
(
c
3
.
c
4
)
)
)
'&'
(
'not'
(
c
2
.
c
4
)
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
BINARITH:10
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
'not'
(
'not'
(
c
3
.
c
4
)
)
)
'&'
(
'not'
(
c
2
.
c
4
)
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
MARGREL1:40
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
c
3
.
c
4
)
'&'
(
'not'
(
c
2
.
c
4
)
)
)
'or'
(
(
c
2
'eqv'
c
3
)
.
c
4
)
)
by
MARGREL1:40
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
c
3
.
c
4
)
'&'
(
'not'
(
c
2
.
c
4
)
)
)
'or'
(
'not'
(
(
c
2
.
c
4
)
'xor'
(
c
3
.
c
4
)
)
)
)
by
BVFUNC_1:def 12
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
c
3
.
c
4
)
'&'
(
'not'
(
c
2
.
c
4
)
)
)
'or'
(
'not'
(
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
'or'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
)
)
by
BINARITH:def 2
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
'or'
(
(
'not'
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
)
'&'
(
'not'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
)
)
by
BINARITH:10
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
'or'
(
'not'
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
)
)
'&'
(
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
'or'
(
'not'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
)
)
by
BINARITH:23
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
TRUE
'&'
(
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
'or'
(
'not'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
)
)
by
BINARITH:18
.=
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
(
'not'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
'or'
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
)
by
MARGREL1:50
.=
(
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
'or'
(
'not'
(
(
c
2
.
c
4
)
'&'
(
'not'
(
c
3
.
c
4
)
)
)
)
)
'or'
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
by
BINARITH:20
.=
TRUE
'or'
(
(
'not'
(
c
2
.
c
4
)
)
'&'
(
c
3
.
c
4
)
)
by
BINARITH:18
.=
TRUE
by
BINARITH:19
;
hence
(
(
c
2
'imp'
c
3
)
'imp'
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
)
.
c
4
=
TRUE
;
end;
hence
(
c
2
'imp'
c
3
)
'imp'
(
(
c
3
'imp'
c
2
)
'imp'
(
c
2
'eqv'
c
3
)
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:3
for b
1
being non
empty
set
for b
2
, b
3
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
b
2
'or'
b
3
)
'eqv'
(
b
3
'or'
b
2
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
c
2
'or'
c
3
)
'eqv'
(
c
3
'or'
c
2
)
)
.
b
1
=
TRUE
proof
let
c
4
be
Element
of c
1
;
(
(
c
2
'or'
c
3
)
'eqv'
(
c
3
'or'
c
2
)
)
.
c
4
=
'not'
(
(
(
c
2
'or'
c
3
)
.
c
4
)
'xor'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
by
BVFUNC_1:def 12
.=
'not'
(
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
'&'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
'or'
(
(
(
c
2
'or'
c
3
)
.
c
4
)
'&'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
)
by
BINARITH:def 2
.=
(
'not'
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
'&'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
'&'
(
'not'
(
(
(
c
2
'or'
c
3
)
.
c
4
)
'&'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
)
by
BINARITH:10
.=
(
(
'not'
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
)
'or'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
'&'
(
'not'
(
(
(
c
2
'or'
c
3
)
.
c
4
)
'&'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
)
by
BINARITH:9
.=
(
(
'not'
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
)
'or'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
'&'
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
'or'
(
'not'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
)
by
BINARITH:9
.=
(
(
(
c
2
'or'
c
3
)
.
c
4
)
'or'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
'&'
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
'or'
(
'not'
(
'not'
(
(
c
3
'or'
c
2
)
.
c
4
)
)
)
)
by
MARGREL1:40
.=
TRUE
'&'
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
'or'
(
(
c
2
'or'
c
3
)
.
c
4
)
)
by
BINARITH:18
.=
TRUE
'&'
TRUE
by
BINARITH:18
.=
TRUE
by
MARGREL1:45
;
hence
(
(
c
2
'or'
c
3
)
'eqv'
(
c
3
'or'
c
2
)
)
.
c
4
=
TRUE
;
end;
hence
(
c
2
'or'
c
3
)
'eqv'
(
c
3
'or'
c
2
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:4
for b
1
being non
empty
set
for b
2
, b
3
, b
4
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
(
b
2
'&'
b
3
)
'imp'
b
4
)
'imp'
(
b
2
'imp'
(
b
3
'imp'
b
4
)
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
, c
4
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
'imp'
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
)
.
b
1
=
TRUE
proof
let
c
5
be
Element
of c
1
;
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
'imp'
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
)
.
c
5
=
(
'not'
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
.
c
5
)
)
'or'
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
'&'
c
3
)
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
VALUAT_1:def 6
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
c
3
'imp'
c
4
)
.
c
5
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
by
BINARITH:9
.=
(
'not'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
by
BINARITH:20
.=
TRUE
by
BINARITH:18
;
hence
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
'imp'
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
)
.
c
5
=
TRUE
;
end;
hence
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
'imp'
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:5
for b
1
being non
empty
set
for b
2
, b
3
, b
4
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
b
2
'imp'
(
b
3
'imp'
b
4
)
)
'imp'
(
(
b
2
'&'
b
3
)
'imp'
b
4
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
, c
4
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
'imp'
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
)
.
b
1
=
TRUE
proof
let
c
5
be
Element
of c
1
;
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
'imp'
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
)
.
c
5
=
(
'not'
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
.
c
5
)
)
'or'
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
c
3
'imp'
c
4
)
.
c
5
)
)
)
'or'
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
)
'or'
(
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
)
'or'
(
(
'not'
(
(
c
2
'&'
c
3
)
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
)
'or'
(
(
'not'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
by
VALUAT_1:def 6
.=
(
'not'
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
(
'not'
(
c
3
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
by
BINARITH:9
.=
(
'not'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
by
BINARITH:20
.=
TRUE
by
BINARITH:18
;
hence
(
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
'imp'
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
)
.
c
5
=
TRUE
;
end;
hence
(
c
2
'imp'
(
c
3
'imp'
c
4
)
)
'imp'
(
(
c
2
'&'
c
3
)
'imp'
c
4
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:6
for b
1
being non
empty
set
for b
2
, b
3
, b
4
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
b
4
'imp'
b
2
)
'imp'
(
(
b
4
'imp'
b
3
)
'imp'
(
b
4
'imp'
(
b
2
'&'
b
3
)
)
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
, c
4
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
c
4
'imp'
c
2
)
'imp'
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
)
.
b
1
=
TRUE
proof
let
c
5
be
Element
of c
1
;
(
(
c
4
'imp'
c
2
)
'imp'
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
)
.
c
5
=
(
'not'
(
(
c
4
'imp'
c
2
)
.
c
5
)
)
'or'
(
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
(
c
4
'imp'
c
3
)
.
c
5
)
)
'or'
(
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
.
c
5
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
.
c
5
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
'&'
c
3
)
.
c
5
)
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
)
by
VALUAT_1:def 6
.=
(
(
'not'
(
'not'
(
c
4
.
c
5
)
)
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
)
by
BINARITH:10
.=
(
(
'not'
(
'not'
(
c
4
.
c
5
)
)
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
'not'
(
'not'
(
c
4
.
c
5
)
)
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
)
by
BINARITH:10
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
'not'
(
'not'
(
c
4
.
c
5
)
)
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
)
by
MARGREL1:40
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
(
c
2
.
c
5
)
'&'
(
c
3
.
c
5
)
)
)
)
by
MARGREL1:40
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
'&'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
)
by
BINARITH:23
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'&'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
3
.
c
5
)
)
)
)
by
BINARITH:23
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'&'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
'not'
(
'not'
(
c
3
.
c
5
)
)
)
)
)
)
by
MARGREL1:40
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'&'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
'not'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
)
)
)
by
BINARITH:9
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
TRUE
'&'
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
)
by
BINARITH:18
.=
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
'or'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
)
by
MARGREL1:50
.=
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
c
2
.
c
5
)
)
)
'or'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
by
BINARITH:20
.=
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
(
'not'
(
c
4
.
c
5
)
)
'or'
(
'not'
(
'not'
(
c
2
.
c
5
)
)
)
)
)
'or'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
by
MARGREL1:40
.=
(
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
'or'
(
'not'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
2
.
c
5
)
)
)
)
)
'or'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
by
BINARITH:9
.=
TRUE
'or'
(
(
c
4
.
c
5
)
'&'
(
'not'
(
c
3
.
c
5
)
)
)
by
BINARITH:18
.=
TRUE
by
BINARITH:19
;
hence
(
(
c
4
'imp'
c
2
)
'imp'
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
)
.
c
5
=
TRUE
;
end;
hence
(
c
4
'imp'
c
2
)
'imp'
(
(
c
4
'imp'
c
3
)
'imp'
(
c
4
'imp'
(
c
2
'&'
c
3
)
)
)
=
I_el
c
1
by
BVFUNC_1:def 14
;
end;
theorem
:: BVFUNC_6:7
for b
1
being non
empty
set
for b
2
, b
3
, b
4
being
Element
of
Funcs
b
1
,
BOOLEAN
holds
(
(
b
2
'or'
b
3
)
'imp'
b
4
)
'imp'
(
(
b
2
'imp'
b
4
)
'or'
(
b
3
'imp'
b
4
)
)
=
I_el
b
1
proof
let
c
1
be non
empty
set
;
let
c
2
, c
3
, c
4
be
Element
of
Funcs
c
1
,
BOOLEAN
;
for b
1
being
Element
of c
1
holds
(
(
(
c
2
'or'
c
3
)
'imp'
c
4
)
'imp'
(
(
c
2
'imp'
c
4
)
'or'
(
c
3
'imp'
c
4
)
)
)
.
b
1
=
TRUE
proof
let
c
5
be
Element
of c
1
;
(
(
(
c
2
'or'
c
3
)
'imp'
c
4
)
'imp'
(
(
c
2
'imp'
c
4
)
'or'
(
c
3
'imp'
c
4
)
)
)
.
c
5
=
(
'not'
(
(
(
c
2
'or'
c
3
)
'imp'
c
4
)
.
c
5
)
)
'or'
(
(
(
c
2
'imp'
c
4
)
'or'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
'or'
c
3
)
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
c
2
'imp'
c
4
)
'or'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
c
2
'imp'
c
4
)
'or'
(
c
3
'imp'
c
4
)
)
.
c
5
)
by
BVFUNC_1:def 7
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
c
2
'imp'
c
4
)
.
c
5
)
'or'
(
(
c
3
'imp'
c
4
)
.
c
5
)
)
by
BVFUNC_1:def 7
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
'or'
(
(
c
3
'imp'
c
4
)
.
c
5
)
)
by
BVFUNC_1:def 11
.=
(
'not'
(
(
'not'
(
(
c
2
.
c
5
)
'or'
(
c
3
.
c
5
)
)
)
'or'
(
c
4
.
c
5
)
)
)
'or'
(
(
(
'not'
(
c
2
.
c
5
)
)
'or'
(
c
4
.
c
5
)
)
'or'
(
(
'n