:: LATTICE5  semantic presentation
theorem Th1: :: LATTICE5:1
theorem Th2: :: LATTICE5:2
theorem Th3: :: LATTICE5:3
:: deftheorem Def1   defines EqRelLATT LATTICE5:def 1 : 
theorem Th4: :: LATTICE5:4
theorem Th5: :: LATTICE5:5
theorem Th6: :: LATTICE5:6
theorem Th7: :: LATTICE5:7
theorem Th8: :: LATTICE5:8
theorem Th9: :: LATTICE5:9
theorem Th10: :: LATTICE5:10
:: deftheorem Def2   defines complete LATTICE5:def 2 : 
:: deftheorem Def3   defines are_joint_by LATTICE5:def 3 : 
theorem Th11: :: LATTICE5:11
canceled; 
theorem Th12: :: LATTICE5:12
E13: 
now 
let c1, 
c2, 
c3 be   
Nat;
assume 
( 1 
<= c1 & 
c1 < c2 + c3 )
 ;
then 
( ( 1 
<= c1 & 
c1 < c2 ) or ( 
c2 = c1 & 
c1 < c2 + c3 ) or ( 
c2 < c1 & 
c1 < c2 + c3 ) )
 
by REAL_1:def 5;
hence 
( ( 1 
<= c1 & 
c1 < c2 ) or ( 
c2 = c1 & 
c1 < c2 + c3 ) or ( 
c2 + 1 
<= c1 & 
c1 < c2 + c3 ) )
 
by NAT_1:38;
 
end;
 
theorem Th13: :: LATTICE5:13
canceled; 
theorem Th14: :: LATTICE5:14
definition
let c1 be  non 
empty  set ;
let c2 be   
Sublattice of  
EqRelLATT c1;
given c3 being   
Equivalence_Relation of 
c1 such that E15: 
c3 in the 
carrier of 
c2
 and E16: 
c3 <>  id c1
 ;
given c4 being   
Nat such that E17: 
for 
b1, 
b2 being  
Equivalence_Relation of 
c1 for 
b3, 
b4 being   
set   st 
b1 in the 
carrier of 
c2 & 
b2 in the 
carrier of 
c2 & 
[b3,b4] in b1 "\/" b2 holds 
ex 
b5 being non 
empty  FinSequence of 
c1 st 
(  
len b5 = c4 & 
b3,
b4 are_joint_by b5,
b1,
b2 )
 ;
func  type_of c2 ->   Nat means :
Def4: 
:: LATTICE5:def 4
( ( for 
b1, 
b2 being  
Equivalence_Relation of 
a1 for 
b3, 
b4 being   
set   st 
b1 in the 
carrier of 
a2 & 
b2 in the 
carrier of 
a2 & 
[b3,b4] in b1 "\/" b2 holds 
ex 
b5 being non 
empty  FinSequence of 
a1 st 
(  
len b5 = a3 + 2 & 
b3,
b4 are_joint_by b5,
b1,
b2 ) ) & ex 
b1, 
b2 being  
Equivalence_Relation of 
a1ex 
b3, 
b4 being   
set  st 
( 
b1 in the 
carrier of 
a2 & 
b2 in the 
carrier of 
a2 & 
[b3,b4] in b1 "\/" b2 & ( for 
b5 being non 
empty  FinSequence of 
a1  holds 
(  not  
len b5 = a3 + 1 or  not 
b3,
b4 are_joint_by b5,
b1,
b2 ) ) ) );
existence 
ex b1 being  Nat st 
( ( for b2, b3 being  Equivalence_Relation of c1
 for b4, b5 being   set   st b2 in the carrier of c2 & b3 in the carrier of c2 & [b4,b5] in b2 "\/" b3 holds 
ex b6 being non empty  FinSequence of c1 st 
(  len b6 = b1 + 2 & b4,b5 are_joint_by b6,b2,b3 ) ) & ex b2, b3 being  Equivalence_Relation of c1ex b4, b5 being   set  st 
( b2 in the carrier of c2 & b3 in the carrier of c2 & [b4,b5] in b2 "\/" b3 & ( for b6 being non empty  FinSequence of c1  holds 
(  not  len b6 = b1 + 1 or  not b4,b5 are_joint_by b6,b2,b3 ) ) ) )
 
uniqueness 
for b1, b2 being  Nat  st ( for b3, b4 being  Equivalence_Relation of c1
 for b5, b6 being   set   st b3 in the carrier of c2 & b4 in the carrier of c2 & [b5,b6] in b3 "\/" b4 holds 
ex b7 being non empty  FinSequence of c1 st 
(  len b7 = b1 + 2 & b5,b6 are_joint_by b7,b3,b4 ) ) & ex b3, b4 being  Equivalence_Relation of c1ex b5, b6 being   set  st 
( b3 in the carrier of c2 & b4 in the carrier of c2 & [b5,b6] in b3 "\/" b4 & ( for b7 being non empty  FinSequence of c1  holds 
(  not  len b7 = b1 + 1 or  not b5,b6 are_joint_by b7,b3,b4 ) ) ) & ( for b3, b4 being  Equivalence_Relation of c1
 for b5, b6 being   set   st b3 in the carrier of c2 & b4 in the carrier of c2 & [b5,b6] in b3 "\/" b4 holds 
ex b7 being non empty  FinSequence of c1 st 
(  len b7 = b2 + 2 & b5,b6 are_joint_by b7,b3,b4 ) ) & ex b3, b4 being  Equivalence_Relation of c1ex b5, b6 being   set  st 
( b3 in the carrier of c2 & b4 in the carrier of c2 & [b5,b6] in b3 "\/" b4 & ( for b7 being non empty  FinSequence of c1  holds 
(  not  len b7 = b2 + 1 or  not b5,b6 are_joint_by b7,b3,b4 ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def4   defines type_of LATTICE5:def 4 : 
for 
b1 being non 
empty  set  for 
b2 being  
Sublattice of  
EqRelLATT b1  st ex 
b3 being  
Equivalence_Relation of 
b1 st 
( 
b3 in the 
carrier of 
b2 & 
b3 <>  id b1 ) & ex 
b3 being  
Nat st 
for 
b4, 
b5 being  
Equivalence_Relation of 
b1 for 
b6, 
b7 being   
set   st 
b4 in the 
carrier of 
b2 & 
b5 in the 
carrier of 
b2 & 
[b6,b7] in b4 "\/" b5 holds 
ex 
b8 being non 
empty  FinSequence of 
b1 st 
(  
len b8 = b3 & 
b6,
b7 are_joint_by b8,
b4,
b5 ) holds 
for 
b3 being  
Nat holds 
 ( 
b3 =  type_of b2 iff ( ( for 
b4, 
b5 being  
Equivalence_Relation of 
b1 for 
b6, 
b7 being   
set   st 
b4 in the 
carrier of 
b2 & 
b5 in the 
carrier of 
b2 & 
[b6,b7] in b4 "\/" b5 holds 
ex 
b8 being non 
empty  FinSequence of 
b1 st 
(  
len b8 = b3 + 2 & 
b6,
b7 are_joint_by b8,
b4,
b5 ) ) & ex 
b4, 
b5 being  
Equivalence_Relation of 
b1ex 
b6, 
b7 being   
set  st 
( 
b4 in the 
carrier of 
b2 & 
b5 in the 
carrier of 
b2 & 
[b6,b7] in b4 "\/" b5 & ( for 
b8 being non 
empty  FinSequence of 
b1  holds 
(  not  
len b8 = b3 + 1 or  not 
b6,
b7 are_joint_by b8,
b4,
b5 ) ) ) ) );
theorem Th15: :: LATTICE5:15
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
canceled;attr a3 is 
symmetric means :
Def6: 
:: LATTICE5:def 6
for 
b1, 
b2 being   
Element of 
a1 holds  
a3 . b1,
b2 = a3 . b2,
b1;
attr a3 is 
zeroed means :
Def7: 
:: LATTICE5:def 7
for 
b1 being   
Element of 
a1 holds  
a3 . b1,
b1 =  Bottom a2;
attr a3 is 
u.t.i. means :
Def8: 
:: LATTICE5:def 8
for 
b1, 
b2, 
b3 being   
Element of 
a1 holds  
(a3 . b1,b2) "\/" (a3 . b2,b3) >= a3 . b1,
b3;
 
end;
 
:: deftheorem Def5  LATTICE5:def 5 : 
canceled; 
:: deftheorem Def6   defines symmetric LATTICE5:def 6 : 
:: deftheorem Def7   defines zeroed LATTICE5:def 7 : 
:: deftheorem Def8   defines u.t.i. LATTICE5:def 8 : 
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
distance_function of 
c1,
c2;
func  alpha c3 ->   Function of 
a2,
(EqRelLATT a1) means :
Def9: 
:: LATTICE5:def 9
for 
b1 being  
Element of 
a2 ex 
b2 being  
Equivalence_Relation of 
a1 st 
( 
b2 = a4 . b1 & ( for 
b3, 
b4 being   
Element of 
a1 holds 
 ( 
[b3,b4] in b2 iff 
a3 . b3,
b4 <= b1 ) ) );
existence 
ex b1 being  Function of c2,(EqRelLATT c1) st 
for b2 being  Element of c2 ex b3 being  Equivalence_Relation of c1 st 
( b3 = b1 . b2 & ( for b4, b5 being   Element of c1 holds 
 ( [b4,b5] in b3 iff c3 . b4,b5 <= b2 ) ) )
 
uniqueness 
for b1, b2 being  Function of c2,(EqRelLATT c1)  st ( for b3 being  Element of c2 ex b4 being  Equivalence_Relation of c1 st 
( b4 = b1 . b3 & ( for b5, b6 being   Element of c1 holds 
 ( [b5,b6] in b4 iff c3 . b5,b6 <= b3 ) ) ) ) & ( for b3 being  Element of c2 ex b4 being  Equivalence_Relation of c1 st 
( b4 = b2 . b3 & ( for b5, b6 being   Element of c1 holds 
 ( [b5,b6] in b4 iff c3 . b5,b6 <= b3 ) ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def9   defines alpha LATTICE5:def 9 : 
theorem Th16: :: LATTICE5:16
theorem Th17: :: LATTICE5:17
:: deftheorem Def10   defines new_set LATTICE5:def 10 : 
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
let c4 be    
Element of 
[:c1,c1,the carrier of c2,the carrier of c2:];
func  new_bi_fun c3,
c4 ->   BiFunction of 
(new_set a1),
a2 means :
Def11: 
:: LATTICE5:def 11
( ( for 
b1, 
b2 being   
Element of 
a1 holds  
a5 . b1,
b2 = a3 . b1,
b2 ) & 
a5 . {a1},
{a1} =  Bottom a2 & 
a5 . {{a1}},
{{a1}} =  Bottom a2 & 
a5 . {{{a1}}},
{{{a1}}} =  Bottom a2 & 
a5 . {{a1}},
{{{a1}}} = a4 `3  & 
a5 . {{{a1}}},
{{a1}} = a4 `3  & 
a5 . {a1},
{{a1}} = a4 `4  & 
a5 . {{a1}},
{a1} = a4 `4  & 
a5 . {a1},
{{{a1}}} = (a4 `3 ) "\/" (a4 `4 ) & 
a5 . {{{a1}}},
{a1} = (a4 `3 ) "\/" (a4 `4 ) & ( for 
b1 being   
Element of 
a1 holds 
 ( 
a5 . b1,
{a1} = (a3 . b1,(a4 `1 )) "\/" (a4 `3 ) & 
a5 . {a1},
b1 = (a3 . b1,(a4 `1 )) "\/" (a4 `3 ) & 
a5 . b1,
{{a1}} = ((a3 . b1,(a4 `1 )) "\/" (a4 `3 )) "\/" (a4 `4 ) & 
a5 . {{a1}},
b1 = ((a3 . b1,(a4 `1 )) "\/" (a4 `3 )) "\/" (a4 `4 ) & 
a5 . b1,
{{{a1}}} = (a3 . b1,(a4 `2 )) "\/" (a4 `4 ) & 
a5 . {{{a1}}},
b1 = (a3 . b1,(a4 `2 )) "\/" (a4 `4 ) ) ) );
existence 
ex b1 being  BiFunction of (new_set c1),c2 st 
( ( for b2, b3 being   Element of c1 holds  b1 . b2,b3 = c3 . b2,b3 ) & b1 . {c1},{c1} =  Bottom c2 & b1 . {{c1}},{{c1}} =  Bottom c2 & b1 . {{{c1}}},{{{c1}}} =  Bottom c2 & b1 . {{c1}},{{{c1}}} = c4 `3  & b1 . {{{c1}}},{{c1}} = c4 `3  & b1 . {c1},{{c1}} = c4 `4  & b1 . {{c1}},{c1} = c4 `4  & b1 . {c1},{{{c1}}} = (c4 `3 ) "\/" (c4 `4 ) & b1 . {{{c1}}},{c1} = (c4 `3 ) "\/" (c4 `4 ) & ( for b2 being   Element of c1 holds 
 ( b1 . b2,{c1} = (c3 . b2,(c4 `1 )) "\/" (c4 `3 ) & b1 . {c1},b2 = (c3 . b2,(c4 `1 )) "\/" (c4 `3 ) & b1 . b2,{{c1}} = ((c3 . b2,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b1 . {{c1}},b2 = ((c3 . b2,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b1 . b2,{{{c1}}} = (c3 . b2,(c4 `2 )) "\/" (c4 `4 ) & b1 . {{{c1}}},b2 = (c3 . b2,(c4 `2 )) "\/" (c4 `4 ) ) ) )
 
uniqueness 
for b1, b2 being  BiFunction of (new_set c1),c2  st ( for b3, b4 being   Element of c1 holds  b1 . b3,b4 = c3 . b3,b4 ) & b1 . {c1},{c1} =  Bottom c2 & b1 . {{c1}},{{c1}} =  Bottom c2 & b1 . {{{c1}}},{{{c1}}} =  Bottom c2 & b1 . {{c1}},{{{c1}}} = c4 `3  & b1 . {{{c1}}},{{c1}} = c4 `3  & b1 . {c1},{{c1}} = c4 `4  & b1 . {{c1}},{c1} = c4 `4  & b1 . {c1},{{{c1}}} = (c4 `3 ) "\/" (c4 `4 ) & b1 . {{{c1}}},{c1} = (c4 `3 ) "\/" (c4 `4 ) & ( for b3 being   Element of c1 holds 
 ( b1 . b3,{c1} = (c3 . b3,(c4 `1 )) "\/" (c4 `3 ) & b1 . {c1},b3 = (c3 . b3,(c4 `1 )) "\/" (c4 `3 ) & b1 . b3,{{c1}} = ((c3 . b3,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b1 . {{c1}},b3 = ((c3 . b3,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b1 . b3,{{{c1}}} = (c3 . b3,(c4 `2 )) "\/" (c4 `4 ) & b1 . {{{c1}}},b3 = (c3 . b3,(c4 `2 )) "\/" (c4 `4 ) ) ) & ( for b3, b4 being   Element of c1 holds  b2 . b3,b4 = c3 . b3,b4 ) & b2 . {c1},{c1} =  Bottom c2 & b2 . {{c1}},{{c1}} =  Bottom c2 & b2 . {{{c1}}},{{{c1}}} =  Bottom c2 & b2 . {{c1}},{{{c1}}} = c4 `3  & b2 . {{{c1}}},{{c1}} = c4 `3  & b2 . {c1},{{c1}} = c4 `4  & b2 . {{c1}},{c1} = c4 `4  & b2 . {c1},{{{c1}}} = (c4 `3 ) "\/" (c4 `4 ) & b2 . {{{c1}}},{c1} = (c4 `3 ) "\/" (c4 `4 ) & ( for b3 being   Element of c1 holds 
 ( b2 . b3,{c1} = (c3 . b3,(c4 `1 )) "\/" (c4 `3 ) & b2 . {c1},b3 = (c3 . b3,(c4 `1 )) "\/" (c4 `3 ) & b2 . b3,{{c1}} = ((c3 . b3,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b2 . {{c1}},b3 = ((c3 . b3,(c4 `1 )) "\/" (c4 `3 )) "\/" (c4 `4 ) & b2 . b3,{{{c1}}} = (c3 . b3,(c4 `2 )) "\/" (c4 `4 ) & b2 . {{{c1}}},b3 = (c3 . b3,(c4 `2 )) "\/" (c4 `4 ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def11   defines new_bi_fun LATTICE5:def 11 : 
for 
b1 being non 
empty  set  for 
b2 being 
lower-bounded LATTICE for 
b3 being  
BiFunction of 
b1,
b2 for 
b4 being   
Element of 
[:b1,b1,the carrier of b2,the carrier of b2:] for 
b5 being  
BiFunction of 
(new_set b1),
b2 holds 
 ( 
b5 =  new_bi_fun b3,
b4 iff ( ( for 
b6, 
b7 being   
Element of 
b1 holds  
b5 . b6,
b7 = b3 . b6,
b7 ) & 
b5 . {b1},
{b1} =  Bottom b2 & 
b5 . {{b1}},
{{b1}} =  Bottom b2 & 
b5 . {{{b1}}},
{{{b1}}} =  Bottom b2 & 
b5 . {{b1}},
{{{b1}}} = b4 `3  & 
b5 . {{{b1}}},
{{b1}} = b4 `3  & 
b5 . {b1},
{{b1}} = b4 `4  & 
b5 . {{b1}},
{b1} = b4 `4  & 
b5 . {b1},
{{{b1}}} = (b4 `3 ) "\/" (b4 `4 ) & 
b5 . {{{b1}}},
{b1} = (b4 `3 ) "\/" (b4 `4 ) & ( for 
b6 being   
Element of 
b1 holds 
 ( 
b5 . b6,
{b1} = (b3 . b6,(b4 `1 )) "\/" (b4 `3 ) & 
b5 . {b1},
b6 = (b3 . b6,(b4 `1 )) "\/" (b4 `3 ) & 
b5 . b6,
{{b1}} = ((b3 . b6,(b4 `1 )) "\/" (b4 `3 )) "\/" (b4 `4 ) & 
b5 . {{b1}},
b6 = ((b3 . b6,(b4 `1 )) "\/" (b4 `3 )) "\/" (b4 `4 ) & 
b5 . b6,
{{{b1}}} = (b3 . b6,(b4 `2 )) "\/" (b4 `4 ) & 
b5 . {{{b1}}},
b6 = (b3 . b6,(b4 `2 )) "\/" (b4 `4 ) ) ) ) );
theorem Th18: :: LATTICE5:18
theorem Th19: :: LATTICE5:19
theorem Th20: :: LATTICE5:20
theorem Th21: :: LATTICE5:21
theorem Th22: :: LATTICE5:22
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
func  DistEsti c3 ->   Cardinal means :
Def12: 
:: LATTICE5:def 12
a4,
{ [b1,b2,b3,b4] where B is    Element of a1, B is    Element of a1, B is   Element of a2, B is   Element of a2 : a3 . b1,b2 <= b3 "\/" b4 }  are_equipotent ;
existence 
ex b1 being  Cardinal st b1,{ [b2,b3,b4,b5] where B is    Element of c1, B is    Element of c1, B is   Element of c2, B is   Element of c2 : c3 . b2,b3 <= b4 "\/" b5 }  are_equipotent 
 
uniqueness 
for b1, b2 being  Cardinal  st b1,{ [b3,b4,b5,b6] where B is    Element of c1, B is    Element of c1, B is   Element of c2, B is   Element of c2 : c3 . b3,b4 <= b5 "\/" b6 }  are_equipotent  & b2,{ [b3,b4,b5,b6] where B is    Element of c1, B is    Element of c1, B is   Element of c2, B is   Element of c2 : c3 . b3,b4 <= b5 "\/" b6 }  are_equipotent  holds 
b1 = b2
 
 
end;
 
:: deftheorem Def12   defines DistEsti LATTICE5:def 12 : 
theorem Th23: :: LATTICE5:23
:: deftheorem Def13   defines ConsecutiveSet LATTICE5:def 13 : 
theorem Th24: :: LATTICE5:24
theorem Th25: :: LATTICE5:25
theorem Th26: :: LATTICE5:26
theorem Th27: :: LATTICE5:27
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
mode  QuadrSeq of 
c3 ->    T-Sequence of 
[:a1,a1,the carrier of a2,the carrier of a2:] means :
Def14: 
:: LATTICE5:def 14
(  
dom a4 is   
Cardinal & 
a4 is 
one-to-one &  
rng a4 = { [b1,b2,b3,b4] where B is    Element of a1, B is    Element of a1, B is   Element of a2, B is   Element of a2 : a3 . b1,b2 <= b3 "\/" b4 }  );
existence 
ex b1 being   T-Sequence of [:c1,c1,the carrier of c2,the carrier of c2:] st 
(  dom b1 is   Cardinal & b1 is one-to-one &  rng b1 = { [b2,b3,b4,b5] where B is    Element of c1, B is    Element of c1, B is   Element of c2, B is   Element of c2 : c3 . b2,b3 <= b4 "\/" b5 }  )
 
 
end;
 
:: deftheorem Def14   defines QuadrSeq LATTICE5:def 14 : 
for 
b1 being non 
empty  set  for 
b2 being 
lower-bounded LATTICE for 
b3 being  
BiFunction of 
b1,
b2 for 
b4 being   
T-Sequence of 
[:b1,b1,the carrier of b2,the carrier of b2:] holds 
 ( 
b4 is    
QuadrSeq of 
b3 iff (  
dom b4 is   
Cardinal & 
b4 is 
one-to-one &  
rng b4 = { [b5,b6,b7,b8] where B is    Element of b1, B is    Element of b1, B is   Element of b2, B is   Element of b2 : b3 . b5,b6 <= b7 "\/" b8 }  ) );
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
let c4 be    
QuadrSeq of 
c3;
let c5 be   
Ordinal;
assume E37: 
c5 in  dom c4
 ;
func  Quadr c4,
c5 ->    Element of 
[:(ConsecutiveSet a1,a5),(ConsecutiveSet a1,a5),the carrier of a2,the carrier of a2:] equals :
Def15: 
:: LATTICE5:def 15
a4 . a5;
correctness 
coherence 
c4 . c5 is    Element of [:(ConsecutiveSet c1,c5),(ConsecutiveSet c1,c5),the carrier of c2,the carrier of c2:];
 
end;
 
:: deftheorem Def15   defines Quadr LATTICE5:def 15 : 
theorem Th28: :: LATTICE5:28
:: deftheorem Def16   defines BiFun LATTICE5:def 16 : 
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
BiFunction of 
c1,
c2;
let c4 be    
QuadrSeq of 
c3;
let c5 be   
Ordinal;
func  ConsecutiveDelta c4,
c5 ->    set  means :
Def17: 
:: LATTICE5:def 17
ex 
b1 being  
T-Sequence st 
( 
a6 =  last b1 &  
dom b1 =  succ a5 & 
b1 . {}  = a3 & ( for 
b2 being  
Ordinal  st  
succ b2 in  succ a5 holds 
b1 . (succ b2) =  new_bi_fun (BiFun (b1 . b2),(ConsecutiveSet a1,b2),a2),
(Quadr a4,b2) ) & ( for 
b2 being  
Ordinal  st 
b2 in  succ a5 & 
b2 <>  {}  & 
b2 is_limit_ordinal  holds 
b1 . b2 =  union (rng (b1 | b2)) ) );
correctness 
existence 
ex b1 being   set ex b2 being  T-Sequence st 
( b1 =  last b2 &  dom b2 =  succ c5 & b2 . {}  = c3 & ( for b3 being  Ordinal  st  succ b3 in  succ c5 holds 
b2 . (succ b3) =  new_bi_fun (BiFun (b2 . b3),(ConsecutiveSet c1,b3),c2),(Quadr c4,b3) ) & ( for b3 being  Ordinal  st b3 in  succ c5 & b3 <>  {}  & b3 is_limit_ordinal  holds 
b2 . b3 =  union (rng (b2 | b3)) ) );
uniqueness 
for b1, b2 being   set   st ex b3 being  T-Sequence st 
( b1 =  last b3 &  dom b3 =  succ c5 & b3 . {}  = c3 & ( for b4 being  Ordinal  st  succ b4 in  succ c5 holds 
b3 . (succ b4) =  new_bi_fun (BiFun (b3 . b4),(ConsecutiveSet c1,b4),c2),(Quadr c4,b4) ) & ( for b4 being  Ordinal  st b4 in  succ c5 & b4 <>  {}  & b4 is_limit_ordinal  holds 
b3 . b4 =  union (rng (b3 | b4)) ) ) & ex b3 being  T-Sequence st 
( b2 =  last b3 &  dom b3 =  succ c5 & b3 . {}  = c3 & ( for b4 being  Ordinal  st  succ b4 in  succ c5 holds 
b3 . (succ b4) =  new_bi_fun (BiFun (b3 . b4),(ConsecutiveSet c1,b4),c2),(Quadr c4,b4) ) & ( for b4 being  Ordinal  st b4 in  succ c5 & b4 <>  {}  & b4 is_limit_ordinal  holds 
b3 . b4 =  union (rng (b3 | b4)) ) ) holds 
b1 = b2;
 
end;
 
:: deftheorem Def17   defines ConsecutiveDelta LATTICE5:def 17 : 
theorem Th29: :: LATTICE5:29
theorem Th30: :: LATTICE5:30
theorem Th31: :: LATTICE5:31
theorem Th32: :: LATTICE5:32
theorem Th33: :: LATTICE5:33
theorem Th34: :: LATTICE5:34
theorem Th35: :: LATTICE5:35
theorem Th36: :: LATTICE5:36
theorem Th37: :: LATTICE5:37
theorem Th38: :: LATTICE5:38
theorem Th39: :: LATTICE5:39
:: deftheorem Def18   defines NextSet LATTICE5:def 18 : 
:: deftheorem Def19   defines NextDelta LATTICE5:def 19 : 
:: deftheorem Def20   defines is_extension_of LATTICE5:def 20 : 
theorem Th40: :: LATTICE5:40
for 
b1 being non 
empty  set  for 
b2 being 
lower-bounded LATTICE for 
b3 being  
distance_function of 
b1,
b2 for 
b4 being non 
empty  set  for 
b5 being  
distance_function of 
b4,
b2  st 
b4,
b5 is_extension_of b1,
b3 holds 
for 
b6, 
b7 being   
Element of 
b1 for 
b8, 
b9 being  
Element of 
b2  st 
b3 . b6,
b7 <= b8 "\/" b9 holds 
ex 
b10, 
b11, 
b12 being   
Element of 
b4 st 
( 
b5 . b6,
b10 = b8 & 
b5 . b11,
b12 = b8 & 
b5 . b10,
b11 = b9 & 
b5 . b12,
b7 = b9 )
definition
let c1 be  non 
empty  set ;
let c2 be  
lower-bounded LATTICE;
let c3 be   
distance_function of 
c1,
c2;
mode  ExtensionSeq of 
c1,
c3 ->   Function means :
Def21: 
:: LATTICE5:def 21
(  
dom a4 =  NAT  & 
a4 . 0 
= [a1,a3] & ( for 
b1 being  
Nat ex 
b2 being non 
empty  set ex 
b3 being  
distance_function of 
b2,
a2ex 
b4 being non 
empty  set ex 
b5 being  
distance_function of 
b4,
a2 st 
( 
b4,
b5 is_extension_of b2,
b3 & 
a4 . b1 = [b2,b3] & 
a4 . (b1 + 1) = [b4,b5] ) ) );
existence 
ex b1 being  Function st 
(  dom b1 =  NAT  & b1 . 0 = [c1,c3] & ( for b2 being  Nat ex b3 being non empty  set ex b4 being  distance_function of b3,c2ex b5 being non empty  set ex b6 being  distance_function of b5,c2 st 
( b5,b6 is_extension_of b3,b4 & b1 . b2 = [b3,b4] & b1 . (b2 + 1) = [b5,b6] ) ) )
 
 
end;
 
:: deftheorem Def21   defines ExtensionSeq LATTICE5:def 21 : 
theorem Th41: :: LATTICE5:41
theorem Th42: :: LATTICE5:42
definition
let c1 be  
lower-bounded LATTICE;
func  BasicDF c1 ->   distance_function of the 
carrier of 
a1,
a1 means :
Def22: 
:: LATTICE5:def 22
for 
b1, 
b2 being  
Element of 
a1 holds 
 ( ( 
b1 <> b2 implies 
a2 . b1,
b2 = b1 "\/" b2 ) & ( 
b1 = b2 implies 
a2 . b1,
b2 =  Bottom a1 ) );
existence 
ex b1 being  distance_function of the carrier of c1,c1 st 
for b2, b3 being  Element of c1 holds 
 ( ( b2 <> b3 implies b1 . b2,b3 = b2 "\/" b3 ) & ( b2 = b3 implies b1 . b2,b3 =  Bottom c1 ) )
 
uniqueness 
for b1, b2 being  distance_function of the carrier of c1,c1  st ( for b3, b4 being  Element of c1 holds 
 ( ( b3 <> b4 implies b1 . b3,b4 = b3 "\/" b4 ) & ( b3 = b4 implies b1 . b3,b4 =  Bottom c1 ) ) ) & ( for b3, b4 being  Element of c1 holds 
 ( ( b3 <> b4 implies b2 . b3,b4 = b3 "\/" b4 ) & ( b3 = b4 implies b2 . b3,b4 =  Bottom c1 ) ) ) holds 
b1 = b2
 
 
end;
 
:: deftheorem Def22   defines BasicDF LATTICE5:def 22 : 
theorem Th43: :: LATTICE5:43
E58: 
now 
let c1 be   
Nat;
assume E59: 
( 1 
<= c1 & 
c1 < 5 )
 ;
then 
c1 < 4 
+ 1
 ;
then 
c1 <= 4
 
by NAT_1:38;
then 
( 
c1 = 0 or 
c1 = 1 or 
c1 = 2 or 
c1 = 3 or 
c1 = 4 )
 
by CQC_THE1:5;
hence 
( 
c1 = 1 or 
c1 = 2 or 
c1 = 3 or 
c1 = 4 )
 
by E59;
 
end;
 
theorem Th44: :: LATTICE5:44
theorem Th45: :: LATTICE5:45
for 
b1 being 
lower-bounded LATTICE for 
b2 being   
ExtensionSeq of the 
carrier of 
b1, 
BasicDF b1 for 
b3 being non 
empty  set  for 
b4 being  
distance_function of 
b3,
b1 for 
b5, 
b6 being   
Element of 
b3 for 
b7, 
b8 being  
Element of 
b1  st 
b3 =  union { ((b2 . b9) `1 ) where B is   Nat : verum }  & 
b4 =  union { ((b2 . b9) `2 ) where B is   Nat : verum }  & 
b4 . b5,
b6 <= b7 "\/" b8 holds 
ex 
b9, 
b10, 
b11 being   
Element of 
b3 st 
( 
b4 . b5,
b9 = b7 & 
b4 . b10,
b11 = b7 & 
b4 . b9,
b10 = b8 & 
b4 . b11,
b6 = b8 )
theorem Th46: :: LATTICE5:46
for 
b1 being 
lower-bounded LATTICE for 
b2 being   
ExtensionSeq of the 
carrier of 
b1, 
BasicDF b1 for 
b3 being non 
empty  set  for 
b4 being  
distance_function of 
b3,
b1 for 
b5 being  
Homomorphism of 
b1,
(EqRelLATT b3) for 
b6, 
b7 being   
Element of 
b3 for 
b8, 
b9 being  
Equivalence_Relation of 
b3 for 
b10, 
b11 being   
set   st 
b5 =  alpha b4 & 
b3 =  union { ((b2 . b12) `1 ) where B is   Nat : verum }  & 
b4 =  union { ((b2 . b12) `2 ) where B is   Nat : verum }  & 
b8 in the 
carrier of 
(Image b5) & 
b9 in the 
carrier of 
(Image b5) & 
[b10,b11] in b8 "\/" b9 holds 
ex 
b12 being non 
empty  FinSequence of 
b3 st 
(  
len b12 = 3 
+ 2 & 
b10,
b11 are_joint_by b12,
b8,
b9 )
theorem Th47: :: LATTICE5:47