let L be complete Lattice; :: thesis: for C being FormalContext holds
( ConceptLattice C,L are_isomorphic iff ex g being Function of the carrier of C,the carrier of L ex d being Function of the carrier' of C,the carrier of L st
( rng g is supremum-dense & rng d is infimum-dense & ( for o being Object of C
for a being Attribute of C holds
( o is-connected-with a iff g . o [= d . a ) ) ) )
let C be FormalContext; :: thesis: ( ConceptLattice C,L are_isomorphic iff ex g being Function of the carrier of C,the carrier of L ex d being Function of the carrier' of C,the carrier of L st
( rng g is supremum-dense & rng d is infimum-dense & ( for o being Object of C
for a being Attribute of C holds
( o is-connected-with a iff g . o [= d . a ) ) ) )
given g being Function of the carrier of C,the carrier of L, d being Function of the carrier' of C,the carrier of L such that A28:
( rng g is supremum-dense & rng d is infimum-dense & ( for o being Object of C
for a being Attribute of C holds
( o is-connected-with a iff g . o [= d . a ) ) )
; :: thesis: ConceptLattice C,L are_isomorphic
set f = { [ConceptStr(# O,A #),x] where O is Subset of the carrier of C, A is Subset of the carrier' of C, x is Element of L : ( ConceptStr(# O,A #) is FormalConcept of C & x = "\/" { (g . o) where o is Object of C : o in O } ,L ) } ;
A29:
ConceptLattice C = LattStr(# (B-carrier C),(B-join C),(B-meet C) #)
by CONLAT_1:def 23;
{ [ConceptStr(# O,A #),x] where O is Subset of the carrier of C, A is Subset of the carrier' of C, x is Element of L : ( ConceptStr(# O,A #) is FormalConcept of C & x = "\/" { (g . o) where o is Object of C : o in O } ,L ) } c= [:the carrier of (ConceptLattice C),the carrier of L:]
proof
let y be
set ;
:: according to TARSKI:def 3 :: thesis: ( not y in { [ConceptStr(# O,A #),x] where O is Subset of the carrier of C, A is Subset of the carrier' of C, x is Element of L : ( ConceptStr(# O,A #) is FormalConcept of C & x = "\/" { (g . o) where o is Object of C : o in O } ,L ) } or y in [:the carrier of (ConceptLattice C),the carrier of L:] )
assume
y in { [ConceptStr(# O,A #),x] where O is Subset of the carrier of C, A is Subset of the carrier' of C, x is Element of L : ( ConceptStr(# O,A #) is FormalConcept of C & x = "\/" { (g . o) where o is Object of C : o in O } ,L ) }
;
:: thesis: y in [:the carrier of (ConceptLattice C),the carrier of L:]
then consider O being
Subset of the
carrier of
C,
A being
Subset of the
carrier' of
C,
x being
Element of
L such that A30:
(
y = [ConceptStr(# O,A #),x] &
ConceptStr(#
O,
A #) is
FormalConcept of
C &
x = "\/" { (g . o) where o is Object of C : o in O } ,
L )
;
ConceptStr(#
O,
A #)
in the
carrier of
(ConceptLattice C)
by A29, A30, CONLAT_1:35;
hence
y in [:the carrier of (ConceptLattice C),the carrier of L:]
by A30, ZFMISC_1:def 2;
:: thesis: verum
end;
then reconsider f = { [ConceptStr(# O,A #),x] where O is Subset of the carrier of C, A is Subset of the carrier' of C, x is Element of L : ( ConceptStr(# O,A #) is FormalConcept of C & x = "\/" { (g . o) where o is Object of C : o in O } ,L ) } as Relation of the carrier of (ConceptLattice C),the carrier of L ;
the carrier of (ConceptLattice C) c= dom f
then A33:
the carrier of (ConceptLattice C) = dom f
by XBOOLE_0:def 10;
for x, y1, y2 being set st [x,y1] in f & [x,y2] in f holds
y1 = y2
proof
let x,
y1,
y2 be
set ;
:: thesis: ( [x,y1] in f & [x,y2] in f implies y1 = y2 )
assume A34:
(
[x,y1] in f &
[x,y2] in f )
;
:: thesis: y1 = y2
then consider O being
Subset of the
carrier of
C,
A being
Subset of the
carrier' of
C,
z being
Element of
L such that A35:
(
[x,y1] = [ConceptStr(# O,A #),z] &
ConceptStr(#
O,
A #) is
FormalConcept of
C &
z = "\/" { (g . o) where o is Object of C : o in O } ,
L )
;
consider O' being
Subset of the
carrier of
C,
A' being
Subset of the
carrier' of
C,
z' being
Element of
L such that A36:
(
[x,y2] = [ConceptStr(# O',A' #),z'] &
ConceptStr(#
O',
A' #) is
FormalConcept of
C &
z' = "\/" { (g . o) where o is Object of C : o in O' } ,
L )
by A34;
ConceptStr(#
O,
A #) =
[x,y1] `1
by A35, MCART_1:def 1
.=
x
by MCART_1:def 1
.=
[x,y2] `1
by MCART_1:def 1
.=
ConceptStr(#
O',
A' #)
by A36, MCART_1:def 1
;
hence y1 =
[x,y2] `2
by A35, A36, MCART_1:def 2
.=
y2
by MCART_1:def 2
;
:: thesis: verum
end;
then reconsider f = f as Function of the carrier of (ConceptLattice C),the carrier of L by A33, FUNCT_1:def 1, FUNCT_2:def 1;
A37:
ConceptLattice C = LattStr(# (B-carrier C),(B-join C),(B-meet C) #)
by CONLAT_1:def 23;
A38:
for a, b being Element of (ConceptLattice C) st a [= b holds
f . a [= f . b
set fi = { [x,ConceptStr(# O,A #)] where x is Element of L, O is Subset of the carrier of C, A is Subset of the carrier' of C : ( O = { o where o is Object of C : g . o [= x } & A = { a where a is Attribute of C : x [= d . a } ) } ;
{ [x,ConceptStr(# O,A #)] where x is Element of L, O is Subset of the carrier of C, A is Subset of the carrier' of C : ( O = { o where o is Object of C : g . o [= x } & A = { a where a is Attribute of C : x [= d . a } ) } c= [:the carrier of L,the carrier of (ConceptLattice C):]
proof
let y be
set ;
:: according to TARSKI:def 3 :: thesis: ( not y in { [x,ConceptStr(# O,A #)] where x is Element of L, O is Subset of the carrier of C, A is Subset of the carrier' of C : ( O = { o where o is Object of C : g . o [= x } & A = { a where a is Attribute of C : x [= d . a } ) } or y in [:the carrier of L,the carrier of (ConceptLattice C):] )
assume
y in { [x,ConceptStr(# O,A #)] where x is Element of L, O is Subset of the carrier of C, A is Subset of the carrier' of C : ( O = { o where o is Object of C : g . o [= x } & A = { a where a is Attribute of C : x [= d . a } ) }
;
:: thesis: y in [:the carrier of L,the carrier of (ConceptLattice C):]
then consider x being
Element of
L,
O being
Subset of the
carrier of
C,
A being
Subset of the
carrier' of
C such that A43:
(
y = [x,ConceptStr(# O,A #)] &
O = { o where o is Object of C : g . o [= x } &
A = { a where a is Attribute of C : x [= d . a } )
;
A44:
(ObjectDerivation C) . the
Extent of
ConceptStr(#
O,
A #)
= the
Intent of
ConceptStr(#
O,
A #)
proof
thus
(ObjectDerivation C) . the
Extent of
ConceptStr(#
O,
A #)
c= the
Intent of
ConceptStr(#
O,
A #)
:: according to XBOOLE_0:def 10 :: thesis: the Intent of ConceptStr(# O,A #) c= (ObjectDerivation C) . the Extent of ConceptStr(# O,A #)proof
let u be
set ;
:: according to TARSKI:def 3 :: thesis: ( not u in (ObjectDerivation C) . the Extent of ConceptStr(# O,A #) or u in the Intent of ConceptStr(# O,A #) )
assume
u in (ObjectDerivation C) . the
Extent of
ConceptStr(#
O,
A #)
;
:: thesis: u in the Intent of ConceptStr(# O,A #)
then
u in { o where o is Attribute of C : for a being Object of C st a in the Extent of ConceptStr(# O,A #) holds
a is-connected-with o }
by CONLAT_1:def 6;
then consider u' being
Attribute of
C such that A45:
(
u' = u & ( for
a being
Object of
C st
a in the
Extent of
ConceptStr(#
O,
A #) holds
a is-connected-with u' ) )
;
A46:
for
v being
Object of
C st
v in { a where a is Object of C : g . a [= x } holds
g . v [= d . u'
A47:
{ (g . a) where a is Object of C : g . a [= x } is_less_than d . u'
"\/" { (g . a') where a' is Object of C : g . a' [= x } ,
L = x
then
x [= d . u'
by A47, LATTICE3:def 21;
hence
u in the
Intent of
ConceptStr(#
O,
A #)
by A43, A45;
:: thesis: verum
end;
let u be
set ;
:: according to TARSKI:def 3 :: thesis: ( not u in the Intent of ConceptStr(# O,A #) or u in (ObjectDerivation C) . the Extent of ConceptStr(# O,A #) )
assume
u in the
Intent of
ConceptStr(#
O,
A #)
;
:: thesis: u in (ObjectDerivation C) . the Extent of ConceptStr(# O,A #)
then consider u' being
Attribute of
C such that A55:
(
u' = u &
x [= d . u' )
by A43;
A56:
for
v being
Object of
C st
v in { a where a is Object of C : g . a [= x } holds
g . v [= d . u'
for
v being
Object of
C st
v in { a where a is Object of C : g . a [= x } holds
v is-connected-with u'
then
u' in { o where o is Attribute of C : for a being Object of C st a in the Extent of ConceptStr(# O,A #) holds
a is-connected-with o }
by A43;
hence
u in (ObjectDerivation C) . the
Extent of
ConceptStr(#
O,
A #)
by A55, CONLAT_1:def 6;
:: thesis: verum
end;
(AttributeDerivation C) . the
Intent of
ConceptStr(#
O,
A #)
= the
Extent of
ConceptStr(#
O,
A #)
proof
thus
(AttributeDerivation C) . the
Intent of
ConceptStr(#
O,
A #)
c= the
Extent of
ConceptStr(#
O,
A #)
:: according to XBOOLE_0:def 10 :: thesis: the Extent of ConceptStr(# O,A #) c= (AttributeDerivation C) . the Intent of ConceptStr(# O,A #)proof
let u be
set ;
:: according to TARSKI:def 3 :: thesis: ( not u in (AttributeDerivation C) . the Intent of ConceptStr(# O,A #) or u in the Extent of ConceptStr(# O,A #) )
assume
u in (AttributeDerivation C) . the
Intent of
ConceptStr(#
O,
A #)
;
:: thesis: u in the Extent of ConceptStr(# O,A #)
then
u in { o where o is Object of C : for a being Attribute of C st a in the Intent of ConceptStr(# O,A #) holds
o is-connected-with a }
by CONLAT_1:def 7;
then consider u' being
Object of
C such that A58:
(
u' = u & ( for
a being
Attribute of
C st
a in the
Intent of
ConceptStr(#
O,
A #) holds
u' is-connected-with a ) )
;
A59:
for
v being
Attribute of
C st
v in { a where a is Attribute of C : x [= d . a } holds
g . u' [= d . v
A60:
g . u' is_less_than { (d . a) where a is Attribute of C : x [= d . a }
"/\" { (d . a') where a' is Attribute of C : x [= d . a' } ,
L = x
then
g . u' [= x
by A60, LATTICE3:34;
hence
u in the
Extent of
ConceptStr(#
O,
A #)
by A43, A58;
:: thesis: verum
end;
let u be
set ;
:: according to TARSKI:def 3 :: thesis: ( not u in the Extent of ConceptStr(# O,A #) or u in (AttributeDerivation C) . the Intent of ConceptStr(# O,A #) )
assume
u in the
Extent of
ConceptStr(#
O,
A #)
;
:: thesis: u in (AttributeDerivation C) . the Intent of ConceptStr(# O,A #)
then consider u' being
Object of
C such that A68:
(
u' = u &
g . u' [= x )
by A43;
A69:
for
v being
Attribute of
C st
v in { a where a is Attribute of C : x [= d . a } holds
g . u' [= d . v
for
v being
Attribute of
C st
v in { a where a is Attribute of C : x [= d . a } holds
u' is-connected-with v
then
u' in { o where o is Object of C : for a being Attribute of C st a in the Intent of ConceptStr(# O,A #) holds
o is-connected-with a }
by A43;
hence
u in (AttributeDerivation C) . the
Intent of
ConceptStr(#
O,
A #)
by A68, CONLAT_1:def 7;
:: thesis: verum
end;
then
ConceptStr(#
O,
A #) is
FormalConcept of
C
by A44, Lm3, CONLAT_1:def 13;
then
ConceptStr(#
O,
A #)
in the
carrier of
(ConceptLattice C)
by A29, CONLAT_1:35;
hence
y in [:the carrier of L,the carrier of (ConceptLattice C):]
by A43, ZFMISC_1:def 2;
:: thesis: verum
end;
then reconsider fi = { [x,ConceptStr(# O,A #)] where x is Element of L, O is Subset of the carrier of C, A is Subset of the carrier' of C : ( O = { o where o is Object of C : g . o [= x } & A = { a where a is Attribute of C : x [= d . a } ) } as Relation of the carrier of L,the carrier of (ConceptLattice C) ;
the carrier of L c= dom fi
then A73:
the carrier of L = dom fi
by XBOOLE_0:def 10;
for x, y1, y2 being set st [x,y1] in fi & [x,y2] in fi holds
y1 = y2
proof
let x,
y1,
y2 be
set ;
:: thesis: ( [x,y1] in fi & [x,y2] in fi implies y1 = y2 )
assume A74:
(
[x,y1] in fi &
[x,y2] in fi )
;
:: thesis: y1 = y2
then consider z being
Element of
L,
O being
Subset of the
carrier of
C,
A being
Subset of the
carrier' of
C such that A75:
(
[x,y1] = [z,ConceptStr(# O,A #)] &
O = { o where o is Object of C : g . o [= z } &
A = { a where a is Attribute of C : z [= d . a } )
;
consider z' being
Element of
L,
O' being
Subset of the
carrier of
C,
A' being
Subset of the
carrier' of
C such that A76:
(
[x,y2] = [z',ConceptStr(# O',A' #)] &
O' = { o where o is Object of C : g . o [= z' } &
A' = { a where a is Attribute of C : z' [= d . a } )
by A74;
z =
[x,y1] `1
by A75, MCART_1:def 1
.=
x
by MCART_1:def 1
.=
[x,y2] `1
by MCART_1:def 1
.=
z'
by A76, MCART_1:def 1
;
hence y1 =
[x,y2] `2
by A75, A76, MCART_1:def 2
.=
y2
by MCART_1:def 2
;
:: thesis: verum
end;
then reconsider fi = fi as Function of the carrier of L,the carrier of (ConceptLattice C) by A73, FUNCT_1:def 1, FUNCT_2:def 1;
A77:
for a, b being Element of L st a [= b holds
fi . a [= fi . b
proof
let a,
b be
Element of
L;
:: thesis: ( a [= b implies fi . a [= fi . b )
assume A78:
a [= b
;
:: thesis: fi . a [= fi . b
A79:
{ o where o is Object of C : g . o [= a } c= { o where o is Object of C : g . o [= b }
A81:
dom fi = the
carrier of
L
by FUNCT_2:def 1;
then consider ya being
set such that A82:
[a,ya] in fi
by RELAT_1:def 4;
consider xa being
Element of
L,
Oa being
Subset of the
carrier of
C,
Aa being
Subset of the
carrier' of
C such that A83:
(
[a,ya] = [xa,ConceptStr(# Oa,Aa #)] &
Oa = { o where o is Object of C : g . o [= xa } &
Aa = { a' where a' is Attribute of C : xa [= d . a' } )
by A82;
consider yb being
set such that A84:
[b,yb] in fi
by A81, RELAT_1:def 4;
consider xb being
Element of
L,
Ob being
Subset of the
carrier of
C,
Ab being
Subset of the
carrier' of
C such that A85:
(
[b,yb] = [xb,ConceptStr(# Ob,Ab #)] &
Ob = { o where o is Object of C : g . o [= xb } &
Ab = { a' where a' is Attribute of C : xb [= d . a' } )
by A84;
A86:
a =
[xa,ConceptStr(# Oa,Aa #)] `1
by A83, MCART_1:def 1
.=
xa
by MCART_1:def 1
;
A87:
b =
[xb,ConceptStr(# Ob,Ab #)] `1
by A85, MCART_1:def 1
.=
xb
by MCART_1:def 1
;
A88:
fi . a = ConceptStr(#
Oa,
Aa #)
by A82, A83, A86, FUNCT_1:8;
A89:
fi . b = ConceptStr(#
Ob,
Ab #)
by A84, A85, A87, FUNCT_1:8;
set ca =
fi . a;
set cb =
fi . b;
( the
Extent of
((fi . a) @ ) = Oa & the
Extent of
((fi . b) @ ) = Ob )
by A88, A89, CONLAT_1:def 24;
then
(fi . a) @ is-SubConcept-of (fi . b) @
by A79, A83, A85, A86, A87, CONLAT_1:def 19;
hence
fi . a [= fi . b
by CONLAT_1:47;
:: thesis: verum
end;
A90:
for a being Element of L holds f . (fi . a) = a
proof
let a be
Element of
L;
:: thesis: f . (fi . a) = a
reconsider a =
a as
Element of
L ;
set O =
{ o where o is Object of C : g . o [= a } ;
{ o where o is Object of C : g . o [= a } c= the
carrier of
C
then reconsider O =
{ o where o is Object of C : g . o [= a } as
Subset of the
carrier of
C ;
set A =
{ a' where a' is Attribute of C : a [= d . a' } ;
{ a' where a' is Attribute of C : a [= d . a' } c= the
carrier' of
C
then reconsider A =
{ a' where a' is Attribute of C : a [= d . a' } as
Subset of the
carrier' of
C ;
A93:
[a,ConceptStr(# O,A #)] in fi
;
set b =
"\/" { (g . o) where o is Object of C : o in the Extent of ConceptStr(# O,A #) } ,
L;
ConceptStr(#
O,
A #)
in rng fi
by A93, RELAT_1:def 5;
then
ConceptStr(#
O,
A #) is
FormalConcept of
C
by A37, CONLAT_1:35;
then
[ConceptStr(# O,A #),("\/" { (g . o) where o is Object of C : o in the Extent of ConceptStr(# O,A #) } ,L)] in f
;
then A94:
f . ConceptStr(#
O,
A #)
= "\/" { (g . o) where o is Object of C : o in the Extent of ConceptStr(# O,A #) } ,
L
by FUNCT_1:8;
"\/" { (g . o) where o is Object of C : o in { o' where o' is Object of C : g . o' [= a } } ,
L = a
hence
f . (fi . a) = a
by A93, A94, FUNCT_1:8;
:: thesis: verum
end;
A102:
for x being Element of (ConceptLattice C) holds f . x = "/\" { (d . a) where a is Attribute of C : a in the Intent of (x @ ) } ,L
proof
let x be
Element of
(ConceptLattice C);
:: thesis: f . x = "/\" { (d . a) where a is Attribute of C : a in the Intent of (x @ ) } ,L
set y =
"\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L;
A103:
[(x @ ),("\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L)] in f
;
A104:
f . x =
f . (x @ )
by CONLAT_1:def 24
.=
"\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L
by A103, FUNCT_1:8
;
A105:
for
o' being
Object of
C st
o' in the
Extent of
(x @ ) holds
for
a' being
Attribute of
C st
a' in the
Intent of
(x @ ) holds
g . o' [= d . a'
A108:
for
o being
set st
o in { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' } holds
o in { (d . a) where a is Attribute of C : a in the Intent of (x @ ) }
A111:
for
o being
set st
o in { (d . a) where a is Attribute of C : a in the Intent of (x @ ) } holds
o in { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' }
"/\" { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' } ,
L = "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L
proof
consider D being
Subset of
(rng d) such that A114:
"/\" D,
L = "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L
by A28, LATTICE6:def 14;
A115:
"\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L is_less_than D
by A114, LATTICE3:34;
D c= { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' }
then A118:
"/\" { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' } ,
L [= "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L
by A114, LATTICE3:46;
"\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L is_less_than { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' }
then
"\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L [= "/\" { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' } ,
L
by LATTICE3:40;
hence
"/\" { (d . a') where a' is Attribute of C : "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,L [= d . a' } ,
L = "\/" { (g . o) where o is Object of C : o in the Extent of (x @ ) } ,
L
by A118, LATTICES:26;
:: thesis: verum
end;
hence
f . x = "/\" { (d . a) where a is Attribute of C : a in the Intent of (x @ ) } ,
L
by A104, A108, A111, TARSKI:2;
:: thesis: verum
end;
A120:
for a being Element of (ConceptLattice C) holds fi . (f . a) = a
proof
let a be
Element of
(ConceptLattice C);
:: thesis: fi . (f . a) = a
A121:
fi . ("/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L) = fi . (f . a)
by A102;
set x =
"/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,
L;
set O =
{ o where o is Object of C : g . o [= "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L } ;
{ o where o is Object of C : g . o [= "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L } c= the
carrier of
C
then reconsider O =
{ o where o is Object of C : g . o [= "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L } as
Subset of the
carrier of
C ;
set A =
{ a' where a' is Attribute of C : "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L [= d . a' } ;
{ a' where a' is Attribute of C : "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L [= d . a' } c= the
carrier' of
C
then reconsider A =
{ a' where a' is Attribute of C : "/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L [= d . a' } as
Subset of the
carrier' of
C ;
[("/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L),ConceptStr(# O,A #)] in fi
;
then A124:
fi . ("/\" { (d . u) where u is Attribute of C : u in the Intent of (a @ ) } ,L) = ConceptStr(#
O,
A #)
by FUNCT_1:8;
then A125:
ConceptStr(#
O,
A #) is
FormalConcept of
C
by A37, CONLAT_1:35;
A126:
O = { o where o is Object of C : for a' being Attribute of C st a' in the Intent of (a @ ) holds
g . o [= d . a' }
{ o where o is Object of C : for a' being Attribute of C st a' in the Intent of (a @ ) holds
g . o [= d . a' } = { o where o is Object of C : for a' being Attribute of C st a' in the Intent of (a @ ) holds
o is-connected-with a' }
then A132:
O =
(AttributeDerivation C) . the
Intent of
(a @ )
by A126, CONLAT_1:def 7
.=
the
Extent of
(a @ )
by CONLAT_1:def 13
;
then A =
(ObjectDerivation C) . the
Extent of
(a @ )
by A125, CONLAT_1:def 13
.=
the
Intent of
(a @ )
by CONLAT_1:def 13
;
hence
fi . (f . a) = a
by A121, A124, A132, CONLAT_1:def 24;
:: thesis: verum
end;
A133:
for a, b being Element of (ConceptLattice C) st f . a [= f . b holds
a [= b
then A135:
f is one-to-one
by Lm1;
the carrier of L c= rng f
then A139:
rng f = the carrier of L
by XBOOLE_0:def 10;
then reconsider f = f as Homomorphism of ConceptLattice C,L by A38, A133, A135, Lm2;
A140:
f is onto
by A139, FUNCT_2:def 3;
f is one-to-one
by A135;
then
f is bijective
by A140;
hence
ConceptLattice C,L are_isomorphic
by LATTICE4:def 5; :: thesis: verum