let G1, G2 be Group; :: thesis: for f being Homomorphism of G1,G2 holds FuncLatt f is sup-Semilattice-Homomorphism of (lattice G1),(lattice G2)
let f be Homomorphism of G1,G2; :: thesis: FuncLatt f is sup-Semilattice-Homomorphism of (lattice G1),(lattice G2)
for a, b being Element of (lattice G1) holds (FuncLatt f) . (a "\/" b) = ((FuncLatt f) . a) "\/" ((FuncLatt f) . b)
proof
let a, b be Element of (lattice G1); :: thesis: (FuncLatt f) . (a "\/" b) = ((FuncLatt f) . a) "\/" ((FuncLatt f) . b)
consider A1 being strict Subgroup of G1 such that
A1: A1 = a by Th2;
consider B1 being strict Subgroup of G1 such that
A2: B1 = b by Th2;
thus (FuncLatt f) . (a "\/" b) = ((FuncLatt f) . a) "\/" ((FuncLatt f) . b) :: thesis: verum
proof
A3: for g being Element of G2 st g in f .: the carrier of B1 holds
g " in f .: the carrier of B1
proof
let g be Element of G2; :: thesis: ( g in f .: the carrier of B1 implies g " in f .: the carrier of B1 )
assume g in f .: the carrier of B1 ; :: thesis: g " in f .: the carrier of B1
then consider x being Element of G1 such that
A4: x in the carrier of B1 and
A5: g = f . x by FUNCT_2:65;
x in B1 by A4, STRUCT_0:def 5;
then x " in B1 by GROUP_2:51;
then A6: x " in the carrier of B1 by STRUCT_0:def 5;
f . (x ") = (f . x) " by GROUP_6:32;
hence g " in f .: the carrier of B1 by A5, A6, FUNCT_2:35; :: thesis: verum
end;
1_ G1 in A1 by GROUP_2:46;
then A7: 1_ G1 in the carrier of A1 by STRUCT_0:def 5;
A8: ex y being Element of G2 st y = f . (1_ G1) ;
( the carrier of A1 c= the carrier of G1 & the carrier of B1 c= the carrier of G1 ) by GROUP_2:def 5;
then reconsider A = the carrier of A1 \/ the carrier of B1 as Subset of G1 by XBOOLE_1:8;
A9: for g being Element of G2 st g in f .: the carrier of A1 holds
g " in f .: the carrier of A1
proof
let g be Element of G2; :: thesis: ( g in f .: the carrier of A1 implies g " in f .: the carrier of A1 )
assume g in f .: the carrier of A1 ; :: thesis: g " in f .: the carrier of A1
then consider x being Element of G1 such that
A10: x in the carrier of A1 and
A11: g = f . x by FUNCT_2:65;
x in A1 by A10, STRUCT_0:def 5;
then x " in A1 by GROUP_2:51;
then A12: x " in the carrier of A1 by STRUCT_0:def 5;
f . (x ") = (f . x) " by GROUP_6:32;
hence g " in f .: the carrier of A1 by A11, A12, FUNCT_2:35; :: thesis: verum
end;
reconsider B = (f .: the carrier of A1) \/ (f .: the carrier of B1) as Subset of G2 ;
A13: dom f = the carrier of G1 by FUNCT_2:def 1;
A14: for g1, g2 being Element of G2 st g1 in f .: the carrier of B1 & g2 in f .: the carrier of B1 holds
g1 * g2 in f .: the carrier of B1
proof
let g1, g2 be Element of G2; :: thesis: ( g1 in f .: the carrier of B1 & g2 in f .: the carrier of B1 implies g1 * g2 in f .: the carrier of B1 )
assume that
A15: g1 in f .: the carrier of B1 and
A16: g2 in f .: the carrier of B1 ; :: thesis: g1 * g2 in f .: the carrier of B1
consider x being Element of G1 such that
A17: x in the carrier of B1 and
A18: g1 = f . x by A15, FUNCT_2:65;
consider y being Element of G1 such that
A19: y in the carrier of B1 and
A20: g2 = f . y by A16, FUNCT_2:65;
A21: y in B1 by A19, STRUCT_0:def 5;
x in B1 by A17, STRUCT_0:def 5;
then x * y in B1 by A21, GROUP_2:50;
then A22: x * y in the carrier of B1 by STRUCT_0:def 5;
f . (x * y) = (f . x) * (f . y) by GROUP_6:def 6;
hence g1 * g2 in f .: the carrier of B1 by A18, A20, A22, FUNCT_2:35; :: thesis: verum
end;
1_ G1 in B1 by GROUP_2:46;
then A23: 1_ G1 in the carrier of B1 by STRUCT_0:def 5;
A24: (FuncLatt f) . (A1 "\/" B1) = gr (f .: the carrier of (A1 "\/" B1)) by Def3;
ex y1 being Element of G2 st y1 = f . (1_ G1) ;
then f .: the carrier of B1 <> {} by A13, A23, FUNCT_1:def 6;
then consider B3 being strict Subgroup of G2 such that
A25: the carrier of B3 = f .: the carrier of B1 by A3, A14, GROUP_2:52;
A26: for g1, g2 being Element of G2 st g1 in f .: the carrier of A1 & g2 in f .: the carrier of A1 holds
g1 * g2 in f .: the carrier of A1
proof
let g1, g2 be Element of G2; :: thesis: ( g1 in f .: the carrier of A1 & g2 in f .: the carrier of A1 implies g1 * g2 in f .: the carrier of A1 )
assume that
A27: g1 in f .: the carrier of A1 and
A28: g2 in f .: the carrier of A1 ; :: thesis: g1 * g2 in f .: the carrier of A1
consider x being Element of G1 such that
A29: x in the carrier of A1 and
A30: g1 = f . x by A27, FUNCT_2:65;
consider y being Element of G1 such that
A31: y in the carrier of A1 and
A32: g2 = f . y by A28, FUNCT_2:65;
A33: y in A1 by A31, STRUCT_0:def 5;
x in A1 by A29, STRUCT_0:def 5;
then x * y in A1 by A33, GROUP_2:50;
then A34: x * y in the carrier of A1 by STRUCT_0:def 5;
f . (x * y) = (f . x) * (f . y) by GROUP_6:def 6;
hence g1 * g2 in f .: the carrier of A1 by A30, A32, A34, FUNCT_2:35; :: thesis: verum
end;
A35: ( (FuncLatt f) . a = gr (f .: the carrier of A1) & (FuncLatt f) . b = gr (f .: the carrier of B1) ) by A1, A2, Def3;
consider C1 being strict Subgroup of G1 such that
A36: C1 = A1 "\/" B1 ;
A37: for g1, g2 being Element of G2 st g1 in f .: the carrier of C1 & g2 in f .: the carrier of C1 holds
g1 * g2 in f .: the carrier of C1
proof
let g1, g2 be Element of G2; :: thesis: ( g1 in f .: the carrier of C1 & g2 in f .: the carrier of C1 implies g1 * g2 in f .: the carrier of C1 )
assume that
A38: g1 in f .: the carrier of C1 and
A39: g2 in f .: the carrier of C1 ; :: thesis: g1 * g2 in f .: the carrier of C1
consider x being Element of G1 such that
A40: x in the carrier of C1 and
A41: g1 = f . x by A38, FUNCT_2:65;
consider y being Element of G1 such that
A42: y in the carrier of C1 and
A43: g2 = f . y by A39, FUNCT_2:65;
A44: y in C1 by A42, STRUCT_0:def 5;
x in C1 by A40, STRUCT_0:def 5;
then x * y in C1 by A44, GROUP_2:50;
then A45: x * y in the carrier of C1 by STRUCT_0:def 5;
f . (x * y) = (f . x) * (f . y) by GROUP_6:def 6;
hence g1 * g2 in f .: the carrier of C1 by A41, A43, A45, FUNCT_2:35; :: thesis: verum
end;
A46: for g being Element of G2 st g in f .: the carrier of C1 holds
g " in f .: the carrier of C1
proof
let g be Element of G2; :: thesis: ( g in f .: the carrier of C1 implies g " in f .: the carrier of C1 )
assume g in f .: the carrier of C1 ; :: thesis: g " in f .: the carrier of C1
then consider x being Element of G1 such that
A47: x in the carrier of C1 and
A48: g = f . x by FUNCT_2:65;
x in C1 by A47, STRUCT_0:def 5;
then x " in C1 by GROUP_2:51;
then A49: x " in the carrier of C1 by STRUCT_0:def 5;
f . (x ") = (f . x) " by GROUP_6:32;
hence g " in f .: the carrier of C1 by A48, A49, FUNCT_2:35; :: thesis: verum
end;
1_ G1 in C1 by GROUP_2:46;
then 1_ G1 in the carrier of C1 by STRUCT_0:def 5;
then f .: the carrier of C1 <> {} by A13, A8, FUNCT_1:def 6;
then consider C3 being strict Subgroup of G2 such that
A50: the carrier of C3 = f .: the carrier of C1 by A46, A37, GROUP_2:52;
ex y being Element of G2 st y = f . (1_ G1) ;
then f .: the carrier of A1 <> {} by A13, A7, FUNCT_1:def 6;
then consider A3 being strict Subgroup of G2 such that
A51: the carrier of A3 = f .: the carrier of A1 by A9, A26, GROUP_2:52;
A52: gr (f .: the carrier of B1) = B3 by A25, Th3;
the carrier of (A3 "\/" B3) = the carrier of C3
proof
A53: f .: the carrier of B1 c= the carrier of C3
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f .: the carrier of B1 or x in the carrier of C3 )
assume A54: x in f .: the carrier of B1 ; :: thesis: x in the carrier of C3
then reconsider x = x as Element of G2 ;
consider y being Element of G1 such that
A55: y in the carrier of B1 and
A56: x = f . y by A54, FUNCT_2:65;
y in A by A55, XBOOLE_0:def 3;
then y in gr A by GROUP_4:29;
then y in the carrier of (gr A) by STRUCT_0:def 5;
then y in the carrier of (A1 "\/" B1) by Th4;
hence x in the carrier of C3 by A36, A50, A56, FUNCT_2:35; :: thesis: verum
end;
f .: the carrier of A1 c= the carrier of C3
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f .: the carrier of A1 or x in the carrier of C3 )
assume A57: x in f .: the carrier of A1 ; :: thesis: x in the carrier of C3
then reconsider x = x as Element of G2 ;
consider y being Element of G1 such that
A58: y in the carrier of A1 and
A59: x = f . y by A57, FUNCT_2:65;
y in A by A58, XBOOLE_0:def 3;
then y in gr A by GROUP_4:29;
then y in the carrier of (gr A) by STRUCT_0:def 5;
then y in the carrier of (A1 "\/" B1) by Th4;
hence x in the carrier of C3 by A36, A50, A59, FUNCT_2:35; :: thesis: verum
end;
then B c= the carrier of C3 by A53, XBOOLE_1:8;
then gr B is Subgroup of C3 by GROUP_4:def 4;
then the carrier of (gr B) c= the carrier of C3 by GROUP_2:def 5;
hence the carrier of (A3 "\/" B3) c= the carrier of C3 by A51, A25, Th4; :: according to XBOOLE_0:def 10 :: thesis: the carrier of C3 c= the carrier of (A3 "\/" B3)
reconsider AA = (f " the carrier of A3) \/ (f " the carrier of B3) as Subset of G1 ;
A60: for g being Element of G1 st g in f " the carrier of (A3 "\/" B3) holds
g " in f " the carrier of (A3 "\/" B3)
proof
let g be Element of G1; :: thesis: ( g in f " the carrier of (A3 "\/" B3) implies g " in f " the carrier of (A3 "\/" B3) )
assume g in f " the carrier of (A3 "\/" B3) ; :: thesis: g " in f " the carrier of (A3 "\/" B3)
then f . g in the carrier of (A3 "\/" B3) by FUNCT_2:38;
then f . g in A3 "\/" B3 by STRUCT_0:def 5;
then (f . g) " in A3 "\/" B3 by GROUP_2:51;
then f . (g ") in A3 "\/" B3 by GROUP_6:32;
then f . (g ") in the carrier of (A3 "\/" B3) by STRUCT_0:def 5;
hence g " in f " the carrier of (A3 "\/" B3) by FUNCT_2:38; :: thesis: verum
end;
the carrier of B1 c= the carrier of G1 by GROUP_2:def 5;
then A61: the carrier of B1 c= f " the carrier of B3 by A25, FUNCT_2:42;
the carrier of A1 c= the carrier of G1 by GROUP_2:def 5;
then the carrier of A1 c= f " the carrier of A3 by A51, FUNCT_2:42;
then A62: A c= AA by A61, XBOOLE_1:13;
A63: for g1, g2 being Element of G1 st g1 in f " the carrier of (A3 "\/" B3) & g2 in f " the carrier of (A3 "\/" B3) holds
g1 * g2 in f " the carrier of (A3 "\/" B3)
proof
let g1, g2 be Element of G1; :: thesis: ( g1 in f " the carrier of (A3 "\/" B3) & g2 in f " the carrier of (A3 "\/" B3) implies g1 * g2 in f " the carrier of (A3 "\/" B3) )
assume that
A64: g1 in f " the carrier of (A3 "\/" B3) and
A65: g2 in f " the carrier of (A3 "\/" B3) ; :: thesis: g1 * g2 in f " the carrier of (A3 "\/" B3)
f . g2 in the carrier of (A3 "\/" B3) by A65, FUNCT_2:38;
then A66: f . g2 in A3 "\/" B3 by STRUCT_0:def 5;
f . g1 in the carrier of (A3 "\/" B3) by A64, FUNCT_2:38;
then f . g1 in A3 "\/" B3 by STRUCT_0:def 5;
then (f . g1) * (f . g2) in A3 "\/" B3 by A66, GROUP_2:50;
then f . (g1 * g2) in A3 "\/" B3 by GROUP_6:def 6;
then f . (g1 * g2) in the carrier of (A3 "\/" B3) by STRUCT_0:def 5;
hence g1 * g2 in f " the carrier of (A3 "\/" B3) by FUNCT_2:38; :: thesis: verum
end;
A67: f " the carrier of B3 c= f " the carrier of (A3 "\/" B3)
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f " the carrier of B3 or x in f " the carrier of (A3 "\/" B3) )
assume A68: x in f " the carrier of B3 ; :: thesis: x in f " the carrier of (A3 "\/" B3)
then f . x in the carrier of B3 by FUNCT_2:38;
then A69: f . x in B3 by STRUCT_0:def 5;
f . x in the carrier of G2 by A68, FUNCT_2:5;
then f . x in A3 "\/" B3 by A69, Th5;
then f . x in the carrier of (A3 "\/" B3) by STRUCT_0:def 5;
hence x in f " the carrier of (A3 "\/" B3) by A68, FUNCT_2:38; :: thesis: verum
end;
1_ G2 in A3 "\/" B3 by GROUP_2:46;
then 1_ G2 in the carrier of (A3 "\/" B3) by STRUCT_0:def 5;
then f . (1_ G1) in the carrier of (A3 "\/" B3) by GROUP_6:31;
then f " the carrier of (A3 "\/" B3) <> {} by FUNCT_2:38;
then consider H being strict Subgroup of G1 such that
A70: the carrier of H = f " the carrier of (A3 "\/" B3) by A60, A63, GROUP_2:52;
f " the carrier of A3 c= f " the carrier of (A3 "\/" B3)
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f " the carrier of A3 or x in f " the carrier of (A3 "\/" B3) )
assume A71: x in f " the carrier of A3 ; :: thesis: x in f " the carrier of (A3 "\/" B3)
then f . x in the carrier of A3 by FUNCT_2:38;
then A72: f . x in A3 by STRUCT_0:def 5;
f . x in the carrier of G2 by A71, FUNCT_2:5;
then f . x in A3 "\/" B3 by A72, Th5;
then f . x in the carrier of (A3 "\/" B3) by STRUCT_0:def 5;
hence x in f " the carrier of (A3 "\/" B3) by A71, FUNCT_2:38; :: thesis: verum
end;
then (f " the carrier of A3) \/ (f " the carrier of B3) c= f " the carrier of (A3 "\/" B3) by A67, XBOOLE_1:8;
then A c= the carrier of H by A62, A70;
then gr A is Subgroup of H by GROUP_4:def 4;
then the carrier of (gr A) c= the carrier of H by GROUP_2:def 5;
then A73: the carrier of C1 c= f " the carrier of (A3 "\/" B3) by A36, A70, Th4;
A74: f .: the carrier of C1 c= f .: (f " the carrier of (A3 "\/" B3))
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in f .: the carrier of C1 or x in f .: (f " the carrier of (A3 "\/" B3)) )
assume A75: x in f .: the carrier of C1 ; :: thesis: x in f .: (f " the carrier of (A3 "\/" B3))
then reconsider x = x as Element of G2 ;
ex y being Element of G1 st
( y in the carrier of C1 & x = f . y ) by A75, FUNCT_2:65;
hence x in f .: (f " the carrier of (A3 "\/" B3)) by A73, FUNCT_2:35; :: thesis: verum
end;
f .: (f " the carrier of (A3 "\/" B3)) c= the carrier of (A3 "\/" B3) by FUNCT_1:75;
hence the carrier of C3 c= the carrier of (A3 "\/" B3) by A50, A74; :: thesis: verum
end;
then gr (f .: the carrier of (A1 "\/" B1)) = A3 "\/" B3 by A36, A50, Th3
.= (gr (f .: the carrier of A1)) "\/" (gr (f .: the carrier of B1)) by A51, A52, Th3
.= ((FuncLatt f) . a) "\/" ((FuncLatt f) . b) by A35, Th22 ;
hence (FuncLatt f) . (a "\/" b) = ((FuncLatt f) . a) "\/" ((FuncLatt f) . b) by A1, A2, A24, Th22; :: thesis: verum
end;
end;
hence FuncLatt f is sup-Semilattice-Homomorphism of (lattice G1),(lattice G2) by LATTICE4:def 1; :: thesis: verum