begin
definition
let x0,
x1,
y0,
y1 be ( ( ) ( )
set ) ;
func MULT212 (
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD2 (
{} : ( ( ) (
empty )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT213 (
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
CARR2 (
{} : ( ( ) (
empty )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
end;
theorem
for
x0,
x1,
y0,
y1,
z0,
z1,
z2,
z3,
q00,
q01,
c01,
q11,
c11 being ( ( ) ( )
set ) holds
not ( ( not
q00 : ( ( ) ( )
set ) is
empty implies not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
c01 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c01 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
c11 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c11 : ( ( ) ( )
set ) is
empty ) & ( not
z0 : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q00 : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
c11 : ( ( ) ( )
set ) is
empty ) & ( not
c11 : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & not ( ( not
z0 : ( ( ) ( )
set ) is
empty implies not
MULT210 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT210 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
MULT211 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT211 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
MULT212 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT212 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
MULT213 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT213 (
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) ) ) ;
definition
let x0,
x1,
x2,
y0,
y1 be ( ( ) ( )
set ) ;
func MULT312 (
x2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD2 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT313 (
x2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD3 (
{} : ( ( ) (
empty )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT314 (
x2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
CARR3 (
{} : ( ( ) (
empty )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
end;
definition
let x0,
x1,
x2,
y0,
y1,
y2 be ( ( ) ( )
set ) ;
func MULT321 (
x2,
y2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD1 (
(MULT312 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT322 (
x2,
y2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD2 (
(MULT313 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(MULT312 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT323 (
x2,
y2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
ADD3 (
(MULT314 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(MULT313 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(MULT312 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
func MULT324 (
x2,
y2,
x1,
y1,
x0,
y0)
-> ( ( ) ( )
set )
equals
CARR3 (
(MULT314 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(MULT313 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(MULT312 (x2 : ( ( ) ( ) set ) ,x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) ,x0 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) ;
end;
theorem
for
x0,
x1,
x2,
y0,
y1,
y2,
z0,
z1,
z2,
z3,
z4,
z5,
q00,
q01,
q02,
c01,
c02,
q11,
q12,
c11,
c12,
q21,
q22,
c21,
c22 being ( ( ) ( )
set ) holds
not ( ( not
q00 : ( ( ) ( )
set ) is
empty implies not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
c01 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c01 : ( ( ) ( )
set ) is
empty ) & ( not
q02 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q02 : ( ( ) ( )
set ) is
empty ) & ( not
c02 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c02 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
q02 : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
q02 : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
c11 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
q02 : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
q02 : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c11 : ( ( ) ( )
set ) is
empty ) & ( not
q12 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q12 : ( ( ) ( )
set ) is
empty ) & ( not
c12 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c12 : ( ( ) ( )
set ) is
empty ) & ( not
q21 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
q12 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
q12 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q21 : ( ( ) ( )
set ) is
empty ) & ( not
c21 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
q12 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
q12 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c21 : ( ( ) ( )
set ) is
empty ) & ( not
q22 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c21 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c21 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q22 : ( ( ) ( )
set ) is
empty ) & ( not
c22 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c21 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c21 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c22 : ( ( ) ( )
set ) is
empty ) & ( not
z0 : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q00 : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
q21 : ( ( ) ( )
set ) is
empty ) & ( not
q21 : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
q22 : ( ( ) ( )
set ) is
empty ) & ( not
q22 : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
c22 : ( ( ) ( )
set ) is
empty ) & ( not
c22 : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) & not ( ( not
z0 : ( ( ) ( )
set ) is
empty implies not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) ) ) ;
begin
theorem
for
x0,
x1,
x2,
y0,
y1,
y2,
z0,
z1,
z2,
z3,
z4,
z5,
q00,
q01,
q02,
q03,
c01,
c02,
c03,
q11,
q12,
q13,
c11,
c12,
c13 being ( ( ) ( )
set ) holds
not ( ( not
q00 : ( ( ) ( )
set ) is
empty implies not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
c01 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c01 : ( ( ) ( )
set ) is
empty ) & ( not
q02 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q02 : ( ( ) ( )
set ) is
empty ) & ( not
c02 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c02 : ( ( ) ( )
set ) is
empty ) & ( not
q03 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q03 : ( ( ) ( )
set ) is
empty ) & ( not
c03 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c03 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
c11 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c11 : ( ( ) ( )
set ) is
empty ) & ( not
q12 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q12 : ( ( ) ( )
set ) is
empty ) & ( not
c12 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
c11 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c12 : ( ( ) ( )
set ) is
empty ) & ( not
q13 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q13 : ( ( ) ( )
set ) is
empty ) & ( not
c13 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
c12 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c13 : ( ( ) ( )
set ) is
empty ) & ( not
z0 : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q00 : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
q11 : ( ( ) ( )
set ) is
empty ) & ( not
q11 : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
q12 : ( ( ) ( )
set ) is
empty ) & ( not
q12 : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
q13 : ( ( ) ( )
set ) is
empty ) & ( not
q13 : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
c13 : ( ( ) ( )
set ) is
empty ) & ( not
c13 : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) & not ( ( not
z0 : ( ( ) ( )
set ) is
empty implies not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) ) ) ;
notation
let a1,
b1,
c be ( ( ) ( )
set ) ;
synonym CLAADD1 (
a1,
b1,
c)
for XOR3 (
a1,
b1,
c);
synonym CLACARR1 (
a1,
b1,
c)
for MAJ3 (
a1,
b1,
c);
end;
definition
let a1,
b1,
a2,
b2,
c be ( ( ) ( )
set ) ;
func CLAADD2 (
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
XOR3 (
a2 : ( ( ) ( )
set ) ,
b2 : ( ( ) ( )
set ) ,
(MAJ3 (a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
func CLACARR2 (
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
OR2 (
(AND2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 ((OR2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(MAJ3 (a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
end;
definition
let a1,
b1,
a2,
b2,
a3,
b3,
c be ( ( ) ( )
set ) ;
func CLAADD3 (
a3,
b3,
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
XOR3 (
a3 : ( ( ) ( )
set ) ,
b3 : ( ( ) ( )
set ) ,
(CLACARR2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) ,a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
func CLACARR3 (
a3,
b3,
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
OR3 (
(AND2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 ((OR2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(AND2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND3 ((OR2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(OR2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(MAJ3 (a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
end;
definition
let a1,
b1,
a2,
b2,
a3,
b3,
a4,
b4,
c be ( ( ) ( )
set ) ;
func CLAADD4 (
a4,
b4,
a3,
b3,
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
XOR3 (
a4 : ( ( ) ( )
set ) ,
b4 : ( ( ) ( )
set ) ,
(CLACARR3 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) ,a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) ,a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
func CLACARR4 (
a4,
b4,
a3,
b3,
a2,
b2,
a1,
b1,
c)
-> ( ( ) ( )
set )
equals
OR4 (
(AND2 (a4 : ( ( ) ( ) set ) ,b4 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 ((OR2 (a4 : ( ( ) ( ) set ) ,b4 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(AND2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND3 ((OR2 (a4 : ( ( ) ( ) set ) ,b4 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(OR2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(AND2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND4 ((OR2 (a4 : ( ( ) ( ) set ) ,b4 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(OR2 (a3 : ( ( ) ( ) set ) ,b3 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(OR2 (a2 : ( ( ) ( ) set ) ,b2 : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) ,(MAJ3 (a1 : ( ( ) ( ) set ) ,b1 : ( ( ) ( ) set ) ,c : ( ( ) ( ) set ) )) : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ;
end;
theorem
for
x0,
x1,
x2,
y0,
y1,
y2,
z0,
z1,
z2,
z3,
z4,
z5,
q00,
q01,
q02,
q03,
c01,
c02,
c03 being ( ( ) ( )
set ) holds
not ( ( not
q00 : ( ( ) ( )
set ) is
empty implies not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
AND2 (
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
c01 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x1 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c01 : ( ( ) ( )
set ) is
empty ) & ( not
q02 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q02 : ( ( ) ( )
set ) is
empty ) & ( not
c02 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y0 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x0 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c02 : ( ( ) ( )
set ) is
empty ) & ( not
q03 : ( ( ) ( )
set ) is
empty implies not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
XOR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
q03 : ( ( ) ( )
set ) is
empty ) & ( not
c03 : ( ( ) ( )
set ) is
empty implies not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MAJ3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y1 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
(AND2 (x1 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
c03 : ( ( ) ( )
set ) is
empty ) & ( not
z0 : ( ( ) ( )
set ) is
empty implies not
q00 : ( ( ) ( )
set ) is
empty ) & ( not
q00 : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
q01 : ( ( ) ( )
set ) is
empty ) & ( not
q01 : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
CLAADD1 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
CLAADD1 (
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
CLAADD2 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
CLAADD2 (
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
CLAADD3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
CLAADD3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
CLACARR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
CLACARR3 (
(AND2 (x2 : ( ( ) ( ) set ) ,y2 : ( ( ) ( ) set ) )) : ( ( ) ( )
set ) ,
c03 : ( ( ) ( )
set ) ,
q03 : ( ( ) ( )
set ) ,
c02 : ( ( ) ( )
set ) ,
q02 : ( ( ) ( )
set ) ,
c01 : ( ( ) ( )
set ) ,
{} : ( ( ) (
empty )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) & not ( ( not
z0 : ( ( ) ( )
set ) is
empty implies not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT310 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z0 : ( ( ) ( )
set ) is
empty ) & ( not
z1 : ( ( ) ( )
set ) is
empty implies not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT311 (
x2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z1 : ( ( ) ( )
set ) is
empty ) & ( not
z2 : ( ( ) ( )
set ) is
empty implies not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT321 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z2 : ( ( ) ( )
set ) is
empty ) & ( not
z3 : ( ( ) ( )
set ) is
empty implies not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT322 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z3 : ( ( ) ( )
set ) is
empty ) & ( not
z4 : ( ( ) ( )
set ) is
empty implies not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT323 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z4 : ( ( ) ( )
set ) is
empty ) & ( not
z5 : ( ( ) ( )
set ) is
empty implies not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty ) & ( not
MULT324 (
x2 : ( ( ) ( )
set ) ,
y2 : ( ( ) ( )
set ) ,
x1 : ( ( ) ( )
set ) ,
y1 : ( ( ) ( )
set ) ,
x0 : ( ( ) ( )
set ) ,
y0 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) is
empty implies not
z5 : ( ( ) ( )
set ) is
empty ) ) ) ;