normform.miz
begin
reserve A,B for non
empty
preBoolean
set,
x,y for
Element of
[:A, B:];
definition
let A, B, x, y;
::
NORMFORM:def1
pred x
c= y means (x
`1 )
c= (y
`1 ) & (x
`2 )
c= (y
`2 );
reflexivity ;
::
NORMFORM:def2
func x
\/ y ->
Element of
[:A, B:] equals
[((x
`1 )
\/ (y
`1 )), ((x
`2 )
\/ (y
`2 ))];
correctness ;
commutativity ;
idempotence by
MCART_1: 21;
::
NORMFORM:def3
func x
/\ y ->
Element of
[:A, B:] equals
[((x
`1 )
/\ (y
`1 )), ((x
`2 )
/\ (y
`2 ))];
correctness ;
commutativity ;
idempotence by
MCART_1: 21;
::
NORMFORM:def4
func x
\ y ->
Element of
[:A, B:] equals
[((x
`1 )
\ (y
`1 )), ((x
`2 )
\ (y
`2 ))];
correctness ;
::
NORMFORM:def5
func x
\+\ y ->
Element of
[:A, B:] equals
[((x
`1 )
\+\ (y
`1 )), ((x
`2 )
\+\ (y
`2 ))];
correctness ;
commutativity ;
end
reserve X for
set,
a,b,c for
Element of
[:A, B:];
theorem ::
NORMFORM:1
Th1: a
c= b & b
c= a implies a
= b
proof
assume (a
`1 )
c= (b
`1 ) & (a
`2 )
c= (b
`2 ) & (b
`1 )
c= (a
`1 ) & (b
`2 )
c= (a
`2 );
then (a
`1 )
= (b
`1 ) & (a
`2 )
= (b
`2 );
hence thesis by
DOMAIN_1: 2;
end;
theorem ::
NORMFORM:2
Th2: a
c= b & b
c= c implies a
c= c
proof
assume (a
`1 )
c= (b
`1 ) & (a
`2 )
c= (b
`2 ) & (b
`1 )
c= (c
`1 ) & (b
`2 )
c= (c
`2 );
hence (a
`1 )
c= (c
`1 ) & (a
`2 )
c= (c
`2 );
end;
theorem ::
NORMFORM:3
Th3: ((a
\/ b)
\/ c)
= (a
\/ (b
\/ c))
proof
A1: (((a
\/ b)
\/ c)
`2 )
= (((a
\/ b)
`2 )
\/ (c
`2 ))
.= (((a
`2 )
\/ (b
`2 ))
\/ (c
`2 ))
.= ((a
`2 )
\/ ((b
`2 )
\/ (c
`2 ))) by
XBOOLE_1: 4
.= ((a
`2 )
\/ ((b
\/ c)
`2 ))
.= ((a
\/ (b
\/ c))
`2 );
(((a
\/ b)
\/ c)
`1 )
= (((a
\/ b)
`1 )
\/ (c
`1 ))
.= (((a
`1 )
\/ (b
`1 ))
\/ (c
`1 ))
.= ((a
`1 )
\/ ((b
`1 )
\/ (c
`1 ))) by
XBOOLE_1: 4
.= ((a
`1 )
\/ ((b
\/ c)
`1 ))
.= ((a
\/ (b
\/ c))
`1 );
hence thesis by
A1,
DOMAIN_1: 2;
end;
theorem ::
NORMFORM:4
((a
/\ b)
/\ c)
= (a
/\ (b
/\ c))
proof
A1: (((a
/\ b)
/\ c)
`2 )
= (((a
/\ b)
`2 )
/\ (c
`2 ))
.= (((a
`2 )
/\ (b
`2 ))
/\ (c
`2 ))
.= ((a
`2 )
/\ ((b
`2 )
/\ (c
`2 ))) by
XBOOLE_1: 16
.= ((a
`2 )
/\ ((b
/\ c)
`2 ))
.= ((a
/\ (b
/\ c))
`2 );
(((a
/\ b)
/\ c)
`1 )
= (((a
/\ b)
`1 )
/\ (c
`1 ))
.= (((a
`1 )
/\ (b
`1 ))
/\ (c
`1 ))
.= ((a
`1 )
/\ ((b
`1 )
/\ (c
`1 ))) by
XBOOLE_1: 16
.= ((a
`1 )
/\ ((b
/\ c)
`1 ))
.= ((a
/\ (b
/\ c))
`1 );
hence thesis by
A1,
DOMAIN_1: 2;
end;
theorem ::
NORMFORM:5
Th5: (a
/\ (b
\/ c))
= ((a
/\ b)
\/ (a
/\ c))
proof
A1: ((a
/\ (b
\/ c))
`2 )
= ((a
`2 )
/\ ((b
\/ c)
`2 ))
.= ((a
`2 )
/\ ((b
`2 )
\/ (c
`2 )))
.= (((a
`2 )
/\ (b
`2 ))
\/ ((a
`2 )
/\ (c
`2 ))) by
XBOOLE_1: 23
.= (((a
`2 )
/\ (b
`2 ))
\/ ((a
/\ c)
`2 ))
.= (((a
/\ b)
`2 )
\/ ((a
/\ c)
`2 ))
.= (((a
/\ b)
\/ (a
/\ c))
`2 );
((a
/\ (b
\/ c))
`1 )
= ((a
`1 )
/\ ((b
\/ c)
`1 ))
.= ((a
`1 )
/\ ((b
`1 )
\/ (c
`1 )))
.= (((a
`1 )
/\ (b
`1 ))
\/ ((a
`1 )
/\ (c
`1 ))) by
XBOOLE_1: 23
.= (((a
`1 )
/\ (b
`1 ))
\/ ((a
/\ c)
`1 ))
.= (((a
/\ b)
`1 )
\/ ((a
/\ c)
`1 ))
.= (((a
/\ b)
\/ (a
/\ c))
`1 );
hence thesis by
A1,
DOMAIN_1: 2;
end;
theorem ::
NORMFORM:6
Th6: (a
\/ (b
/\ a))
= a
proof
A1: ((a
\/ (b
/\ a))
`2 )
= ((a
`2 )
\/ ((b
/\ a)
`2 ))
.= ((a
`2 )
\/ ((b
`2 )
/\ (a
`2 )))
.= (a
`2 ) by
XBOOLE_1: 22;
((a
\/ (b
/\ a))
`1 )
= ((a
`1 )
\/ ((b
/\ a)
`1 ))
.= ((a
`1 )
\/ ((b
`1 )
/\ (a
`1 )))
.= (a
`1 ) by
XBOOLE_1: 22;
hence thesis by
A1,
DOMAIN_1: 2;
end;
theorem ::
NORMFORM:7
Th7: (a
/\ (b
\/ a))
= a
proof
thus (a
/\ (b
\/ a))
= ((a
/\ b)
\/ (a
/\ a)) by
Th5
.= a by
Th6;
end;
theorem ::
NORMFORM:8
(a
\/ (b
/\ c))
= ((a
\/ b)
/\ (a
\/ c))
proof
thus (a
\/ (b
/\ c))
= ((a
\/ (c
/\ a))
\/ (c
/\ b)) by
Th6
.= (a
\/ ((c
/\ a)
\/ (c
/\ b))) by
Th3
.= (a
\/ (c
/\ (a
\/ b))) by
Th5
.= (((a
\/ b)
/\ a)
\/ ((a
\/ b)
/\ c)) by
Th7
.= ((a
\/ b)
/\ (a
\/ c)) by
Th5;
end;
theorem ::
NORMFORM:9
Th9: a
c= c & b
c= c implies (a
\/ b)
c= c by
XBOOLE_1: 8;
theorem ::
NORMFORM:10
Th10: a
c= (a
\/ b) & b
c= (a
\/ b) by
XBOOLE_1: 7;
theorem ::
NORMFORM:11
a
= (a
\/ b) implies b
c= a by
Th10;
theorem ::
NORMFORM:12
Th12: a
c= b implies (c
\/ a)
c= (c
\/ b) & (a
\/ c)
c= (b
\/ c) by
XBOOLE_1: 9;
theorem ::
NORMFORM:13
((a
\ b)
\/ b)
= (a
\/ b)
proof
(((a
`1 )
\ (b
`1 ))
\/ (b
`1 ))
= ((a
`1 )
\/ (b
`1 )) & (((a
`2 )
\ (b
`2 ))
\/ (b
`2 ))
= ((a
`2 )
\/ (b
`2 )) by
XBOOLE_1: 39;
hence thesis;
end;
theorem ::
NORMFORM:14
(a
\ b)
c= c implies a
c= (b
\/ c) by
XBOOLE_1: 44;
theorem ::
NORMFORM:15
a
c= (b
\/ c) implies (a
\ c)
c= b by
XBOOLE_1: 43;
reserve a for
Element of
[:(
Fin X), (
Fin X):];
definition
let A be
set;
::
NORMFORM:def6
func
FinPairUnion A ->
BinOp of
[:(
Fin A), (
Fin A):] means
:
Def6: for x,y be
Element of
[:(
Fin A), (
Fin A):] holds (it
. (x,y))
= (x
\/ y);
existence
proof
deffunc
O(
Element of
[:(
Fin A), (
Fin A):],
Element of
[:(
Fin A), (
Fin A):]) = ($1
\/ $2);
ex IT be
BinOp of
[:(
Fin A), (
Fin A):] st for x,y be
Element of
[:(
Fin A), (
Fin A):] holds (IT
. (x,y))
=
O(x,y) from
BINOP_1:sch 4;
hence thesis;
end;
uniqueness
proof
let IT,IT9 be
BinOp of
[:(
Fin A), (
Fin A):] such that
A1: for x,y be
Element of
[:(
Fin A), (
Fin A):] holds (IT
. (x,y))
= (x
\/ y) and
A2: for x,y be
Element of
[:(
Fin A), (
Fin A):] holds (IT9
. (x,y))
= (x
\/ y);
now
let x,y be
Element of
[:(
Fin A), (
Fin A):];
thus (IT
. (x,y))
= (x
\/ y) by
A1
.= (IT9
. (x,y)) by
A2;
end;
hence IT
= IT9;
end;
end
reserve A for
set;
definition
let X be non
empty
set, A be
set;
let B be
Element of (
Fin X);
let f be
Function of X,
[:(
Fin A), (
Fin A):];
::
NORMFORM:def7
func
FinPairUnion (B,f) ->
Element of
[:(
Fin A), (
Fin A):] equals ((
FinPairUnion A)
$$ (B,f));
correctness ;
end
Lm1: (
FinPairUnion A) is
idempotent
proof
let a be
Element of
[:(
Fin A), (
Fin A):];
thus ((
FinPairUnion A)
. (a,a))
= (a
\/ a) by
Def6
.= a;
end;
Lm2: (
FinPairUnion A) is
commutative
proof
let a,b be
Element of
[:(
Fin A), (
Fin A):];
thus ((
FinPairUnion A)
. (a,b))
= (b
\/ a) by
Def6
.= ((
FinPairUnion A)
. (b,a)) by
Def6;
end;
Lm3: (
FinPairUnion A) is
associative
proof
let a,b,c be
Element of
[:(
Fin A), (
Fin A):];
thus ((
FinPairUnion A)
. (a,((
FinPairUnion A)
. (b,c))))
= (a
\/ ((
FinPairUnion A)
. (b,c))) by
Def6
.= (a
\/ (b
\/ c)) by
Def6
.= ((a
\/ b)
\/ c) by
Th3
.= (((
FinPairUnion A)
. (a,b))
\/ c) by
Def6
.= ((
FinPairUnion A)
. (((
FinPairUnion A)
. (a,b)),c)) by
Def6;
end;
registration
let A be
set;
cluster (
FinPairUnion A) ->
commutative
idempotent
associative;
coherence by
Lm1,
Lm2,
Lm3;
end
theorem ::
NORMFORM:16
for X be non
empty
set holds for f be
Function of X,
[:(
Fin A), (
Fin A):] holds for B be
Element of (
Fin X) holds for x be
Element of X st x
in B holds (f
. x)
c= (
FinPairUnion (B,f))
proof
let X be non
empty
set, f be
Function of X,
[:(
Fin A), (
Fin A):];
let B be
Element of (
Fin X), x be
Element of X;
assume
A1: x
in B;
then ((
FinPairUnion A)
$$ (B,f))
= ((
FinPairUnion A)
$$ ((B
\/
{.x.}),f)) by
ZFMISC_1: 40
.= ((
FinPairUnion A)
. (((
FinPairUnion A)
$$ (B,f)),(f
. x))) by
A1,
SETWISEO: 20
.= (((
FinPairUnion A)
$$ (B,f))
\/ (f
. x)) by
Def6;
hence thesis by
Th10;
end;
theorem ::
NORMFORM:17
Th17:
[(
{}. A), (
{}. A)]
is_a_unity_wrt (
FinPairUnion A)
proof
now
let x be
Element of
[:(
Fin A), (
Fin A):];
thus ((
FinPairUnion A)
. (
[(
{}. A), (
{}. A)],x))
= (
[(
{}. A), (
{}. A)]
\/ x) by
Def6
.= x by
MCART_1: 21;
end;
hence thesis by
BINOP_1: 4;
end;
theorem ::
NORMFORM:18
Th18: (
FinPairUnion A) is
having_a_unity
proof
[(
{}. A), (
{}. A)]
is_a_unity_wrt (
FinPairUnion A) by
Th17;
hence thesis by
SETWISEO:def 2;
end;
theorem ::
NORMFORM:19
Th19: (
the_unity_wrt (
FinPairUnion A))
=
[(
{}. A), (
{}. A)]
proof
[(
{}. A), (
{}. A)]
is_a_unity_wrt (
FinPairUnion A) by
Th17;
hence thesis by
BINOP_1:def 8;
end;
theorem ::
NORMFORM:20
Th20: for x be
Element of
[:(
Fin A), (
Fin A):] holds (
the_unity_wrt (
FinPairUnion A))
c= x
proof
let x be
Element of
[:(
Fin A), (
Fin A):];
[(
{}. A), (
{}. A)]
is_a_unity_wrt (
FinPairUnion A) by
Th17;
then (
the_unity_wrt (
FinPairUnion A))
=
[
{} ,
{} ] by
BINOP_1:def 8;
then ((
the_unity_wrt (
FinPairUnion A))
`1 )
=
{} & ((
the_unity_wrt (
FinPairUnion A))
`2 )
=
{} ;
hence ((
the_unity_wrt (
FinPairUnion A))
`1 )
c= (x
`1 ) & ((
the_unity_wrt (
FinPairUnion A))
`2 )
c= (x
`2 );
end;
theorem ::
NORMFORM:21
for X be non
empty
set holds for f be
Function of X,
[:(
Fin A), (
Fin A):], B be
Element of (
Fin X) holds for c be
Element of
[:(
Fin A), (
Fin A):] st for x be
Element of X st x
in B holds (f
. x)
c= c holds (
FinPairUnion (B,f))
c= c
proof
let X be non
empty
set, f be
Function of X,
[:(
Fin A), (
Fin A):];
let B be
Element of (
Fin X), c be
Element of
[:(
Fin A), (
Fin A):];
defpred
P[
Element of (
Fin X)] means $1
c= B implies ((
FinPairUnion A)
$$ ($1,f))
c= c;
assume
A1: for x be
Element of X st x
in B holds (f
. x)
c= c;
A2:
now
let C be
Element of (
Fin X), b be
Element of X;
assume
A3:
P[C];
now
assume
A4: (C
\/
{b})
c= B;
then
{b}
c= B by
XBOOLE_1: 11;
then b
in B by
ZFMISC_1: 31;
then
A5: (f
. b)
c= c by
A1;
((
FinPairUnion A)
$$ ((C
\/
{.b.}),f))
= ((
FinPairUnion A)
. (((
FinPairUnion A)
$$ (C,f)),(f
. b))) by
Th18,
SETWISEO: 32
.= (((
FinPairUnion A)
$$ (C,f))
\/ (f
. b)) by
Def6;
hence ((
FinPairUnion A)
$$ ((C
\/
{.b.}),f))
c= c by
A3,
A4,
A5,
Th9,
XBOOLE_1: 11;
end;
hence
P[(C
\/
{.b.})];
end;
A6:
P[(
{}. X)]
proof
assume (
{}. X)
c= B;
((
FinPairUnion A)
$$ ((
{}. X),f))
= (
the_unity_wrt (
FinPairUnion A)) by
Th18,
SETWISEO: 31;
hence thesis by
Th20;
end;
for C be
Element of (
Fin X) holds
P[C] from
SETWISEO:sch 4(
A6,
A2);
hence thesis;
end;
theorem ::
NORMFORM:22
for X be non
empty
set, B be
Element of (
Fin X) holds for f,g be
Function of X,
[:(
Fin A), (
Fin A):] st (f
| B)
= (g
| B) holds (
FinPairUnion (B,f))
= (
FinPairUnion (B,g))
proof
let X be non
empty
set, B be
Element of (
Fin X);
let f,g be
Function of X,
[:(
Fin A), (
Fin A):];
set J = (
FinPairUnion A);
A1:
[(
{}. A), (
{}. A)]
= (
the_unity_wrt J) by
Th19;
assume
A2: (f
| B)
= (g
| B);
now
per cases ;
suppose
A3: B
=
{} ;
hence (
FinPairUnion (B,f))
= (J
$$ ((
{}. X),f))
.=
[(
{}. A), (
{}. A)] by
A1,
Th18,
SETWISEO: 31
.= (J
$$ ((
{}. X),g)) by
A1,
Th18,
SETWISEO: 31
.= (
FinPairUnion (B,g)) by
A3;
end;
suppose
A4: B
<>
{} ;
(f
.: B)
= (g
.: B) by
A2,
RELAT_1: 166;
hence thesis by
A4,
SETWISEO: 26;
end;
end;
hence thesis;
end;
definition
let X;
::
NORMFORM:def8
func
DISJOINT_PAIRS (X) ->
Subset of
[:(
Fin X), (
Fin X):] equals { a : (a
`1 )
misses (a
`2 ) };
coherence
proof
set D = { a : (a
`1 )
misses (a
`2 ) };
D
c=
[:(
Fin X), (
Fin X):]
proof
let x be
object;
assume x
in D;
then ex a st x
= a & (a
`1 )
misses (a
`2 );
hence thesis;
end;
hence thesis;
end;
end
registration
let X;
cluster (
DISJOINT_PAIRS X) -> non
empty;
coherence
proof
{} is
Element of (
Fin X) by
FINSUB_1: 7;
then
reconsider b =
[
{} ,
{} ] as
Element of
[:(
Fin X), (
Fin X):] by
ZFMISC_1:def 2;
(b
`1 )
misses (b
`2 );
then b
in { a : (a
`1 )
misses (a
`2 ) };
hence thesis;
end;
end
theorem ::
NORMFORM:23
Th23: for y be
Element of
[:(
Fin X), (
Fin X):] holds y
in (
DISJOINT_PAIRS X) iff (y
`1 )
misses (y
`2 )
proof
let y be
Element of
[:(
Fin X), (
Fin X):];
y
in (
DISJOINT_PAIRS X) iff ex a st y
= a & (a
`1 )
misses (a
`2 );
hence thesis;
end;
reserve x,y for
Element of
[:(
Fin X), (
Fin X):],
a,b for
Element of (
DISJOINT_PAIRS X);
theorem ::
NORMFORM:24
y
in (
DISJOINT_PAIRS X) & x
in (
DISJOINT_PAIRS X) implies ((y
\/ x)
in (
DISJOINT_PAIRS X) iff (((y
`1 )
/\ (x
`2 ))
\/ ((x
`1 )
/\ (y
`2 )))
=
{} )
proof
assume that
A1: y
in (
DISJOINT_PAIRS X) and
A2: x
in (
DISJOINT_PAIRS X);
A3: (((y
`1 )
\/ (x
`1 ))
/\ ((y
`2 )
\/ (x
`2 )))
= ((((y
`1 )
\/ (x
`1 ))
/\ (y
`2 ))
\/ (((y
`1 )
\/ (x
`1 ))
/\ (x
`2 ))) & (((y
`1 )
\/ (x
`1 ))
/\ (y
`2 ))
= (((y
`1 )
/\ (y
`2 ))
\/ ((x
`1 )
/\ (y
`2 ))) by
XBOOLE_1: 23;
(x
`1 )
misses (x
`2 ) by
A2,
Th23;
then
A4: ((x
`1 )
/\ (x
`2 ))
=
{} ;
(y
`1 )
misses (y
`2 ) by
A1,
Th23;
then
A5: ((y
`1 )
/\ (y
`2 ))
=
{} ;
A6: (((y
`1 )
\/ (x
`1 ))
/\ (x
`2 ))
= (((y
`1 )
/\ (x
`2 ))
\/ ((x
`1 )
/\ (x
`2 ))) by
XBOOLE_1: 23;
A7: ((y
\/ x)
`1 )
= ((y
`1 )
\/ (x
`1 )) & ((y
\/ x)
`2 )
= ((y
`2 )
\/ (x
`2 ));
thus (y
\/ x)
in (
DISJOINT_PAIRS X) implies (((y
`1 )
/\ (x
`2 ))
\/ ((x
`1 )
/\ (y
`2 )))
=
{} by
A5,
A4,
A7,
A3,
A6,
XBOOLE_0:def 7,
Th23;
assume (((y
`1 )
/\ (x
`2 ))
\/ ((x
`1 )
/\ (y
`2 )))
=
{} ;
then ((y
\/ x)
`1 )
misses ((y
\/ x)
`2 ) by
A5,
A4,
A3,
A6;
hence thesis;
end;
theorem ::
NORMFORM:25
(a
`1 )
misses (a
`2 ) by
Th23;
theorem ::
NORMFORM:26
Th26: x
c= b implies x is
Element of (
DISJOINT_PAIRS X)
proof
assume
A1: (x
`1 )
c= (b
`1 ) & (x
`2 )
c= (b
`2 );
(b
`1 )
misses (b
`2 ) by
Th23;
then (x
`1 )
misses (x
`2 ) by
A1,
XBOOLE_1: 64;
hence thesis by
Th23;
end;
theorem ::
NORMFORM:27
Th27: not (ex x be
set st x
in (a
`1 ) & x
in (a
`2 )) by
Th23,
XBOOLE_0: 3;
theorem ::
NORMFORM:28
not (a
\/ b)
in (
DISJOINT_PAIRS X) implies ex p be
Element of X st p
in (a
`1 ) & p
in (b
`2 ) or p
in (b
`1 ) & p
in (a
`2 )
proof
set p = the
Element of (((a
\/ b)
`1 )
/\ ((a
\/ b)
`2 ));
assume not (a
\/ b)
in (
DISJOINT_PAIRS X);
then ((a
\/ b)
`1 )
meets ((a
\/ b)
`2 );
then
A1: (((a
\/ b)
`1 )
/\ ((a
\/ b)
`2 ))
<>
{} ;
(((a
\/ b)
`1 )
/\ ((a
\/ b)
`2 )) is
Subset of X by
FINSUB_1: 16;
then
reconsider p as
Element of X by
A1,
TARSKI:def 3;
p
in ((a
\/ b)
`2 ) by
A1,
XBOOLE_0:def 4;
then p
in ((a
`2 )
\/ (b
`2 ));
then
A2: p
in (b
`2 ) or p
in (a
`2 ) by
XBOOLE_0:def 3;
take p;
p
in ((a
\/ b)
`1 ) by
A1,
XBOOLE_0:def 4;
then p
in ((a
`1 )
\/ (b
`1 ));
then p
in (a
`1 ) or p
in (b
`1 ) by
XBOOLE_0:def 3;
hence thesis by
A2,
Th27;
end;
theorem ::
NORMFORM:29
(x
`1 )
misses (x
`2 ) implies x is
Element of (
DISJOINT_PAIRS X) by
Th23;
theorem ::
NORMFORM:30
for V,W be
set st V
c= (a
`1 ) & W
c= (a
`2 ) holds
[V, W] is
Element of (
DISJOINT_PAIRS X)
proof
let V,W be
set;
assume
A1: V
c= (a
`1 ) & W
c= (a
`2 );
then V is
Element of (
Fin X) & W is
Element of (
Fin X) by
SETWISEO: 11;
then
reconsider x =
[V, W] as
Element of
[:(
Fin X), (
Fin X):] by
ZFMISC_1:def 2;
(a
`1 )
misses (a
`2 ) & (
[V, W]
`1 )
= V by
Th23;
then (x
`1 )
misses (x
`2 ) by
A1,
XBOOLE_1: 64;
hence thesis by
Th23;
end;
reserve A for
set,
x for
Element of
[:(
Fin A), (
Fin A):],
a,b,c,d,s,t for
Element of (
DISJOINT_PAIRS A),
B,C,D for
Element of (
Fin (
DISJOINT_PAIRS A));
Lm4: for A holds
{}
in { B : a
in B & b
in B & a
c= b implies a
= b }
proof
let A;
{} is
Element of (
Fin (
DISJOINT_PAIRS A)) & for a, b holds a
in
{} & b
in
{} & a
c= b implies a
= b by
FINSUB_1: 7;
hence thesis;
end;
definition
let A;
::
NORMFORM:def9
func
Normal_forms_on A ->
Subset of (
Fin (
DISJOINT_PAIRS A)) equals { B : a
in B & b
in B & a
c= b implies a
= b };
coherence
proof
set IT = { B : a
in B & b
in B & a
c= b implies a
= b };
IT
c= (
Fin (
DISJOINT_PAIRS A))
proof
let x be
object;
assume x
in IT;
then ex B st x
= B & for a, b holds a
in B & b
in B & a
c= b implies a
= b;
hence thesis;
end;
hence thesis;
end;
end
registration
let A;
cluster (
Normal_forms_on A) -> non
empty;
coherence by
Lm4;
end
reserve K,L,M for
Element of (
Normal_forms_on A);
theorem ::
NORMFORM:31
{}
in (
Normal_forms_on A) by
Lm4;
theorem ::
NORMFORM:32
Th32: B
in (
Normal_forms_on A) & a
in B & b
in B & a
c= b implies a
= b
proof
assume B
in (
Normal_forms_on A);
then ex C st B
= C & for a, b holds a
in C & b
in C & a
c= b implies a
= b;
hence thesis;
end;
theorem ::
NORMFORM:33
Th33: (for a, b st a
in B & b
in B & a
c= b holds a
= b) implies B
in (
Normal_forms_on A);
definition
let A, B;
::
NORMFORM:def10
func
mi B ->
Element of (
Normal_forms_on A) equals { t : s
in B & s
c= t iff s
= t };
coherence
proof
set M = { t : s
in B & s
c= t iff s
= t };
now
let x be
object;
assume x
in M;
then ex t st x
= t & for s holds s
in B & s
c= t iff s
= t;
hence x
in B;
end;
then
A1: M
c= B;
then
A2: M is
finite by
FINSET_1: 1;
B
c= (
DISJOINT_PAIRS A) by
FINSUB_1:def 5;
then M
c= (
DISJOINT_PAIRS A) by
A1;
then
reconsider M9 = M as
Element of (
Fin (
DISJOINT_PAIRS A)) by
A2,
FINSUB_1:def 5;
now
let c,d be
Element of (
DISJOINT_PAIRS A);
assume c
in M;
then ex t st c
= t & for s holds s
in B & s
c= t iff s
= t;
then
A3: c
in B;
assume d
in M;
then ex t st d
= t & for s holds s
in B & s
c= t iff s
= t;
hence c
c= d implies c
= d by
A3;
end;
then M9 is
Element of (
Normal_forms_on A) by
Th33;
hence thesis;
end;
correctness ;
let C;
::
NORMFORM:def11
func B
^ C ->
Element of (
Fin (
DISJOINT_PAIRS A)) equals ((
DISJOINT_PAIRS A)
/\ { (s
\/ t) : s
in B & t
in C });
coherence
proof
deffunc
F(
Element of (
DISJOINT_PAIRS A),
Element of (
DISJOINT_PAIRS A)) = ($1
\/ $2);
set M = ((
DISJOINT_PAIRS A)
/\ {
F(s,t) : s
in B & t
in C });
A4: C is
finite;
A5: B is
finite;
{
F(s,t) : s
in B & t
in C } is
finite from
FRAENKEL:sch 22(
A5,
A4);
then M
c= (
DISJOINT_PAIRS A) & M is
finite by
FINSET_1: 1,
XBOOLE_1: 17;
hence thesis by
FINSUB_1:def 5;
end;
correctness ;
end
theorem ::
NORMFORM:34
Th34: x
in (B
^ C) implies ex b, c st b
in B & c
in C & x
= (b
\/ c)
proof
assume x
in (B
^ C);
then x
in { (s
\/ t) : s
in B & t
in C } by
XBOOLE_0:def 4;
then ex s, t st x
= (s
\/ t) & s
in B & t
in C;
hence thesis;
end;
theorem ::
NORMFORM:35
Th35: b
in B & c
in C & (b
\/ c)
in (
DISJOINT_PAIRS A) implies (b
\/ c)
in (B
^ C)
proof
assume b
in B & c
in C;
then
A1: (b
\/ c)
in { (s
\/ t) : s
in B & t
in C };
assume (b
\/ c)
in (
DISJOINT_PAIRS A);
hence thesis by
A1,
XBOOLE_0:def 4;
end;
theorem ::
NORMFORM:36
Th36: a
in (
mi B) implies a
in B & (b
in B & b
c= a implies b
= a)
proof
assume a
in (
mi B);
then ex t st a
= t & for s holds s
in B & s
c= t iff s
= t;
hence thesis;
end;
theorem ::
NORMFORM:37
a
in (
mi B) implies a
in B by
Th36;
theorem ::
NORMFORM:38
a
in (
mi B) & b
in B & b
c= a implies b
= a by
Th36;
theorem ::
NORMFORM:39
Th39: a
in B & (for b st b
in B & b
c= a holds b
= a) implies a
in (
mi B)
proof
assume a
in B & for s st s
in B & s
c= a holds s
= a;
then s
in B & s
c= a iff s
= a;
hence thesis;
end;
Lm5: (for a holds a
in B implies a
in C) implies B
c= C
proof
assume
A1: for a holds a
in B implies a
in C;
let x be
object;
assume
A2: x
in B;
then x is
Element of (
DISJOINT_PAIRS A) by
SETWISEO: 9;
hence thesis by
A1,
A2;
end;
theorem ::
NORMFORM:40
Th40: (
mi B)
c= B
proof
for a holds a
in (
mi B) implies a
in B by
Th36;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:41
Th41: b
in B implies ex c st c
c= b & c
in (
mi B)
proof
assume
A1: b
in B;
defpred
P[
Element of (
DISJOINT_PAIRS A),
Element of (
DISJOINT_PAIRS A)] means $1
c= $2;
A2: for a holds
P[a, a];
A3: for a, b, c st
P[a, b] &
P[b, c] holds
P[a, c] by
Th2;
for a st a
in B holds ex b st b
in B &
P[b, a] & for c st c
in B &
P[c, b] holds
P[b, c] from
FRAENKEL:sch 23(
A2,
A3);
then
consider c such that
A4: c
in B and
A5: c
c= b and
A6: for a st a
in B & a
c= c holds c
c= a by
A1;
take c;
thus c
c= b by
A5;
now
let b;
assume that
A7: b
in B and
A8: b
c= c;
c
c= b by
A6,
A7,
A8;
hence b
= c by
A8,
Th1;
end;
hence thesis by
A4,
Th39;
end;
theorem ::
NORMFORM:42
Th42: (
mi K)
= K
proof
thus (
mi K)
c= K by
Th40;
now
let a;
assume
A1: a
in K;
then for b st b
in K & b
c= a holds b
= a by
Th32;
hence a
in (
mi K) by
A1,
Th39;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:43
Th43: (
mi (B
\/ C))
c= ((
mi B)
\/ C)
proof
now
let a;
assume
A1: a
in (
mi (B
\/ C));
then
A2: a
in (B
\/ C) by
Th36;
now
per cases by
A2,
XBOOLE_0:def 3;
suppose
A3: a
in B;
now
let b;
assume b
in B;
then b
in (B
\/ C) by
XBOOLE_0:def 3;
hence b
c= a implies b
= a by
A1,
Th36;
end;
then a
in (
mi B) by
A3,
Th39;
hence a
in ((
mi B)
\/ C) by
XBOOLE_0:def 3;
end;
suppose a
in C;
hence a
in ((
mi B)
\/ C) by
XBOOLE_0:def 3;
end;
end;
hence a
in ((
mi B)
\/ C);
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:44
Th44: (
mi ((
mi B)
\/ C))
= (
mi (B
\/ C))
proof
A1: ((
mi B)
\/ C)
c= (B
\/ C) by
Th40,
XBOOLE_1: 9;
now
let a;
assume
A2: a
in (
mi ((
mi B)
\/ C));
A3:
now
let b;
assume that
A4: b
in (B
\/ C) and
A5: b
c= a;
now
per cases by
A4,
XBOOLE_0:def 3;
suppose b
in B;
then
consider c such that
A6: c
c= b and
A7: c
in (
mi B) by
Th41;
c
in ((
mi B)
\/ C) & c
c= a by
A5,
A6,
A7,
Th2,
XBOOLE_0:def 3;
then c
= a by
A2,
Th36;
hence b
= a by
A5,
A6,
Th1;
end;
suppose b
in C;
then b
in ((
mi B)
\/ C) by
XBOOLE_0:def 3;
hence b
= a by
A2,
A5,
Th36;
end;
end;
hence b
= a;
end;
a
in ((
mi B)
\/ C) by
A2,
Th36;
hence a
in (
mi (B
\/ C)) by
A1,
A3,
Th39;
end;
hence (
mi ((
mi B)
\/ C))
c= (
mi (B
\/ C)) by
Lm5;
A8: (
mi (B
\/ C))
c= ((
mi B)
\/ C) by
Th43;
now
let a;
assume
A9: a
in (
mi (B
\/ C));
then for b st b
in ((
mi B)
\/ C) holds b
c= a implies b
= a by
A1,
Th36;
hence a
in (
mi ((
mi B)
\/ C)) by
A8,
A9,
Th39;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:45
(
mi (B
\/ (
mi C)))
= (
mi (B
\/ C)) by
Th44;
theorem ::
NORMFORM:46
Th46: B
c= C implies (B
^ D)
c= (C
^ D)
proof
deffunc
F(
Element of (
DISJOINT_PAIRS A),
Element of (
DISJOINT_PAIRS A)) = ($1
\/ $2);
defpred
P[
set,
set] means $1
in B & $2
in D;
defpred
Q[
set,
set] means $1
in C & $2
in D;
set X1 = {
F(s,t) :
P[s, t] };
set X2 = {
F(s,t) :
Q[s, t] };
assume B
c= C;
then
A1:
P[s, t] implies
Q[s, t];
X1
c= X2 from
FRAENKEL:sch 2(
A1);
hence thesis by
XBOOLE_1: 26;
end;
Lm6: a
in (B
^ C) implies ex b st b
c= a & b
in ((
mi B)
^ C)
proof
assume a
in (B
^ C);
then
consider b, c such that
A1: b
in B and
A2: c
in C and
A3: a
= (b
\/ c) by
Th34;
consider d such that
A4: d
c= b and
A5: d
in (
mi B) by
A1,
Th41;
(d
\/ c)
c= a by
A3,
A4,
Th12;
then
reconsider e = (d
\/ c) as
Element of (
DISJOINT_PAIRS A) by
Th26;
take e;
thus e
c= a by
A3,
A4,
Th12;
thus thesis by
A2,
A5,
Th35;
end;
theorem ::
NORMFORM:47
Th47: (
mi (B
^ C))
c= ((
mi B)
^ C)
proof
A1: ((
mi B)
^ C)
c= (B
^ C) by
Th40,
Th46;
now
let a;
assume
A2: a
in (
mi (B
^ C));
then a
in (B
^ C) by
Th36;
then ex b st b
c= a & b
in ((
mi B)
^ C) by
Lm6;
hence a
in ((
mi B)
^ C) by
A1,
A2,
Th36;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:48
Th48: (B
^ C)
= (C
^ B)
proof
deffunc
F(
Element of (
DISJOINT_PAIRS A),
Element of (
DISJOINT_PAIRS A)) = ($1
\/ $2);
defpred
P[
set,
set] means $1
in B & $2
in C;
defpred
Q[
set,
set] means $2
in C & $1
in B;
set X1 = {
F(s,t) where s,t be
Element of (
DISJOINT_PAIRS A) :
P[s, t] };
set X2 = {
F(t,s) where s,t be
Element of (
DISJOINT_PAIRS A) :
Q[s, t] };
A1:
F(s,t)
=
F(t,s);
A2:
now
let x be
object;
x
in X2 iff ex s, t st x
= (t
\/ s) & t
in C & s
in B;
then x
in X2 iff ex t, s st x
= (t
\/ s) & t
in C & s
in B;
hence x
in X2 iff x
in { (t
\/ s) where t, s : t
in C & s
in B };
end;
A3:
P[s, t] iff
Q[s, t];
X1
= X2 from
FRAENKEL:sch 8(
A3,
A1);
hence thesis by
A2,
TARSKI: 2;
end;
theorem ::
NORMFORM:49
Th49: B
c= C implies (D
^ B)
c= (D
^ C)
proof
(D
^ C)
= (C
^ D) & (D
^ B)
= (B
^ D) by
Th48;
hence thesis by
Th46;
end;
theorem ::
NORMFORM:50
Th50: (
mi ((
mi B)
^ C))
= (
mi (B
^ C))
proof
A1: ((
mi B)
^ C)
c= (B
^ C) by
Th40,
Th46;
now
let a;
assume
A2: a
in (
mi ((
mi B)
^ C));
A3:
now
let b;
assume b
in (B
^ C);
then
consider c such that
A4: c
c= b and
A5: c
in ((
mi B)
^ C) by
Lm6;
assume
A6: b
c= a;
then c
c= a by
A4,
Th2;
then c
= a by
A2,
A5,
Th36;
hence b
= a by
A4,
A6,
Th1;
end;
a
in ((
mi B)
^ C) by
A2,
Th36;
hence a
in (
mi (B
^ C)) by
A1,
A3,
Th39;
end;
hence (
mi ((
mi B)
^ C))
c= (
mi (B
^ C)) by
Lm5;
A7: (
mi (B
^ C))
c= ((
mi B)
^ C) by
Th47;
now
let a;
assume
A8: a
in (
mi (B
^ C));
then for b st b
in ((
mi B)
^ C) holds b
c= a implies b
= a by
A1,
Th36;
hence a
in (
mi ((
mi B)
^ C)) by
A7,
A8,
Th39;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:51
Th51: (
mi (B
^ (
mi C)))
= (
mi (B
^ C))
proof
(B
^ (
mi C))
= ((
mi C)
^ B) & (B
^ C)
= (C
^ B) by
Th48;
hence thesis by
Th50;
end;
theorem ::
NORMFORM:52
Th52: (K
^ (L
^ M))
= ((K
^ L)
^ M)
proof
A1: (L
^ M)
= (M
^ L) & (K
^ L)
= (L
^ K) by
Th48;
A2:
now
let K, L, M;
now
let a;
assume a
in (K
^ (L
^ M));
then
consider b, c such that
A3: b
in K and
A4: c
in (L
^ M) and
A5: a
= (b
\/ c) by
Th34;
consider b1,c1 be
Element of (
DISJOINT_PAIRS A) such that
A6: b1
in L and
A7: c1
in M and
A8: c
= (b1
\/ c1) by
A4,
Th34;
reconsider d = (b
\/ (b1
\/ c1)) as
Element of (
DISJOINT_PAIRS A) by
A5,
A8;
A9: (b
\/ (b1
\/ c1))
= ((b
\/ b1)
\/ c1) by
Th3;
then (b
\/ b1)
c= d by
Th10;
then
reconsider c2 = (b
\/ b1) as
Element of (
DISJOINT_PAIRS A) by
Th26;
c2
in (K
^ L) by
A3,
A6,
Th35;
hence a
in ((K
^ L)
^ M) by
A5,
A7,
A8,
A9,
Th35;
end;
hence (K
^ (L
^ M))
c= ((K
^ L)
^ M) by
Lm5;
end;
then
A10: (K
^ (L
^ M))
c= ((K
^ L)
^ M);
((K
^ L)
^ M)
= (M
^ (K
^ L)) & (K
^ (L
^ M))
= ((L
^ M)
^ K) by
Th48;
then ((K
^ L)
^ M)
c= (K
^ (L
^ M)) by
A1,
A2;
hence thesis by
A10;
end;
theorem ::
NORMFORM:53
Th53: (K
^ (L
\/ M))
= ((K
^ L)
\/ (K
^ M))
proof
now
let a;
assume a
in (K
^ (L
\/ M));
then
consider b, c such that
A1: b
in K and
A2: c
in (L
\/ M) and
A3: a
= (b
\/ c) by
Th34;
c
in L or c
in M by
A2,
XBOOLE_0:def 3;
then a
in (K
^ L) or a
in (K
^ M) by
A1,
A3,
Th35;
hence a
in ((K
^ L)
\/ (K
^ M)) by
XBOOLE_0:def 3;
end;
hence (K
^ (L
\/ M))
c= ((K
^ L)
\/ (K
^ M)) by
Lm5;
(K
^ L)
c= (K
^ (L
\/ M)) & (K
^ M)
c= (K
^ (L
\/ M)) by
Th49,
XBOOLE_1: 7;
hence thesis by
XBOOLE_1: 8;
end;
Lm7: a
in (B
^ C) implies ex c st c
in C & c
c= a
proof
assume a
in (B
^ C);
then
consider b, c such that b
in B and
A1: c
in C and
A2: a
= (b
\/ c) by
Th34;
take c;
thus c
in C by
A1;
thus thesis by
A2,
Th10;
end;
Lm8: (
mi ((K
^ L)
\/ L))
= (
mi L)
proof
now
let a;
assume
A1: a
in (
mi ((K
^ L)
\/ L));
A2:
now
let b;
assume b
in L;
then b
in ((K
^ L)
\/ L) by
XBOOLE_0:def 3;
hence b
c= a implies b
= a by
A1,
Th36;
end;
A3:
now
assume a
in (K
^ L);
then
consider b such that
A4: b
in L and
A5: b
c= a by
Lm7;
b
in ((K
^ L)
\/ L) by
A4,
XBOOLE_0:def 3;
hence a
in L by
A1,
A4,
A5,
Th36;
end;
a
in ((K
^ L)
\/ L) by
A1,
Th36;
then a
in (K
^ L) or a
in L by
XBOOLE_0:def 3;
hence a
in (
mi L) by
A3,
A2,
Th39;
end;
hence (
mi ((K
^ L)
\/ L))
c= (
mi L) by
Lm5;
now
let a;
assume
A6: a
in (
mi L);
then
A7: a
in L by
Th36;
A8:
now
let b;
assume b
in ((K
^ L)
\/ L);
then
A9: b
in (K
^ L) or b
in L by
XBOOLE_0:def 3;
assume
A10: b
c= a;
now
assume b
in (K
^ L);
then
consider c such that
A11: c
in L and
A12: c
c= b by
Lm7;
c
c= a by
A10,
A12,
Th2;
then c
= a by
A6,
A11,
Th36;
hence b
in L by
A7,
A10,
A12,
Th1;
end;
hence b
= a by
A6,
A9,
A10,
Th36;
end;
a
in ((K
^ L)
\/ L) by
A7,
XBOOLE_0:def 3;
hence a
in (
mi ((K
^ L)
\/ L)) by
A8,
Th39;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:54
Th54: B
c= (B
^ B)
proof
now
let a;
a
= (a
\/ a);
hence a
in B implies a
in (B
^ B) by
Th35;
end;
hence thesis by
Lm5;
end;
theorem ::
NORMFORM:55
Th55: (
mi (K
^ K))
= (
mi K)
proof
thus (
mi (K
^ K))
= (
mi ((K
^ K)
\/ K)) by
Th54,
XBOOLE_1: 12
.= (
mi K) by
Lm8;
end;
definition
let A;
::
NORMFORM:def12
func
NormForm A ->
strict
LattStr means
:
Def12: the
carrier of it
= (
Normal_forms_on A) & for B,C be
Element of (
Normal_forms_on A) holds (the
L_join of it
. (B,C))
= (
mi (B
\/ C)) & (the
L_meet of it
. (B,C))
= (
mi (B
^ C));
existence
proof
set L = (
Normal_forms_on A);
deffunc
O(
Element of L,
Element of L) = (
mi ($1
\/ $2));
consider j be
BinOp of L such that
A1: for x,y be
Element of L holds (j
. (x,y))
=
O(x,y) from
BINOP_1:sch 4;
deffunc
O1(
Element of L,
Element of L) = (
mi ($1
^ $2));
consider m be
BinOp of L such that
A2: for x,y be
Element of L holds (m
. (x,y))
=
O1(x,y) from
BINOP_1:sch 4;
take
LattStr (# L, j, m #);
thus thesis by
A1,
A2;
end;
uniqueness
proof
set L = (
Normal_forms_on A);
let A1,A2 be
strict
LattStr such that
A3: the
carrier of A1
= L and
A4: for A,B be
Element of L holds (the
L_join of A1
. (A,B))
= (
mi (A
\/ B)) & (the
L_meet of A1
. (A,B))
= (
mi (A
^ B)) and
A5: the
carrier of A2
= L and
A6: for A,B be
Element of L holds (the
L_join of A2
. (A,B))
= (
mi (A
\/ B)) & (the
L_meet of A2
. (A,B))
= (
mi (A
^ B));
reconsider a3 = the
L_meet of A1, a4 = the
L_meet of A2, a1 = the
L_join of A1, a2 = the
L_join of A2 as
BinOp of L by
A3,
A5;
now
let x,y be
Element of L;
thus (a1
. (x,y))
= (
mi (x
\/ y)) by
A4
.= (a2
. (x,y)) by
A6;
end;
then
A7: a1
= a2;
now
let x,y be
Element of L;
thus (a3
. (x,y))
= (
mi (x
^ y)) by
A4
.= (a4
. (x,y)) by
A6;
end;
hence thesis by
A3,
A5,
A7,
BINOP_1: 2;
end;
end
registration
let A;
cluster (
NormForm A) -> non
empty;
coherence
proof
the
carrier of (
NormForm A)
= (
Normal_forms_on A) by
Def12;
hence thesis;
end;
end
Lm9: for a,b be
Element of (
NormForm A) holds (a
"\/" b)
= (b
"\/" a)
proof
set G = (
NormForm A);
let a,b be
Element of G;
reconsider a9 = a, b9 = b as
Element of (
Normal_forms_on A) by
Def12;
(a
"\/" b)
= (
mi (b9
\/ a9)) by
Def12
.= (b
"\/" a) by
Def12;
hence thesis;
end;
Lm10: for a,b,c be
Element of (
NormForm A) holds (a
"\/" (b
"\/" c))
= ((a
"\/" b)
"\/" c)
proof
set G = (
NormForm A);
let a,b,c be
Element of G;
reconsider a9 = a, b9 = b, c9 = c as
Element of (
Normal_forms_on A) by
Def12;
(a
"\/" (b
"\/" c))
= (the
L_join of G
. (a,(
mi (b9
\/ c9)))) by
Def12
.= (
mi ((
mi (b9
\/ c9))
\/ a9)) by
Def12
.= (
mi (a9
\/ (b9
\/ c9))) by
Th44
.= (
mi ((a9
\/ b9)
\/ c9)) by
XBOOLE_1: 4
.= (
mi ((
mi (a9
\/ b9))
\/ c9)) by
Th44
.= (the
L_join of G
. ((
mi (a9
\/ b9)),c9)) by
Def12
.= ((a
"\/" b)
"\/" c) by
Def12;
hence thesis;
end;
reserve K,L,M for
Element of (
Normal_forms_on A);
Lm11: (the
L_join of (
NormForm A)
. ((the
L_meet of (
NormForm A)
. (K,L)),L))
= L
proof
thus (the
L_join of (
NormForm A)
. ((the
L_meet of (
NormForm A)
. (K,L)),L))
= (the
L_join of (
NormForm A)
. ((
mi (K
^ L)),L)) by
Def12
.= (
mi ((
mi (K
^ L))
\/ L)) by
Def12
.= (
mi ((K
^ L)
\/ L)) by
Th44
.= (
mi L) by
Lm8
.= L by
Th42;
end;
Lm12: for a,b be
Element of (
NormForm A) holds ((a
"/\" b)
"\/" b)
= b
proof
let a,b be
Element of (
NormForm A);
reconsider a9 = a, b9 = b as
Element of (
Normal_forms_on A) by
Def12;
set G = (
NormForm A);
thus ((a
"/\" b)
"\/" b)
= (the
L_join of G
. ((the
L_meet of G
. (a9,b9)),b9))
.= b by
Lm11;
end;
Lm13: for a,b be
Element of (
NormForm A) holds (a
"/\" b)
= (b
"/\" a)
proof
set G = (
NormForm A);
let a,b be
Element of G;
reconsider a9 = a, b9 = b as
Element of (
Normal_forms_on A) by
Def12;
(a
"/\" b)
= (
mi (a9
^ b9)) by
Def12
.= (
mi (b9
^ a9)) by
Th48
.= (b
"/\" a) by
Def12;
hence thesis;
end;
Lm14: for a,b,c be
Element of (
NormForm A) holds (a
"/\" (b
"/\" c))
= ((a
"/\" b)
"/\" c)
proof
set G = (
NormForm A);
let a,b,c be
Element of G;
reconsider a9 = a, b9 = b, c9 = c as
Element of (
Normal_forms_on A) by
Def12;
(a
"/\" (b
"/\" c))
= (the
L_meet of G
. (a,(
mi (b9
^ c9)))) by
Def12
.= (
mi (a9
^ (
mi (b9
^ c9)))) by
Def12
.= (
mi (a9
^ (b9
^ c9))) by
Th51
.= (
mi ((a9
^ b9)
^ c9)) by
Th52
.= (
mi ((
mi (a9
^ b9))
^ c9)) by
Th50
.= (the
L_meet of G
. ((
mi (a9
^ b9)),c9)) by
Def12
.= ((a
"/\" b)
"/\" c) by
Def12;
hence thesis;
end;
Lm15: (the
L_meet of (
NormForm A)
. (K,(the
L_join of (
NormForm A)
. (L,M))))
= (the
L_join of (
NormForm A)
. ((the
L_meet of (
NormForm A)
. (K,L)),(the
L_meet of (
NormForm A)
. (K,M))))
proof
A1: (the
L_meet of (
NormForm A)
. (K,M))
= (
mi (K
^ M)) by
Def12;
(the
L_join of (
NormForm A)
. (L,M))
= (
mi (L
\/ M)) & (the
L_meet of (
NormForm A)
. (K,L))
= (
mi (K
^ L)) by
Def12;
then
reconsider La = (the
L_join of (
NormForm A)
. (L,M)), Lb = (the
L_meet of (
NormForm A)
. (K,L)), Lc = (the
L_meet of (
NormForm A)
. (K,M)) as
Element of (
Normal_forms_on A) by
A1;
(the
L_meet of (
NormForm A)
. (K,(the
L_join of (
NormForm A)
. (L,M))))
= (
mi (K
^ La)) by
Def12
.= (
mi (K
^ (
mi (L
\/ M)))) by
Def12
.= (
mi (K
^ (L
\/ M))) by
Th51
.= (
mi ((K
^ L)
\/ (K
^ M))) by
Th53
.= (
mi ((
mi (K
^ L))
\/ (K
^ M))) by
Th44
.= (
mi ((
mi (K
^ L))
\/ (
mi (K
^ M)))) by
Th44
.= (
mi (Lb
\/ (
mi (K
^ M)))) by
Def12
.= (
mi (Lb
\/ Lc)) by
Def12;
hence thesis by
Def12;
end;
Lm16: for a,b be
Element of (
NormForm A) holds (a
"/\" (a
"\/" b))
= a
proof
set G = (
NormForm A);
let a,b be
Element of G;
reconsider a9 = a, b9 = b as
Element of (
Normal_forms_on A) by
Def12;
thus (a
"/\" (a
"\/" b))
= (the
L_join of G
. ((the
L_meet of G
. (a9,a9)),(the
L_meet of G
. (a9,b9)))) by
Lm15
.= (the
L_join of G
. ((
mi (a9
^ a9)),(the
L_meet of G
. (a9,b9)))) by
Def12
.= (the
L_join of G
. ((
mi a9),(the
L_meet of G
. (a9,b9)))) by
Th55
.= (a
"\/" (a
"/\" b)) by
Th42
.= ((a
"/\" b)
"\/" a) by
Lm9
.= ((b
"/\" a)
"\/" a) by
Lm13
.= a by
Lm12;
end;
registration
let A;
cluster (
NormForm A) ->
Lattice-like;
coherence
proof
set G = (
NormForm A);
thus for u,v be
Element of G holds (u
"\/" v)
= (v
"\/" u) by
Lm9;
thus for u,v,w be
Element of G holds (u
"\/" (v
"\/" w))
= ((u
"\/" v)
"\/" w) by
Lm10;
thus for u,v be
Element of G holds ((u
"/\" v)
"\/" v)
= v by
Lm12;
thus for u,v be
Element of G holds (u
"/\" v)
= (v
"/\" u) by
Lm13;
thus for u,v,w be
Element of G holds (u
"/\" (v
"/\" w))
= ((u
"/\" v)
"/\" w) by
Lm14;
let u,v be
Element of G;
thus thesis by
Lm16;
end;
end
registration
let A;
cluster (
NormForm A) ->
distributive
lower-bounded;
coherence
proof
set G = (
NormForm A);
thus G is
distributive
proof
let u,v,w be
Element of G;
reconsider K = u, L = v, M = w as
Element of (
Normal_forms_on A) by
Def12;
thus (u
"/\" (v
"\/" w))
= (the
L_meet of G
. (K,(the
L_join of G
. (L,M))))
.= ((u
"/\" v)
"\/" (u
"/\" w)) by
Lm15;
end;
thus G is
lower-bounded
proof
reconsider E =
{} as
Element of (
Normal_forms_on A) by
Lm4;
reconsider e = E as
Element of G by
Def12;
take e;
let u be
Element of G;
reconsider K = u as
Element of (
Normal_forms_on A) by
Def12;
A1: (e
"\/" u)
= (
mi (E
\/ K)) by
Def12
.= u by
Th42;
then (u
"/\" e)
= e by
LATTICES:def 9;
hence thesis by
A1,
LATTICES:def 9;
end;
end;
end
theorem ::
NORMFORM:56
{} is
Element of (
NormForm A)
proof
the
carrier of (
NormForm A)
= (
Normal_forms_on A) by
Def12;
hence thesis by
Lm4;
end;
theorem ::
NORMFORM:57
(
Bottom (
NormForm A))
=
{}
proof
{}
in (
Normal_forms_on A) by
Lm4;
then
reconsider Z =
{} as
Element of (
NormForm A) by
Def12;
now
let u be
Element of (
NormForm A);
reconsider z = Z, u9 = u as
Element of (
Normal_forms_on A) by
Def12;
thus (Z
"\/" u)
= (
mi (z
\/ u9)) by
Def12
.= u by
Th42;
end;
hence thesis by
LATTICE2: 14;
end;