begin
begin
definition
let L be ( ( non
empty ) ( non
empty )
LattStr ) ;
assume
L : ( ( non
empty ) ( non
empty )
LattStr ) is
upper-bounded'
;
func Top' L -> ( ( ) ( )
Element of ( ( ) ( )
set ) )
means
for
a being ( ( ) ( )
Element of ( ( ) ( )
set ) ) holds
(
it : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"/\" a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) &
a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) )
"/\" it : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) );
end;
definition
let L be ( ( non
empty ) ( non
empty )
LattStr ) ;
assume
L : ( ( non
empty ) ( non
empty )
LattStr ) is
lower-bounded'
;
func Bot' L -> ( ( ) ( )
Element of ( ( ) ( )
set ) )
means
for
a being ( ( ) ( )
Element of ( ( ) ( )
set ) ) holds
(
it : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"\/" a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) &
a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) )
"\/" it : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= a : ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) );
end;
definition
let L be ( ( non
empty ) ( non
empty )
LattStr ) ;
let a,
b be ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) ;
pred a is_a_complement'_of b means
(
b : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"\/" a : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= Top' L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
Element of ( ( ) ( )
set ) ) &
a : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"\/" b : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= Top' L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
Element of ( ( ) ( )
set ) ) &
b : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"/\" a : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= Bot' L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
Element of ( ( ) ( )
set ) ) &
a : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
"/\" b : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
M2( the
carrier of
L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
set ) ))
= Bot' L : ( ( ) ( )
OrthoLattStr ) : ( ( ) ( )
Element of ( ( ) ( )
set ) ) );
end;
definition
let L be ( ( non
empty ) ( non
empty )
LattStr ) ;
let x be ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) ;
assume
(
L : ( ( non
empty ) ( non
empty )
LattStr ) is
complemented' &
L : ( ( non
empty ) ( non
empty )
LattStr ) is
distributive &
L : ( ( non
empty ) ( non
empty )
LattStr ) is
upper-bounded' &
L : ( ( non
empty ) ( non
empty )
LattStr ) is
meet-commutative )
;
func x `# -> ( ( ) ( )
Element of ( ( ) ( )
set ) )
means
it : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
is_a_complement'_of x : ( (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) ) (
V6()
V18(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) )
M2(
K19(
K20(
K20(
L : ( ( ) ( )
OrthoLattStr ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ,
L : ( ( ) ( )
OrthoLattStr ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ;
end;
begin
definition
func TrivShefferOrthoLattStr -> ( ( ) ( )
ShefferOrthoLattStr )
equals
ShefferOrthoLattStr(# 1 : ( ( ) ( )
set ) ,
op2 : ( (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) ) (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) )
M2(
K19(
K20(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ,
op2 : ( (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) ) (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) )
M2(
K19(
K20(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ,
op1 : ( (
V6()
V18(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) ) (
V6()
V18(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) )
M2(
K19(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ,
op2 : ( (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) ) (
V6()
V18(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) )
M2(
K19(
K20(
K20(1 : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ,1 : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) #) : ( (
strict ) (
strict )
ShefferOrthoLattStr ) ;
end;
definition
let L be ( ( non
empty ) ( non
empty )
ShefferStr ) ;
let x,
y be ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) ;
func x | y -> ( ( ) ( )
Element of ( ( ) ( )
set ) )
equals
the
stroke of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( (
V6()
V18(
K20( the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) , the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) , the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) ) ) (
V6()
V18(
K20( the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) , the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) , the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) ) )
BinOp of the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) )
. (
x : ( (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) ) (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) )
M2(
K19(
K20(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ,
y : ( (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) ) (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) )
M2(
K19(
K20(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) ) : ( ( ) ( )
M2( the
carrier of
L : ( (
cardinal ) (
V26()
cardinal )
set ) : ( ( ) ( )
set ) )) ;
end;
definition
let L be ( ( non
empty ) ( non
empty )
ShefferStr ) ;
let a be ( ( ) ( )
Element of ( ( ) ( non
empty )
set ) ) ;
func a " -> ( ( ) ( )
Element of ( ( ) ( )
set ) )
equals
a : ( (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) ) (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) )
M2(
K19(
K20(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) ))
| a : ( (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) ) (
V6()
V18(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) )
M2(
K19(
K20(
K20(
L : ( (
cardinal ) (
V26()
cardinal )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ,
L : ( (
cardinal ) (
V26()
cardinal )
set ) ) : ( ( ) ( )
set ) ) : ( ( ) ( )
set ) )) : ( ( ) ( )
Element of ( ( ) ( )
set ) ) ;
end;