:: Propositional Calculus For Boolean Valued Functions, IV
:: by Shunichi Kobayashi
::
:: Received April 23, 1999
:: Copyright (c) 1999-2011 Association of Mizar Users
begin
theorem
:: BVFUNC_8:1
for
Y
being non
empty
set
for
a
,
b
,
c
,
d
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'imp'
(
(
b
'&'
c
)
'&'
d
)
=
(
(
a
'imp'
b
)
'&'
(
a
'imp'
c
)
)
'&'
(
a
'imp'
d
)
proof
end;
theorem
:: BVFUNC_8:2
for
Y
being non
empty
set
for
a
,
b
,
c
,
d
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'imp'
(
(
b
'or'
c
)
'or'
d
)
=
(
(
a
'imp'
b
)
'or'
(
a
'imp'
c
)
)
'or'
(
a
'imp'
d
)
proof
end;
theorem
:: BVFUNC_8:3
for
Y
being non
empty
set
for
a
,
b
,
c
,
d
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
(
a
'&'
b
)
'&'
c
)
'imp'
d
=
(
(
a
'imp'
d
)
'or'
(
b
'imp'
d
)
)
'or'
(
c
'imp'
d
)
proof
end;
theorem
:: BVFUNC_8:4
for
Y
being non
empty
set
for
a
,
b
,
c
,
d
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
(
a
'or'
b
)
'or'
c
)
'imp'
d
=
(
(
a
'imp'
d
)
'&'
(
b
'imp'
d
)
)
'&'
(
c
'imp'
d
)
proof
end;
theorem
:: BVFUNC_8:5
for
Y
being non
empty
set
for
a
,
b
,
c
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
(
a
'imp'
b
)
'&'
(
b
'imp'
c
)
)
'&'
(
c
'imp'
a
)
=
(
(
(
(
a
'imp'
b
)
'&'
(
b
'imp'
c
)
)
'&'
(
c
'imp'
a
)
)
'&'
(
b
'imp'
a
)
)
'&'
(
a
'imp'
c
)
proof
end;
theorem
:: BVFUNC_8:6
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
=
(
a
'&'
b
)
'or'
(
a
'&'
(
'not'
b
)
)
proof
end;
theorem
:: BVFUNC_8:7
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
=
(
a
'or'
b
)
'&'
(
a
'or'
(
'not'
b
)
)
proof
end;
theorem
:: BVFUNC_8:8
for
Y
being non
empty
set
for
a
,
b
,
c
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
=
(
(
(
(
a
'&'
b
)
'&'
c
)
'or'
(
(
a
'&'
b
)
'&'
(
'not'
c
)
)
)
'or'
(
(
a
'&'
(
'not'
b
)
)
'&'
c
)
)
'or'
(
(
a
'&'
(
'not'
b
)
)
'&'
(
'not'
c
)
)
proof
end;
theorem
:: BVFUNC_8:9
for
Y
being non
empty
set
for
a
,
b
,
c
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
=
(
(
(
(
a
'or'
b
)
'or'
c
)
'&'
(
(
a
'or'
b
)
'or'
(
'not'
c
)
)
)
'&'
(
(
a
'or'
(
'not'
b
)
)
'or'
c
)
)
'&'
(
(
a
'or'
(
'not'
b
)
)
'or'
(
'not'
c
)
)
proof
end;
theorem
:: BVFUNC_8:10
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'&'
b
=
a
'&'
(
(
'not'
a
)
'or'
b
)
proof
end;
theorem
:: BVFUNC_8:11
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'or'
b
=
a
'or'
(
(
'not'
a
)
'&'
b
)
proof
end;
theorem
:: BVFUNC_8:12
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'xor'
b
=
'not'
(
a
'eqv'
b
)
proof
end;
theorem
:: BVFUNC_8:13
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'xor'
b
=
(
a
'or'
b
)
'&'
(
(
'not'
a
)
'or'
(
'not'
b
)
)
proof
end;
theorem
:: BVFUNC_8:14
for
Y
being non
empty
set
for
a
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'xor'
(
I_el
Y
)
=
'not'
a
proof
end;
theorem
:: BVFUNC_8:15
for
Y
being non
empty
set
for
a
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'xor'
(
O_el
Y
)
=
a
proof
end;
theorem
:: BVFUNC_8:16
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'xor'
b
=
(
'not'
a
)
'xor'
(
'not'
b
)
proof
end;
theorem
:: BVFUNC_8:17
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
'not'
(
a
'xor'
b
)
=
a
'xor'
(
'not'
b
)
proof
end;
theorem
Th18
:
:: BVFUNC_8:18
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'eqv'
b
=
(
a
'or'
(
'not'
b
)
)
'&'
(
(
'not'
a
)
'or'
b
)
proof
end;
theorem
:: BVFUNC_8:19
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'eqv'
b
=
(
a
'&'
b
)
'or'
(
(
'not'
a
)
'&'
(
'not'
b
)
)
proof
end;
theorem
:: BVFUNC_8:20
for
Y
being non
empty
set
for
a
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'eqv'
(
I_el
Y
)
=
a
proof
end;
theorem
:: BVFUNC_8:21
for
Y
being non
empty
set
for
a
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'eqv'
(
O_el
Y
)
=
'not'
a
proof
end;
theorem
:: BVFUNC_8:22
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
'not'
(
a
'eqv'
b
)
=
a
'eqv'
(
'not'
b
)
proof
end;
theorem
:: BVFUNC_8:23
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
'not'
a
'<'
(
a
'imp'
b
)
'eqv'
(
'not'
a
)
proof
end;
theorem
:: BVFUNC_8:24
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
'not'
a
'<'
(
b
'imp'
a
)
'eqv'
(
'not'
b
)
proof
end;
theorem
:: BVFUNC_8:25
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'<'
(
(
a
'or'
b
)
'eqv'
(
b
'or'
a
)
)
'eqv'
a
proof
end;
theorem
:: BVFUNC_8:26
for
Y
being non
empty
set
for
a
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
a
'imp'
(
(
'not'
a
)
'eqv'
(
'not'
a
)
)
=
I_el
Y
proof
end;
theorem
:: BVFUNC_8:27
for
Y
being non
empty
set
for
a
,
b
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
(
a
'imp'
b
)
'imp'
a
)
'imp'
a
=
I_el
Y
proof
end;
theorem
:: BVFUNC_8:28
for
Y
being non
empty
set
for
a
,
b
,
c
,
d
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
(
(
a
'imp'
c
)
'&'
(
b
'imp'
d
)
)
'&'
(
(
'not'
c
)
'or'
(
'not'
d
)
)
)
'imp'
(
(
'not'
a
)
'or'
(
'not'
b
)
)
=
I_el
Y
proof
end;
theorem
:: BVFUNC_8:29
for
Y
being non
empty
set
for
a
,
b
,
c
being
Element
of
Funcs
(
Y
,
BOOLEAN
) holds
(
a
'imp'
b
)
'imp'
(
(
a
'imp'
(
b
'imp'
c
)
)
'imp'
(
a
'imp'
c
)
)
=
I_el
Y
proof
end;