:: Definition and Properties of Direct Sum Decomposition of Groups
:: by Kazuhisa Nakasho , Hiroshi Yamazaki , Hiroyuki Okazaki and Yasunari Shidama
::
:: Received December 31, 2014
:: Copyright (c) 2014-2015 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies FINSEQ_1, FUNCT_1, RELAT_1, RLVECT_2, CARD_3, TARSKI, BINOP_1,
GROUP_1, XXREAL_0, GROUP_2, CARD_1, NUMBERS, FUNCT_4, GROUP_6, GROUP_7,
FUNCOP_1, ALGSTR_0, GROUP_12, PARTFUN1, FUNCT_2, SUBSET_1, XBOOLE_0,
STRUCT_0, NAT_1, ORDINAL4, ARYTM_1, ARYTM_3, FINSET_1, ZFMISC_1, PBOOLE,
REALSET1, NEWTON, GROUP_4, FINSEQ_2, PRE_POLY, UPROOTS, GROUP_19,
SEMI_AF1, MONOID_0, QC_LANG1, RLSUB_1, VECTMETR;
notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, RELAT_1, FUNCT_1, ORDINAL1,
RELSET_1, PARTFUN1, FUNCT_2, FUNCT_3, FUNCOP_1, REALSET1, FUNCT_4,
FINSET_1, CARD_1, PBOOLE, CARD_3, NUMBERS, XCMPLX_0, XXREAL_0, FINSEQ_1,
FINSEQ_2, FUNCT_7, STRUCT_0, ALGSTR_0, GROUP_1, GROUP_2, GROUP_4,
GROUP_6, MONOID_0, PRALG_1, GRSOLV_1, GROUP_7, GROUP_12, GROUP_17;
constructors REALSET1, FUNCT_4, MONOID_0, PRALG_1, GROUP_12, GROUP_4, FUNCT_7,
RELSET_1, FUNCT_3, GROUP_17, GRSOLV_1;
registrations XBOOLE_0, XREAL_0, STRUCT_0, GROUP_2, MONOID_0, ORDINAL1, NAT_1,
FUNCT_2, CARD_3, GROUP_7, RELSET_1, SUBSET_1, INT_1, GR_CY_1, FINSET_1,
RELAT_1, FUNCT_1, NUMBERS, GROUP_12, PBOOLE;
requirements NUMERALS, REAL, BOOLE, SUBSET, ARITHM;
equalities GROUP_2, FINSEQ_1, STRUCT_0, GRSOLV_1;
expansions STRUCT_0, TARSKI, FINSEQ_1, MONOID_0;
theorems PRALG_1, FUNCT_1, CARD_3, FUNCT_2, FUNCOP_1, TARSKI, GROUP_1,
GROUP_2, FUNCT_4, FINSEQ_1, GROUP_4, GROUP_6, FINSEQ_2, XREAL_1,
FINSEQ_3, XBOOLE_0, RELAT_1, GROUP_7, FUNCT_7, CARD_2, XBOOLE_1,
REALSET1, GROUP_12, PARTFUN1, ZFMISC_1, GROUP_17;
schemes NAT_1, FUNCT_2, XBOOLE_0, CLASSES1;
begin :: 1. Miscellanies
definition
let D be non empty set;
let x be Element of D;
redefine func <*x*> -> FinSequence of D;
coherence
proof
for y be object holds y in rng <*x*> implies y in D;
hence thesis;
end;
end;
definition
let I be set;
mode Group-Family of I is associative Group-like multMagma-Family of I;
end;
registration
let G be Group;
cluster commutative for Subgroup of G;
correctness
proof
(1).G is commutative;
hence thesis;
end;
end;
theorem Th1:
for I be set, F be Group-Family of I holds
for i be object st i in I holds F.i is Group
proof
let I be set;
let F be Group-Family of I;
let i be object;
assume
A1: i in I; then
ex Fi be Group-like non empty multMagma st Fi = F.i by GROUP_7:def 3;
hence thesis by A1;
end;
definition
let I be set;
let F be Group-Family of I;
let i be object;
assume
A1: i in I;
redefine func F.i -> Group;
coherence by A1,Th1;
end;
registration
let I be set;
let F be Group-Family of I;
cluster sum F -> non empty constituted-Functions;
correctness
proof
now
let x be Element of sum F;
x is Element of product F by GROUP_2:42;
hence x is Function;
end;
hence thesis;
end;
end;
theorem Th2:
for I be set, F be Function st I = dom F
& for i be object st i in I holds F.i is Group
holds F is Group-Family of I
proof
let I be set;
let F be Function;
assume
A1: I = dom F;
assume
A2: for i be object st i in I holds F.i is Group;
reconsider F as ManySortedSet of I by A1,PARTFUN1:def 2,RELAT_1:def 18;
now
let y be set;
assume y in rng F; then
consider i be object such that
A3: i in dom F & y = F.i by FUNCT_1:def 3;
thus y is non empty multMagma by A2,A3;
end; then
reconsider F as multMagma-Family of I by GROUP_7:def 1;
A4: for i being set st i in I ex Fi being
Group-like non empty multMagma st Fi = F.i
proof
let i be set;
assume i in I; then
reconsider Fi = F.i as Group-like non empty multMagma by A2;
take Fi;
thus thesis;
end;
for i being set st i in I ex Fi being
associative non empty multMagma st Fi = F.i
proof
let i be set;
assume i in I; then
reconsider Fi = F.i as associative non empty multMagma by A2;
take Fi;
thus thesis;
end;
hence thesis by A4,GROUP_7:def 3,def 4;
end;
theorem Th3:
for I be set,
F be Group-Family of I,
a be Element of product F
holds dom a = I
proof
let I be set,
F be Group-Family of I,
a be Element of product F;
a in product F; then
a in product Carrier F by GROUP_7:def 2;
hence thesis by PARTFUN1:def 2;
end;
theorem Th4:
for I be non empty set,
F be Group-Family of I,
x be Element of I
holds (Carrier F).x = [#](F.x)
proof
let I be non empty set;
let F be Group-Family of I;
let x be Element of I;
consider R be 1-sorted such that
A1: R = F.x and
A2: (Carrier F).x = the carrier of R by PRALG_1:def 13;
thus thesis by A1,A2;
end;
theorem Th5:
for I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I
st x in product F
holds x.i in F.i
proof
let I be non empty set;
let F be Group-Family of I;
let x be Function;
let i be Element of I;
assume
A1: x in product F;
A2: (Carrier F).i = [#](F.i) by Th4;
i in I; then
A4: i in dom(Carrier F) by PARTFUN1:def 2;
x in product Carrier F by A1,GROUP_7:def 2;
hence thesis by A2,A4,CARD_3:9;
end;
theorem Th6:
for G,H be Group,
I be Subgroup of H,
f be Homomorphism of G,I
holds f is Homomorphism of G,H
proof
let G,H be Group,
I be Subgroup of H,
f be Homomorphism of G,I;
[#]I c= [#]H by GROUP_2:def 5; then
reconsider g = f as Function of G,H by FUNCT_2:7;
now
let a,b be Element of G;
thus g.(a*b) = f.a * f.b by GROUP_6:def 6
.= g.a * g.b by GROUP_2:43;
end;
hence thesis by GROUP_6:def 6;
end;
begin :: 2. Support of Element of Direct Product Group
definition
let I be set;
let F be Group-Family of I;
let a be Function;
func support(a,F) -> Subset of I means
:Def1:
for i be object holds i in it iff (a.i <> 1_F.i & i in I);
existence
proof
defpred P[object] means a.$1 <> 1_(F.$1);
consider X being set such that
A1: for x be object holds x in X iff x in I & P[x] from XBOOLE_0:sch 1;
for x be object st x in X holds x in I by A1; then
reconsider X as Subset of I by TARSKI:def 3;
take X;
thus thesis by A1;
end;
uniqueness
proof
let X1,X2 be Subset of I such that
A2: for i be object holds i in X1 iff a.i <> 1_(F.i) & i in I and
A3: for i be object holds i in X2 iff a.i <> 1_(F.i) & i in I;
now
let i be object;
i in X1 iff a.i <> 1_(F.i) & i in I by A2;
hence i in X1 iff i in X2 by A3;
end;
hence X1 = X2 by TARSKI:2;
end;
end;
theorem Th7:
for I be set,
F be Group-Family of I,
a be Element of sum F holds
ex J being finite Subset of I,
b being ManySortedSet of J
st J = support(a,F)
& a = 1_product F +* b
& (for j being object st j in I \ J holds a.j = 1_F.j)
& (for j being object st j in J holds a.j = b.j)
proof
let I be set,
F be Group-Family of I,
a be Element of sum F;
consider g being Element of product Carrier F,
J being finite Subset of I,
b being ManySortedSet of J such that
A1: g = 1_product F & a = g +* b
& for j being set st j in J
ex G being Group-like non empty multMagma
st G = F.j & b.j in the carrier of G & b.j <> 1_G
by GROUP_7:def 9;
take J,b;
A2: dom b = J by PARTFUN1:def 2;
A3: dom(1_product F) = I by Th3;
A4: for j being object st j in I \ J holds a.j = 1_F.j
proof
let j be object;
assume
A6: j in I \ J;
j in dom(1_product F) & not j in dom b by A3,A6,XBOOLE_0:def 5;
hence a.j = (1_product F).j by A1,FUNCT_4:11
.= 1_F.j by A6,GROUP_7:6;
end;
for j be object holds j in support(a,F) iff j in J
proof
let j be object;
hereby
assume
A11: j in support(a,F); then
A12: a.j <> 1_F.j & j in I by Def1;
assume not j in J; then
j in I \ J by A11,XBOOLE_0:def 5;
hence contradiction by A4,A12;
end;
assume
A13: j in J; then
ex G being Group-like non empty multMagma
st G = F.j & b.j in the carrier of G & b.j <> 1_G by A1; then
a.j <> 1_F.j by A1,A2,A13,FUNCT_4:13;
hence j in support(a,F) by A13,Def1;
end;
hence thesis by A1,A2,A4,FUNCT_4:13,TARSKI:2;
end;
registration
let I be set;
let F be Group-Family of I;
let a be Element of sum F;
cluster support(a,F) -> finite;
correctness
proof
consider J being finite Subset of I,
f being ManySortedSet of J such that
A1: J = support(a,F)
& a = 1_product F +* f
&(for j being object st j in I \ J holds a.j = 1_F.j)
&(for j being object st j in J holds a.j = f.j) by Th7;
thus support(a,F) is finite by A1;
end;
end;
definition
let I be set;
let G be Group;
let a be Function of I,G;
func support a -> Subset of I means
:Def2:
for i be object holds i in it iff (a.i <> 1_G & i in I);
existence
proof
defpred P[object] means a.$1 <> 1_G;
consider X being set such that
A1: for x be object holds x in X iff x in I & P[x] from XBOOLE_0:sch 1;
for x be object st x in X holds x in I by A1; then
reconsider X as Subset of I by TARSKI:def 3;
take X;
thus thesis by A1;
end;
uniqueness
proof
let X1,X2 be Subset of I such that
A2: for i be object holds i in X1 iff a.i <> 1_G & i in I and
A3: for i be object holds i in X2 iff a.i <> 1_G & i in I;
now
let i be object;
i in X1 iff a.i <> 1_G & i in I by A2;
hence i in X1 iff i in X2 by A3;
end;
hence X1 = X2 by TARSKI:2;
end;
end;
definition
let I be set;
let G be Group;
let a be Function of I,G;
attr a is finite-support means
:Def3:
support a is finite;
end;
registration
let I be set;
let G be Group;
cluster finite-support for Function of I,G;
correctness
proof
set a = I --> 1_G;
take a;
support a = {}
proof
assume support a <> {}; then
consider x be object such that
A1: x in support a by XBOOLE_0:def 1;
a.x <> 1_G & x in I by A1,Def2;
hence contradiction by FUNCOP_1:7;
end;
hence thesis;
end;
end;
registration
let I be set;
let G be Group;
let a be finite-support Function of I,G;
cluster support a -> finite;
correctness by Def3;
end;
definition
let I be set;
let G be Group;
let a be finite-support Function of I,G;
func Product a -> Element of G equals
Product(a|support(a));
correctness;
end;
theorem Th8:
for I be set,
F be Group-Family of I,
a be Element of product F
holds
a in sum F
iff
support(a,F) is finite
proof
let I be set,
F be Group-Family of I,
a be Element of product F;
thus a in sum F implies support(a,F) is finite;
assume support(a,F) is finite; then
reconsider J = support(a,F) as finite Subset of I;
A2: [#] product F = product Carrier F by GROUP_7:def 2;
set k = a|J;
A3: dom a = I by A2,PARTFUN1:def 2; then
A4: dom k = J by RELAT_1:62; then
reconsider k as ManySortedSet of J by PARTFUN1:def 2,RELAT_1:def 18;
set x = 1_product F +* k;
A5: 1_product F is Element of product Carrier F by GROUP_7:def 2;
for j being set st j in J
ex G being Group-like non empty multMagma
st G = F.j & k.j in the carrier of G & k.j <> 1_G
proof
let j being set;
assume
A6: j in J;
A7: k.j = a.j by A6,FUNCT_1:49;
set G = F.j;
take G;
thus G = F.j;
a in product F; then
a.j in F.j by A6,Th5;
hence k.j in the carrier of G by A6,FUNCT_1:49;
thus k.j <> 1_G by A6,A7,Def1;
end; then
reconsider x as Element of sum F by A5,GROUP_7:def 9;
x in sum F; then
A10: x in product F by GROUP_2:40; then
A11: dom x = I by Th3;
for i be object st i in dom x holds x.i = a.i
proof
let i be object;
assume
A12: i in dom x;
per cases;
suppose
A15: not i in J; then
not i in dom k; then
x.i = (1_product F).i by FUNCT_4:11
.= 1_F.i by A11,A12,GROUP_7:6;
hence x.i = a.i by A11,A12,A15,Def1;
end;
suppose
A16: i in J;
hence x.i = k.i by A4,FUNCT_4:13
.= a.i by A16,FUNCT_1:49;
end;
end; then
x = a by A3,A10,Th3,FUNCT_1:2;
hence a in sum F;
end;
theorem Th9:
for I be set,
G be Group,
H be Group-Family of I,
x be Function of I,G,
y be Element of product H
st x = y
& for i be object st i in I holds H.i is Subgroup of G
holds support(x) = support(y,H)
proof
let I be set,
G be Group,
H be Group-Family of I,
x be Function of I,G,
y be Element of product H;
assume that
A1: x = y and
A2: for i be object st i in I holds H.i is Subgroup of G;
A5: for i be object st i in I holds 1_H.i = 1_G
proof
let i be object;
assume i in I; then
H.i is Subgroup of G by A2;
hence thesis by GROUP_2:44;
end;
for i be object holds i in support(y,H) iff i in support(x)
proof
let i be object;
A6: i in support(x) iff (x.i <> 1_G & i in I) by Def2;
A7: i in support(y,H) iff y.i <> 1_(H.i) & i in I by Def1;
hereby
assume i in support(y,H); then
y.i <> 1_H.i & i in I by Def1;
hence i in support(x) by A1,A5,A6;
end;
assume i in support(x); then
x.i <> 1_G & i in I by Def2;
hence i in support(y,H) by A1,A5,A7;
end;
hence support(x) = support(y,H) by TARSKI:2;
end;
theorem Th10:
for I be set,
G be Group,
F be Group-Family of I,
a be object
st a in sum F
& for i be object st i in I holds F.i is Subgroup of G
holds a is finite-support Function of I,G
proof
let I be set,
G be Group,
F be Group-Family of I,
a be object;
assume that
A1: a in sum F and
A2: for i be object st i in I holds F.i is Subgroup of G;
a in product F by A1,GROUP_2:40; then
reconsider b = a as Element of product F;
A6: for i be object st i in I holds [#](F.i) c= [#]G
proof
let i be object;
assume i in I; then
F.i is Subgroup of G by A2;
hence [#](F.i) c= [#]G by GROUP_2:def 5;
end;
A8: dom b = I by Th3;
for z be object st z in rng b holds z in [#]G
proof
let z be object;
assume z in rng b; then
consider i be object such that
A9: i in dom b & z = b.i by FUNCT_1:def 3;
A10: i in I by A9,Th3;
A11: [#](F.i) c= [#]G by A6,A8,A9;
b.i in F.i by A1,A10,Th5,GROUP_2:40;
hence z in [#]G by A9,A11;
end; then
rng b c= [#] G; then
reconsider b as Function of I,G by A8,FUNCT_2:2;
support(b,F) = support(b) by A2,Th9;
hence thesis by A1,Def3;
end;
theorem
for I be non empty set,
F be Group-Family of I holds
support(1_product F,F) is empty
proof
let I be non empty set,
F be Group-Family of I;
for i be object holds not i in support(1_product F,F)
proof
let i be object;
assume i in support(1_product F,F); then
i in I & (1_product F).i <> 1_F.i by Def1;
hence contradiction by GROUP_7:6;
end;
hence thesis by XBOOLE_0:def 1;
end;
theorem Th12:
for I be non empty set, G be Group,
a be Function of I,G
st a = I --> 1_G
holds support(a) is empty
proof
let I be non empty set, G be Group,
a be Function of I,G;
assume
A1: a = I --> 1_G;
for i be object holds not i in support(a)
proof
let i be object;
assume
A2: i in support(a); then
a.i = 1_G by A1,FUNCOP_1:7;
hence contradiction by A2,Def2;
end;
hence thesis by XBOOLE_0:def 1;
end;
theorem Th13:
for I be non empty set, G be Group,
F be Group-Family of I
st for i be Element of I holds F.i is Subgroup of G
holds 1_product F = I --> 1_G
proof
let I be non empty set, G be Group,
F be Group-Family of I;
assume
A1: for i be Element of I holds F.i is Subgroup of G;
A2: dom(1_product F) = I by Th3;
A3: dom(I --> 1_G) = I by FUNCOP_1:13;
for j be object st j in I holds (1_product F).j = (I --> 1_G).j
proof
let j be object;
assume
A4: j in I; then
A5: (1_product F).j = 1_F.j by GROUP_7:6;
A6: (I --> 1_G).j = 1_G by A4,FUNCOP_1:7;
reconsider j as Element of I by A4;
F.j is Subgroup of G by A1;
hence thesis by A5,A6,GROUP_2:44;
end;
hence thesis by A2,A3,FUNCT_1:2;
end;
theorem
for I be non empty set,
F be Group-Family of I,
G be Group,
x be finite-support Function of I,G
st support(x) = {}
& for i be object st i in I holds F.i is Subgroup of G
holds x = 1_product F
proof
let I be non empty set,
F be Group-Family of I,
G be Group,
x be finite-support Function of I,G;
assume that
A1: support(x) = {} and
A2: for i be object st i in I holds F.i is Subgroup of G;
for i being set st i in I
ex G being Group-like non empty multMagma st G = F.i & x.i = 1_G
proof
let i being set;
assume
A3: i in I; then
A4: x.i= 1_G by A1,Def2;
reconsider Fi = F.i as Subgroup of G by A2,A3;
take Fi;
thus Fi = F.i & x.i = 1_Fi by A4,GROUP_2:44;
end;
hence x = 1_product F by GROUP_7:5;
end;
theorem Th15:
for I be set,
G be Group,
x be finite-support Function of I,G
st support(x) = {}
holds Product x = 1_G
proof
let I be set,
G be Group,
x be finite-support Function of I,G;
assume support(x) = {}; then
(x|support(x)) * canFS(support(x)) = <*>(the carrier of G); then
Product(x|support(x)) = Product(<*>(the carrier of G)) by GROUP_17:def 1
.= 1_G by GROUP_4:8;
hence thesis;
end;
theorem Th16:
for I be non empty set, G be Group,
a be finite-support Function of I,G
st a = I --> 1_G
holds Product a = 1_G
proof
let I be non empty set, G be Group,
a be finite-support Function of I,G;
assume a = I --> 1_G; then
support(a) is empty by Th12;
hence thesis by Th15;
end;
theorem Th17:
for I be non empty set,
F be Group-Family of I,
x be Element of product F,
i be Element of I,
g be Element of F.i
st x = 1_product F +* (i,g)
holds support(x,F) c= {i}
proof
let I be non empty set,
F be Group-Family of I,
x be Element of product F,
i be Element of I,
g be Element of F.i;
assume
A1: x = 1_product F +* (i,g);
for j be object holds j in support(x,F) implies j in {i}
proof
let j be object;
assume j in support(x,F); then
x.j <> 1_F.j & j in I by Def1; then
j = i by A1,GROUP_12:1;
hence thesis by TARSKI:def 1;
end;
hence thesis;
end;
theorem
for I be non empty set,
F be Group-Family of I,
x be Element of product F,
i be Element of I,
g be Element of F.i
st x = 1_product F +* (i,g)
& g <> 1_F.i
holds support(x,F) = {i}
proof
let I be non empty set,
F be Group-Family of I,
x be Element of product F,
i be Element of I,
g be Element of F.i;
assume that
A1: x = 1_product F +* (i,g) and
A2: g <> 1_F.i;
A3: dom x = I & x.i = g
& for j be Element of I st j <> i holds x.j = 1_F.j by A1,GROUP_12:1;
A4: support(x,F) c= {i} by A1,Th17;
i in support(x,F) by A2,A3,Def1; then
{i} c= support(x,F) by ZFMISC_1:31;
hence thesis by A4,XBOOLE_0:def 10;
end;
theorem Th19:
for I be non empty set, G be Group,
i be Element of I, g be Element of G,
a be Function of I,G
st a = (I --> 1_G) +* (i,g)
holds support(a) c= {i}
proof
let I be non empty set, G be Group,
i be Element of I, g be Element of G,
a be Function of I,G;
assume
A1: a = (I --> 1_G) +* (i,g);
for j be object holds j in support(a) implies j in {i}
proof
let j be object;
assume
A2: j in support(a);
j = i
proof
assume j <> i; then
a.j = (I --> 1_G).j by A1,FUNCT_7:32
.= 1_G by A2,FUNCOP_1:7;
hence contradiction by A2,Def2;
end;
hence thesis by TARSKI:def 1;
end;
hence thesis;
end;
theorem Th20:
for I be non empty set, G be Group,
i be Element of I, g be Element of G,
a be Function of I,G
st a = (I --> 1_G) +* (i,g) & g <> 1_G
holds support(a) = {i}
proof
let I be non empty set, G be Group,
i be Element of I, g be Element of G,
a be Function of I,G;
assume that
A1: a = (I --> 1_G) +* (i,g) and
A2: g <> 1_G;
A3: support(a) c= {i} by A1,Th19;
dom(I --> 1_G) = I by FUNCOP_1:13; then
a.i = g by A1,FUNCT_7:31; then
i in support(a) by A2,Def2; then
{i} c= support(a) by ZFMISC_1:31;
hence thesis by A3,XBOOLE_0:def 10;
end;
theorem Th21:
for I be non empty set, G be Group,
a be finite-support Function of I,G,
i be Element of I, g be Element of G
st a = (I --> 1_G) +* (i,g)
holds Product a = g
proof
let I be non empty set, G be Group,
a be finite-support Function of I,G,
i be Element of I, g be Element of G;
assume
A1: a = (I --> 1_G) +* (i,g);
A2: dom(I --> 1_G) = I by FUNCOP_1:13;
per cases;
suppose
A3: g <> 1_G; then
support(a) = {i} by A1,Th20; then
i in support(a) by TARSKI:def 1; then
A6: i in dom(a|support(a)) by FUNCT_2:def 1;
(a|support(a)) * canFS(support(a))
= (a|support(a)) * canFS({i}) by A1,A3,Th20
.= (a|support(a)) * <*i*> by FINSEQ_1:94
.= <* (a|support(a)).i *> by A6,FINSEQ_2:34
.= <* a.i *> by A6,FUNCT_1:47
.= <*g*> by A1,A2,FUNCT_7:31;
hence Product a = Product(<*g*>) by GROUP_17:def 1
.= g by GROUP_4:9;
end;
suppose
A7: g = 1_G;
a = I --> 1_G
proof
A8: dom a = dom(I --> 1_G) by A1,FUNCT_7:30;
for j be object st j in I holds a.j = (I --> 1_G).j
proof
let j be object;
assume
A9: j in I; then
A10: (I --> 1_G).j = 1_G by FUNCOP_1:7;
per cases;
suppose
j = i;
hence thesis by A1,A2,A7,A10,FUNCT_7:31;
end;
suppose
j <> i; then
a.j = (I --> 1_G).j by A1,FUNCT_7:32
.= 1_G by A9,FUNCOP_1:7;
hence thesis by A9,FUNCOP_1:7;
end;
end;
hence thesis by A2,A8,FUNCT_1:2;
end;
hence thesis by A7,Th16;
end;
end;
theorem
for I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i
holds support(x,F) is finite implies support(x+*(i,g),F) is finite
proof
let I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i;
reconsider y = x +* (i,g) as Function;
assume
A1: support(x,F) is finite;
for j be object holds
j in support(y,F) implies j in support(x,F) \/ {i}
proof
let j be object;
assume j in support(y,F); then
A2: y.j <> 1_F.j & j in I by Def1;
per cases;
suppose
j = i; then
j in {i} by TARSKI:def 1;
hence thesis by XBOOLE_0:def 3;
end;
suppose
j <> i; then
y.j = x.j by FUNCT_7:32; then
j in support(x,F) by A2,Def1;
hence thesis by XBOOLE_0:def 3;
end;
end; then
support(y,F) c= support(x,F) \/ {i};
hence thesis by A1;
end;
theorem Th23:
for I be non empty set, G be Group,
a be Function of I,G,
i be Element of I, g be Element of G
holds support(a) is finite implies support(a +* (i,g)) is finite
proof
let I be non empty set, G be Group,
a be Function of I,G,
i be Element of I, g be Element of G;
reconsider b = a +* (i,g) as Function of I,G;
assume
A1: support(a) is finite;
for j be object holds
j in support(b) implies j in support(a) \/ {i}
proof
let j be object;
assume j in support(b); then
A2: b.j <> 1_G & j in I by Def2;
per cases;
suppose
i = j; then
j in {i} by TARSKI:def 1;
hence thesis by XBOOLE_0:def 3;
end;
suppose
i <> j; then
b.j = a.j by FUNCT_7:32; then
j in support(a) by A2,Def2;
hence thesis by XBOOLE_0:def 3;
end;
end; then
support(b) c= support(a) \/ {i};
hence thesis by A1;
end;
theorem Th24:
for I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i
holds x in product F implies x +* (i,g) in product F
proof
let I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i;
assume
A1: x in product F; then
A2: x in product Carrier F by GROUP_7:def 2; then
A3: dom x = dom(Carrier F) &
for j be object st j in dom(Carrier F) holds x.j in (Carrier F).j
by CARD_3:9;
A4: dom x = I by A1,Th3;
set y = x +* (i,g);
A6: dom y = I by A4,FUNCT_7:30;
A7: for j be object st j in dom(Carrier F) holds y.j in (Carrier F).j
proof
let j be object;
assume
A8: j in dom(Carrier F);
per cases;
suppose
A9: j = i; then
A10: y.j = g by A4,FUNCT_7:31;
g in [#](F.i);
hence thesis by A9,A10,Th4;
end;
suppose
j <> i; then
y.j = x.j by FUNCT_7:32;
hence thesis by A2,A8,CARD_3:9;
end;
end;
y in product Carrier F by A3,A4,A6,A7,CARD_3:9;
hence thesis by GROUP_7:def 2;
end;
theorem Th25:
for I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i
holds x in sum F implies x +* (i,g) in sum F
proof
let I be non empty set,
F be Group-Family of I,
x be Function,
i be Element of I,
g be Element of F.i;
set y = x +* (i,g);
assume
A1: x in sum F; then
A2: y in product F by Th24,GROUP_2:40;
for j be object holds j in support(y,F) implies j in support(x,F) \/ {i}
proof
let j be object;
assume j in support(y,F); then
A3: y.j <> 1_F.j & j in I by Def1;
per cases;
suppose
j = i; then
j in {i} by TARSKI:def 1;
hence thesis by TARSKI:def 3,XBOOLE_1:7;
end;
suppose
j <> i; then
x.j <> 1_F.j & j in I by A3,FUNCT_7:32; then
j in support(x,F) by Def1;
hence thesis by TARSKI:def 3,XBOOLE_1:7;
end;
end; then
support(y,F) c= support(x,F) \/ {i};
hence thesis by A1,A2,Th8;
end;
theorem
for I be non empty set, G be Group,
a be finite-support Function of I,G,
i be Element of I, g be Element of G
holds a +* (i,g) is finite-support Function of I,G
proof
let I be non empty set, G be Group,
a be finite-support Function of I,G,
i be Element of I, g be Element of G;
reconsider b = a +* (i,g) as Function of I,G;
support(a) is finite; then
support(b) is finite by Th23;
hence thesis by Def3;
end;
theorem Th27:
for I be non empty set,
F be Group-Family of I,
i be object,
a,b be Function
st i in I & dom a = I & b = a +* (i,1_F.i)
holds support(b,F) = support(a,F) \ {i}
proof
let I be non empty set,
F be Group-Family of I,
i be object,
a,b be Function;
assume that
A1: i in I and
A2: dom a = I and
A3: b = a +* (i,1_F.i);
A5: b.i = 1_F.i by A1,A2,A3,FUNCT_7:31;
for j be object holds j in support(b,F) iff j in support(a,F) \ {i}
proof
let j be object;
hereby
assume
A7: j in support(b,F); then
A8: j <> i by A5,Def1; then
{j} misses {i} by ZFMISC_1:11; then
A9: not j in {i} by ZFMISC_1:48;
a.j = b.j by A3,A8,FUNCT_7:32; then
a.j <> 1_F.j & j in I by A7,Def1; then
j in support(a,F) by Def1;
hence j in support(a,F) \ {i} by A9,XBOOLE_0:def 5;
end;
assume j in support(a,F) \ {i}; then
A10: j in support(a,F) & not j in {i} by XBOOLE_0:def 5;
{j} misses {i} by A10,ZFMISC_1:50; then
A11: b.j = a.j by A3,FUNCT_7:32;
a.j <> 1_F.j & j in I by A10,Def1;
hence j in support(b,F) by A11,Def1;
end;
hence thesis by TARSKI:2;
end;
theorem Th28:
for I be non empty set,
G be Group,
i be object,
a,b be Function of I,G
st i in support(a) & b = a +* (i,1_G)
holds support(b) = support(a) \ {i}
proof
let I be non empty set,
G be Group,
i be object,
a,b be Function of I,G;
assume that
A1: i in support(a) and
A2: b = a +* (i,1_G);
A4: dom a = I by FUNCT_2:def 1;
A5: b.i = 1_G by A1,A2,A4,FUNCT_7:31;
for j be object holds j in support(b) iff j in support(a) \ {i}
proof
let j be object;
hereby
assume j in support(b); then
A7: b.j <> 1_G & j in I by Def2; then
{j} misses {i} by A5,ZFMISC_1:11; then
A9: not j in {i} by ZFMISC_1:48;
a.j = b.j by A2,A5,A7,FUNCT_7:32; then
j in support(a) by A7,Def2;
hence j in support(a) \ {i} by A9,XBOOLE_0:def 5;
end;
assume j in support(a) \ {i}; then
A10: j in support(a) & not j in {i} by XBOOLE_0:def 5;
{j} misses {i} by A10,ZFMISC_1:50; then
A11: b.j = a.j by A2,FUNCT_7:32;
a.j <> 1_G & j in I by A10,Def2;
hence j in support(b) by A11,Def2;
end;
hence thesis by TARSKI:2;
end;
theorem
for I be non empty set,
F be Group-Family of I,
i be object,
a be Element of sum F,
b be Function
st i in support(a,F) & b = a +* (i,1_F.i)
holds card support(b,F) = card support(a,F) - 1
proof
let I be non empty set,
F be Group-Family of I,
i be object,
a be Element of sum F,
b be Function;
assume that
A1: i in support(a,F) and
A2: b = a +* (i,1_F.i);
a is Element of product F by GROUP_2:42; then
dom a = I by Th3; then
support(b,F) = support(a,F) \ {i} by A1,A2,Th27; then
card support(b,F) = card support(a,F) - card {i}
by A1,CARD_2:44,ZFMISC_1:31
.= card support(a,F) - 1 by CARD_2:42;
hence thesis;
end;
theorem
for I be non empty set,
G be Group,
i be object,
a be finite-support Function of I,G,
b be Function of I,G
st i in support(a) & b = a +* (i,1_G)
holds card support(b) = card support(a) - 1
proof
let I be non empty set,
G be Group,
i be object,
a be finite-support Function of I,G,
b be Function of I,G;
assume
A1: i in support(a) & b = a +* (i,1_G); then
support(b) = support(a) \ {i} by Th28; then
card support(b) = card support(a) - card {i}
by A1,CARD_2:44,ZFMISC_1:31
.= card support(a) - 1 by CARD_2:42;
hence thesis;
end;
theorem
for I be non empty set,
F be Group-Family of I,
a,b be Element of product F
st support(a,F) misses support(b,F)
holds a +* (b|support(b,F)) = a * b
proof
let I be non empty set,
F be Group-Family of I,
a,b be Element of product F;
assume
A1: support(a,F) misses support(b,F);
reconsider c = a +* (b|support(b,F)) as Function;
reconsider d = a * b as Element of product F;
A2: dom a = I by Th3;
A3: dom b = I by Th3;
A5: dom c = dom a \/ dom(b|support(b,F)) by FUNCT_4:def 1
.= I by A2,A3,RELAT_1:60,XBOOLE_1:12;
A6: dom d = I by Th3;
A8: dom(b|support(b,F)) = support(b,F) by A3,RELAT_1:62;
for i be object st i in I holds c.i = d.i
proof
let i be object;
assume i in I; then
reconsider i as Element of I;
a in product F & b in product F; then
a.i in F.i & b.i in F.i by Th5; then
reconsider ai = a.i, bi = b.i as Element of F.i;
per cases;
suppose
A9: not i in support(b,F);
c.i = a.i by A8,A9,FUNCT_4:11
.= ai * 1_F.i by GROUP_1:def 4
.= ai * bi by A9,Def1
.= d.i by GROUP_7:1;
hence thesis;
end;
suppose
A11: i in support(b,F); then
A12: not i in support(a,F) by A1,XBOOLE_0:3;
c.i = (b|support(b,F)).i by A8,A11,FUNCT_4:13
.= bi by A11,FUNCT_1:49
.= 1_F.i * bi by GROUP_1:def 4
.= ai * bi by A12,Def1
.= d.i by GROUP_7:1;
hence thesis;
end;
end;
hence thesis by A5,A6,FUNCT_1:2;
end;
theorem Th32:
for I be non empty set,
F be Group-Family of I,
a,b be Element of product F
st support(a,F) misses support(b,F)
holds a * b = b * a
proof
let I be non empty set,
F be Group-Family of I,
a,b be Element of product F;
assume
A1: support(a,F) misses support(b,F);
reconsider c = a * b as Element of product F;
reconsider d = b * a as Element of product F;
A2: dom c = I by Th3;
A3: dom d = I by Th3;
for i be object st i in I holds c.i = d.i
proof
let i be object;
assume i in I; then
reconsider i as Element of I;
a in product F; then
a.i in F.i by Th5; then
reconsider ai = a.i as Element of F.i;
b in product F; then
b.i in F.i by Th5; then
reconsider bi = b.i as Element of F.i;
per cases;
suppose
i in support(a,F); then
A4: not i in support(b,F) by A1,XBOOLE_0:3;
c.i = ai * bi by GROUP_7:1
.= ai * 1_F.i by A4,Def1
.= ai by GROUP_1:def 4
.= 1_F.i * ai by GROUP_1:def 4
.= bi * ai by A4,Def1
.= d.i by GROUP_7:1;
hence thesis;
end;
suppose
A5: not i in support(a,F);
c.i = ai * bi by GROUP_7:1
.= 1_F.i * bi by A5,Def1
.= bi by GROUP_1:def 4
.= bi * 1_F.i by GROUP_1:def 4
.= bi * ai by A5,Def1
.= d.i by GROUP_7:1;
hence thesis;
end;
end;
hence thesis by A2,A3,FUNCT_1:2;
end;
theorem Th33:
for I be non empty set,
F be Group-Family of I,
i be Element of I
holds ProjGroup(F,i) is Subgroup of sum F
proof
let I be non empty set,
F be Group-Family of I,
i be Element of I;
set S = ProjGroup(F,i);
set G = sum F;
for x be object st x in [#]S holds x in [#]G
proof
let x be object;
assume
A1: x in [#]S; then
x in S; then
x in product F by GROUP_2:40; then
reconsider x as Element of product F;
x in ProjSet(F,i) by A1,GROUP_12:def 2; then
consider h be Element of F.i such that
A3: x = 1_product F +* (i,h) by GROUP_12:def 1;
support(x,F) c= {i} by A3,Th17; then
x in sum F by Th8;
hence thesis;
end; then
A14: [#]S c= [#]G;
A16: the multF of G
= (the multF of (product F)) || (the carrier of G) by GROUP_2:def 5
.= (the multF of (product F)) | [:[#]G,[#]G:] by REALSET1:def 2;
(the multF of G) || [#]S
= ((the multF of (product F)) | [:[#]G,[#]G:]) | [:[#]S,[#]S:]
by A16,REALSET1:def 2
.= (the multF of (product F)) | [:[#]S,[#]S:]
by A14,RELAT_1:74,ZFMISC_1:96
.= (the multF of (product F)) || [#]S by REALSET1:def 2
.= the multF of S by GROUP_2:def 5;
hence thesis by A14,GROUP_2:def 5;
end;
theorem Th34:
for I be non empty set,
F,G be Group-Family of I,
x,y be Function
st for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st y.i = hi.(x.i)
holds support(y,G) c= support(x,F)
proof
let I be non empty set,
F,G be Group-Family of I,
x,y be Function;
assume
A1: for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st y.i = hi.(x.i);
for i be object holds i in support(y,G) implies i in support(x,F)
proof
let i be object;
assume
A2: i in support(y,G); then
consider hi be Homomorphism of F.i,G.i such that
A3: y.i = hi.(x.i) by A1;
hi.(x.i) <> 1_ G.i by A2,A3,Def1; then
x.i <> 1_ F.i by GROUP_6:31;
hence thesis by A2,Def1;
end;
hence thesis;
end;
begin :: 3. Product Map and Sum Map
definition
let F, G be non-empty non empty Function,
h be non empty Function;
assume
A1: dom F = dom G = dom h
& for i be object st i in dom h holds h.i is Function of F.i,G.i;
func ProductMap(F,G,h) -> Function of product F,product G means
:Def5:
for x being Element of product F, i being object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & (it.x).i = hi.(x.i);
existence
proof
defpred P[Element of product F,Element of product G] means
for i being object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & $2.i = hi.($1.i);
A2: for x being Element of product F
ex y being Element of product G st P[x,y]
proof
let x be Element of product F;
defpred Q[object,object] means
ex hi be Function of F.$1,G.$1
st hi = h.$1 & $2 = hi.(x.$1);
A3: for i be object st i in dom h ex y be object st Q[i,y]
proof
let i be object;
assume i in dom h; then
reconsider hi = h.i as Function of F.i,G.i by A1;
take hi.(x.i);
thus thesis;
end;
consider y being Function such that
A4: dom y = dom h & for i being object st i in dom h holds Q[i,y.i]
from CLASSES1:sch 1(A3);
now
let i be object;
assume
A5: i in dom G; then
consider hi be Function of F.i,G.i such that
A7: hi = h.i & y.i = hi.(x.i) by A1,A4;
thus y.i in G.i by A1,A5,A7,CARD_3:9,FUNCT_2:5;
end; then
reconsider y as Element of product G by A1,A4,CARD_3:9;
take y;
let i be object;
assume i in dom h;
hence thesis by A4;
end;
thus ex p being Function of product F,product G
st for x being Element of product F holds P[x,p.x]
from FUNCT_2:sch 3(A2);
end;
uniqueness
proof
let p,q be Function of product F,product G such that
A8: for f being Element of product F, i being object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & (p.f).i = hi.(f.i) and
A9: for f being Element of product F, i being object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & (q.f).i = hi.(f.i);
now
let f being Element of product F;
A10: dom(p.f) = dom G & dom(q.f) = dom G by CARD_3:9;
now
let i be object;
assume i in dom(p.f); then
A12: i in dom h by A1,CARD_3:9;
A13: ex hi be Function of F.i,G.i
st hi = h.i & (p.f).i = hi.(f.i) by A8,A12;
ex hi be Function of F.i,G.i
st hi = h.i & (q.f).i = hi.(f.i) by A9,A12;
hence (p.f).i = (q.f).i by A13;
end;
hence p.f = q.f by A10,FUNCT_1:2;
end;
hence thesis by FUNCT_2:def 8;
end;
end;
theorem Th35:
for F,G be non-empty non empty Function,
h be non empty Function
st dom F = dom G = dom h
& for i be object st i in dom h holds
ex hi be Function of F.i,G.i
st hi = h.i & hi is onto
holds ProductMap(F,G,h) is onto
proof
let F, G be non-empty non empty Function,
h be non empty Function;
assume that
A1: dom F = dom G = dom h and
A2: for i be object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & hi is onto;
set p = ProductMap(F,G,h);
A4: for i be object st i in dom h holds h.i is Function of F.i,G.i
proof
let i be object;
assume i in dom h; then
ex hi be Function of F.i,G.i st hi = h.i & hi is onto by A2;
hence thesis;
end;
for y being object st y in product G
ex x being object st x in product F & y = p.x
proof
let y being object;
assume
A5: y in product G; then
reconsider y as Function;
A6: dom y = dom G
& for x being object st x in dom G holds y.x in G.x by A5,CARD_3:9;
defpred P[object,object] means
ex i be Element of dom h, hi be Function of F.i,G.i
st $1 =i & hi = h.i & $2 in F.i & y.i = hi.($2);
A7: for i be object st i in dom F ex x be object st P[i,x]
proof
let i be object;
assume i in dom F; then
reconsider i as Element of dom h by A1;
consider hi be Function of F.i,G.i such that
A9: hi = h.i & hi is onto by A2;
rng hi = G.i by A9,FUNCT_2:def 3; then
consider x be object such that
A11: x in F.i & y.i = hi.x by A1,A5,CARD_3:9,FUNCT_2:11;
take x;
thus thesis by A9,A11;
end;
consider x being Function such that
A12: dom x = dom F & for i being object st i in dom F holds P[i,x.i]
from CLASSES1:sch 1(A7);
now
let i be object;
assume i in dom F; then
ex i0 be Element of dom h, hi be Function of F.i0,G.i0
st i = i0 & hi = h.i0 & x.i in F.i0 & y.i0 = hi.(x.i) by A12;
hence x.i in F.i;
end; then
reconsider x as Element of product F by A12,CARD_3:9;
take x;
A14: dom y = dom(p.x) by A6,CARD_3:9;
now
let i be object;
assume i in dom y; then
i in dom F by A1,A5,CARD_3:9; then
consider i0 be Element of dom h, hi be Function of F.i0,G.i0 such that
A16: i = i0 & hi = h.i0 & x.i in F.i0 & y.i0 = hi.(x.i) by A12;
ex hi be Function of F.i0,G.i0
st hi = h.i0 & (p.x).i0 = hi.(x.i0) by A1,A4,Def5;
hence y.i = (p.x).i by A16;
end;
hence thesis by A14,FUNCT_1:2;
end; then
rng p = product G by FUNCT_2:10;
hence thesis by FUNCT_2:def 3;
end;
theorem Th36:
for F,G be non-empty non empty Function,
h be non empty Function
st dom F = dom G = dom h
& for i be object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & hi is one-to-one
holds ProductMap(F,G,h) is one-to-one
proof
let F,G be non-empty non empty Function,
h be non empty Function;
assume that
A1: dom F = dom G = dom h and
A2: for i be object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & hi is one-to-one;
set p = ProductMap(F,G,h);
A4: for i be object st i in dom h holds h.i is Function of F.i,G.i
proof
let i be object;
assume i in dom h; then
ex hi be Function of F.i,G.i st hi = h.i & hi is one-to-one by A2;
hence thesis;
end;
for x1,x2 being object st x1 in product F & x2 in product F & p.x1 = p.x2
holds x1 = x2
proof
let x1,x2 be object;
assume
A5: x1 in product F & x2 in product F & p.x1 = p.x2;
thus x1 = x2
proof
reconsider x1, x2 as Element of product F by A5;
A7: dom x2 = dom F by CARD_3:9;
for i be object st i in dom x1 holds x1.i = x2.i
proof
let i be object;
assume i in dom x1; then
reconsider i as Element of dom h by A1,CARD_3:9;
consider hi1 be Function of F.i,G.i such that
A9: hi1 = h.i & (p.x1).i = hi1.(x1.i) by A1,A4,Def5;
consider hi2 be Function of F.i,G.i such that
A10: hi2 = h.i & (p.x2).i = hi2.(x2.i) by A1,A4,Def5;
A14: ex hi be Function of F.i,G.i
st hi = h.i & hi is one-to-one by A2;
A15: x1.i in F.i by A1,CARD_3:9;
x2.i in F.i by A1,CARD_3:9;
hence thesis by A1,A5,A9,A10,A14,A15,FUNCT_2:19;
end;
hence thesis by A7,CARD_3:9,FUNCT_1:2;
end;
end;
hence thesis by FUNCT_2:19;
end;
theorem Th37:
for F,G be non-empty non empty Function,
h be non empty Function
st dom F = dom G = dom h
& for i be object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & hi is bijective
holds ProductMap(F,G,h) is bijective
proof
let F,G be non-empty non empty Function,
h be non empty Function;
assume that
A1: dom F = dom G = dom h and
A2: for i be object st i in dom h holds
ex hi be Function of F.i,G.i st hi = h.i & hi is bijective;
set p = ProductMap(F,G,h);
now
let i be object;
assume i in dom h; then
ex hi be Function of F.i,G.i
st hi = h.i & hi is bijective by A2;
hence ex hi be Function of F.i,G.i st hi = h.i & hi is onto;
end; then
A3: p is onto by A1,Th35;
now
let i be object;
assume i in dom h; then
ex hi be Function of F.i,G.i
st hi = h.i & hi is bijective by A2;
hence ex hi be Function of F.i,G.i
st hi = h.i & hi is one-to-one;
end; then
p is one-to-one by A1,Th36;
hence thesis by A3;
end;
theorem Th38:
for I be non empty set,
F,G be Group-Family of I,
h be non empty Function,
x be Element of product F,
y be Element of product G
st I = dom h
& y = ProductMap(Carrier F,Carrier G,h).x
& for i be object st i in I holds
h.i is Homomorphism of F.i,G.i
holds
for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st hi = h.i & y.i = hi.(x.i)
proof
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function,
x be Element of product F,
y be Element of product G;
assume that
A1: I = dom h and
A2: y = ProductMap(Carrier F,Carrier G,h).x and
A3: for i be object st i in I holds h.i is Homomorphism of F.i,G.i;
set p = ProductMap(Carrier F,Carrier G,h);
dom Carrier G = I by PARTFUN1:def 2; then
A6: dom Carrier F = dom Carrier G = dom h by A1,PARTFUN1:def 2;
A7: for i be object st i in dom h holds
h.i is Function of (Carrier F).i,(Carrier G).i
proof
let i be object;
assume i in dom h; then
reconsider i as Element of I by A1;
A8: [#](F.i) = (Carrier F).i by Th4;
[#](G.i) = (Carrier G).i by Th4;
hence thesis by A3,A8;
end;
for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i st hi = h.i & y.i = hi.(x.i)
proof
let i be object;
assume
A10: i in I;
reconsider x as Element of product Carrier F by GROUP_7:def 2;
consider hi be Function of (Carrier F).i,(Carrier G).i such that
A13: hi = h.i and
A14: (p.x).i = hi.(x.i) by A1,A6,A7,A10,Def5;
hi is Homomorphism of F.i, G.i by A3,A10,A13;
hence thesis by A2,A13,A14;
end;
hence thesis;
end;
definition
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function;
assume
A1: I = dom h
& for i be object st i in I holds h.i is Homomorphism of F.i,G.i;
func ProductMap(F,G,h) -> Homomorphism of product F,product G equals
:Def6:
ProductMap(Carrier F,Carrier G,h);
coherence
proof
set p = ProductMap(Carrier F,Carrier G,h);
A3: [#] product F = product Carrier F by GROUP_7:def 2;
reconsider p as Function of product F,product G by A3,GROUP_7:def 2;
for a,b being Element of product F holds p.(a * b) = p.a * p.b
proof
let a,b being Element of product F;
A5: dom(p.(a * b)) = I by Th3;
A6: dom(p.a * p.b) = I by Th3;
for i be object st i in I holds (p.(a * b)).i = (p.a * p.b).i
proof
let i be object;
assume
A7: i in I;
consider hi be Homomorphism of F.i,G.i such that
A8: hi = h.i & (p.(a * b)).i = hi.((a * b).i) by A1,A7,Th38;
consider hi1 be Homomorphism of F.i,G.i such that
A9: hi1 = h.i & (p.a).i = hi1.(a.i) by A1,A7,Th38;
consider hi2 be Homomorphism of F.i,G.i such that
A10: hi2 = h.i & (p.b).i = hi2.(b.i) by A1,A7,Th38;
a in product F; then
a.i in F.i by A7,Th5; then
reconsider ai = a.i as Element of F.i;
b in product F; then
b.i in F.i by A7,Th5; then
reconsider bi = b.i as Element of F.i;
thus (p.(a * b)).i = hi.(ai * bi) by A7,A8,GROUP_7:1
.= hi.ai * hi.bi by GROUP_6:def 6
.= (p.a * p.b).i by A7,A8,A9,A10,GROUP_7:1;
end;
hence p.(a * b) = p.a * p.b by A5,A6,FUNCT_1:2;
end;
hence thesis by GROUP_6:def 6;
end;
end;
theorem Th39:
for I be non empty set,
F,G be Group-Family of I,
h be non empty Function,
x be Element of product F,
y be Element of product G
st I = dom h
& y = ProductMap(F,G,h).x
& for i be object st i in I holds
h.i is Homomorphism of F.i,G.i
holds
for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st hi = h.i & y.i = hi.(x.i)
proof
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function,
x be Element of product F,
y be Element of product G;
assume that
A1: I = dom h and
A2: y = ProductMap(F,G,h).x and
A3: for i be object st i in I holds
h.i is Homomorphism of F.i,G.i;
y = ProductMap(Carrier F,Carrier G,h).x by A1,A2,A3,Def6;
hence thesis by A1,A3,Th38;
end;
theorem Th40:
for I be non empty set,
F,G be Group-Family of I,
h be non empty Function
st I = dom h
& for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st hi = h.i & hi is bijective
holds ProductMap(F,G,h) is bijective
proof
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function;
assume
A1: I = dom h
& for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i st hi = h.i & hi is bijective;
set p = ProductMap(Carrier F,Carrier G,h);
A3: dom(Carrier F) = I & dom(Carrier G) = I by PARTFUN1:def 2;
for i be object st i in dom h holds
ex hi be Function of (Carrier F).i,(Carrier G).i
st hi = h.i & hi is bijective
proof
let i be object;
assume
A4: i in dom h; then
consider hi be Homomorphism of F.i,G.i such that
A5: hi = h.i & hi is bijective by A1;
A6: (Carrier F).i = [#](F.i) by A1,A4,Th4;
A7: (Carrier G).i = [#](G.i) by A1,A4,Th4; then
reconsider hi as Function of (Carrier F).i,(Carrier G).i by A6;
take hi;
thus thesis by A5,A7;
end; then
A8: p is bijective by A1,A3,Th37;
A9: [#] product F = product Carrier F by GROUP_7:def 2;
A10: [#] product G = product Carrier G by GROUP_7:def 2;
reconsider p as Function of product F,product G by A9,GROUP_7:def 2;
for i be object st i in I holds h.i is Homomorphism of F.i,G.i
proof
let i be object;
assume i in I; then
consider hi be Homomorphism of F.i,G.i such that
A11: hi = h.i & hi is bijective by A1;
thus thesis by A11;
end; then
p = ProductMap(F,G,h) by A1,Def6;
hence thesis by A8,A10;
end;
definition
let I be non empty set,
F be Group-Family of I,
i be Element of I;
redefine func ProjGroup(F,i) -> strict Subgroup of sum F;
correctness by Th33;
end;
definition
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function;
assume
A1: I = dom h
& for i be object st i in I holds
h.i is Homomorphism of F.i,G.i;
func SumMap(F,G,h) -> Homomorphism of sum F,sum G equals
:Def7:
ProductMap(F,G,h) | sum F;
correctness
proof
set p = ProductMap(F,G,h);
set s = p | sum F;
for y being object holds y in rng s implies y in [#] sum G
proof
let y be object;
assume
A4: y in rng s; then
consider x being object such that
A5: x in dom s and
A6: y = s.x by FUNCT_1:def 3;
dom s c= dom p by RELAT_1:60; then
x in dom p by A5; then
reconsider x as Element of product F;
reconsider y as Element of product G by A4;
A8: y = p.x by A5,A6,FUNCT_1:47;
for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i st y.i = hi.(x.i)
proof
let i be object;
assume i in I; then
consider hi be Homomorphism of F.i,G.i such that
A9: hi = h.i & y.i = hi.(x.i) by A1,A8,Th39;
thus thesis by A9;
end; then
support(y,G) c= support(x,F) by Th34; then
y in sum G by A5,Th8;
hence thesis;
end; then
rng s c= [#] sum G; then
[#] Image(s) c= [#] sum G by GROUP_6:44; then
A10: Image(s) is Subgroup of sum G by GROUP_2:57;
s is Homomorphism of sum F,Image(s) by GROUP_6:49;
hence thesis by A10,Th6;
end;
end;
theorem
for I be non empty set,
F,G be Group-Family of I,
h be non empty Function
st I = dom h
& for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i
st hi = h.i
& hi is bijective
holds SumMap(F,G,h) is bijective
proof
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function;
assume that
A1: I = dom h and
A2: for i be object st i in I holds
ex hi be Homomorphism of F.i,G.i st hi = h.i & hi is bijective;
A3: for i be object st i in I holds h.i is Homomorphism of F.i,G.i
proof
let i be object;
assume i in I; then
consider hi be Homomorphism of F.i,G.i such that
A4: hi = h.i & hi is bijective by A2;
thus thesis by A4;
end;
set p = ProductMap(F,G,h);
set s = SumMap(F,G,h);
A5: p is bijective by A1,A2,Th40;
A6: s = p | sum F by A1,A3,Def7; then
A7: s is one-to-one by A5,FUNCT_1:52;
A9: rng s c= [#] sum G;
for y be object holds y in [#] sum G implies y in rng s
proof
let y be object;
assume
A10: y in [#] sum G; then
y in sum G; then
A11: y in product G by GROUP_2:40; then
y in rng p by A5,GROUP_6:61; then
consider x be object such that
A12: x in dom p and
A13: y = p.x by FUNCT_1:def 3;
reconsider x as Element of product F by A12;
reconsider y as Element of product G by A11;
A15: x in sum F
proof
assume
A16: not x in sum F;
for i be object st i in I holds
ex ki be Homomorphism of G.i,F.i st x.i = ki.(y.i)
proof
let i be object;
assume
A17: i in I; then
consider hi be Homomorphism of F.i,G.i such that
A18: hi = h.i and
A19: y.i = hi.(x.i) by A1,A3,A13,Th39;
consider li be Homomorphism of F.i,G.i such that
A20: li = h.i & li is bijective by A2,A17;
reconsider ki = hi" as Homomorphism of G.i,F.i by A18,A20,GROUP_6:62;
take ki;
reconsider i as Element of I by A17;
x in product F; then
x.i in F.i by Th5;
hence thesis by A18,A19,A20,FUNCT_2:26;
end; then
support(x,F) c= support(y,G) by Th34;
hence contradiction by A10,A16,Th8;
end;
A22: x in dom s by A15,FUNCT_2:def 1; then
s.x = p.x by A6,FUNCT_1:47;
hence thesis by A13,A22,FUNCT_1:3;
end;
hence thesis by A7,A9,TARSKI:2,GROUP_6:60;
end;
theorem
for I be non empty set,
F,G be Group-Family of I,
h be non empty Function
st I = dom h
& for i be object st i in I holds h.i is Homomorphism of F.i,G.i
holds
for i be Element of I,
f be Element of F.i,
hi be Homomorphism of F.i,G.i
st hi = h.i
holds SumMap(F,G,h).(1ProdHom(F,i).f) = 1ProdHom(G,i).(hi.f)
proof
let I be non empty set,
F,G be Group-Family of I,
h be non empty Function;
assume that
A1: I = dom h and
A2: for i be object st i in I holds h.i is Homomorphism of F.i,G.i;
let i be Element of I,
f be Element of F.i,
hi be Homomorphism of F.i,G.i;
assume
A3: hi = h.i;
set x = 1ProdHom(F,i).f;
set y = SumMap(F,G,h).x;
x in ProjGroup(F,i); then
A6: x in sum F by GROUP_2:40;
reconsider x as Element of product F by GROUP_2:42;
y in sum G by A6,FUNCT_2:5; then
reconsider y as Element of product G by GROUP_2:42;
A8: x in dom SumMap(F,G,h) by A6,FUNCT_2:def 1;
SumMap(F,G,h) = ProductMap(F,G,h) | sum F by A1,A2,Def7; then
A10: y = ProductMap(F,G,h).x by A8,FUNCT_1:47;
A11: dom y = I by Th3;
A13: x = (1_product F) +* (i,f) by GROUP_12:def 3;
consider hi0 be Homomorphism of F.i,G.i such that
A15: hi0 = h.i & y.i = hi0.(x.i) by A1,A2,A10,Th39;
A16: y.i = hi.f by A3,A13,A15,GROUP_12:1;
A17: for j be Element of I st j <> i holds y.j = 1_G.j
proof
let j be Element of I;
assume j <> i; then
A18: x.j = 1_F.j by A13,GROUP_12:1;
consider hj be Homomorphism of F.j,G.j such that
A19: hj = h.j & y.j = hj.(x.j) by A1,A2,A10,Th39;
thus thesis by A18,A19,GROUP_6:31;
end;
y = (1_product G) +* (i,hi.f) by A11,A16,A17,GROUP_12:1;
hence thesis by GROUP_12:def 3;
end;
begin :: 4. Definition of Internal and External Direct Sum Decomposition
theorem Th43:
for I be non empty set,
G be Group,
i be object st i in I holds
ex F be Group-Family of I,
h be Homomorphism of sum F, G
st h is bijective
& F = (I --> (1).G) +* ({i} --> G)
&(for j be object st j in I holds 1_F.j = 1_G)
&(for x be Element of sum F holds h.x = x.i)
& for x be Element of sum F
ex J being finite Subset of I,
a being ManySortedSet of J
st J c= {i}
& J = support(x,F)
& (support(x,F) = {} or support(x,F) = {i})
& x = 1_product F +* a
& (for j being object st j in I \ J holds x.j = 1_F.j)
& (for j being object st j in J holds x.j = a.j)
proof
let I be non empty set,
G be Group,
i be object;
assume
A1: i in I;
set v = I --> (1).G;
set w = {i} --> G;
set F = v +* w;
A4: dom F = dom(v) \/ dom(w) by FUNCT_4:def 1
.= dom(v) \/ {i} by FUNCOP_1:13
.= I \/ {i} by FUNCOP_1:13
.= I by A1,XBOOLE_1:12,ZFMISC_1:31;
A5: i in {i} by TARSKI:def 1; then
i in dom w by FUNCOP_1:13; then
A7: F.i = w.i by FUNCT_4:13; then
A8: F.i = G by A5,FUNCOP_1:7;
A9: for j be object st j in I \ {i} holds F.j = (1).G
proof
let j be object;
assume
A10: j in I \ {i}; then
j in dom F by A4; then
A11: j in dom(v) \/ dom(w) by FUNCT_4:def 1;
not j in dom w by A10,XBOOLE_0:def 5;
hence F.j = v.j by A11,FUNCT_4:def 1
.= (1).G by A10,FUNCOP_1:7;
end;
for j be object st j in I holds F.j is Group
proof
let j be object;
assume
A12: j in I;
per cases;
suppose
j in {i};
hence F.j is Group by A8,TARSKI:def 1;
end;
suppose
not j in {i}; then
j in I \ {i} by A12,XBOOLE_0:def 5;
hence F.j is Group by A9;
end;
end; then
reconsider F as Group-Family of I by A4,Th2;
A17: for j be object st j in I holds 1_F.j = 1_G
proof
let j be object;
assume
A18: j in I;
per cases;
suppose
j in {i};
hence 1_F.j = 1_G by A8,TARSKI:def 1;
end;
suppose
not j in {i}; then
j in I \ {i} by A18,XBOOLE_0:def 5; then
F.j = (1).G by A9;
hence 1_F.j = 1_G by GROUP_2:44;
end;
end;
defpred P[Element of sum F,Element of G] means $2 = $1.i;
A24: for x being Element of sum F ex y being Element of G st P[x,y]
proof
let x be Element of sum F;
x in sum F; then
A25: x.i in F.i by A1,GROUP_2:40,Th5;
A26: i in {i} by TARSKI:def 1; then
A27: i in dom w by FUNCOP_1:13; then
i in dom(v) \/ dom(w) by XBOOLE_0:def 3; then
F.i = w.i by A27,FUNCT_4:def 1; then
reconsider y = x.i as Element of G by A25,A26,FUNCOP_1:7;
take y;
thus thesis;
end;
consider h being Function of sum F,G such that
A29: for x being Element of sum F holds P[x,h.x] from FUNCT_2:sch 3(A24);
for y being object st y in [#]G
ex x being object st x in [#]sum F & y = h.x
proof
let y be object;
assume
A30: y in [#]G;
reconsider i as Element of I by A1;
set x = 1_product F +* (i,y);
A32: 1_product F in product F;
A33: y in F.i by A5,A7,A30,FUNCOP_1:7; then
x in product F by A32,Th24; then
reconsider x as Element of product F;
support(x,F) c= {i} by A33,Th17; then
A35: x in sum F by Th8;
take x;
thus x in [#]sum F by A35;
A36: dom(1_product F) = I by Th3;
reconsider x as Element of sum F by A35;
reconsider y as Element of G by A30;
P[x,y] by A36,FUNCT_7:31;
hence thesis by A29;
end; then
rng h = [#]G by FUNCT_2:10; then
A42: h is onto by FUNCT_2:def 3;
A43: for x be Element of sum F holds support(x,F) c= {i}
proof
let x be Element of sum F;
now
let j be object;
assume
A44: j in support(x,F); then
A45: x.j <> 1_F.j & j in I by Def1;
assume not j in {i}; then
j in I \ {i} by A44,XBOOLE_0:def 5; then
A46: F.j = (1).G by A9;
x in sum F; then
x.j in F.j by A44,GROUP_2:40,Th5; then
x.j in {1_G} by A46,GROUP_2:def 7; then
x.j = 1_G by TARSKI:def 1;
hence contradiction by A45,A46,GROUP_2:44;
end;
hence thesis;
end;
for x1,x2 being object
st x1 in [#]sum F & x2 in [#]sum F & h.x1 = h.x2 holds x1 = x2
proof
let x1,x2 be object;
assume
A48: x1 in [#]sum F & x2 in [#]sum F & h.x1 = h.x2; then
reconsider x1,x2 as Element of sum F;
x1 in sum F & x2 in sum F; then
A49: x1 in product F & x2 in product F by GROUP_2:40; then
A50: dom x1 = I & dom x2 = I by Th3;
consider J1 being finite Subset of I,
a1 being ManySortedSet of J1 such that
A51: J1 = support(x1,F)
& x1 = 1_product F +* a1
&(for j being object st j in I \ J1 holds x1.j = 1_F.j)
&(for j being object st j in J1 holds x1.j = a1.j) by Th7;
consider J2 being finite Subset of I,
a2 being ManySortedSet of J2 such that
A52: J2 = support(x2,F)
& x2 = 1_product F +* a2
&(for j being object st j in I \ J2 holds x2.j = 1_F.j)
&(for j being object st j in J2 holds x2.j = a2.j) by Th7;
A53: support(x1,F) c= {i} by A43;
A54: support(x2,F) c= {i} by A43;
for j be object st j in dom x1 holds x1.j = x2.j
proof
let j be object;
assume
j in dom x1; then
A56: j in I by A49,Th3;
per cases;
suppose
not j in {i}; then
not j in J1 & not j in J2 by A51,A52,A53,A54; then
A59: j in I \ J1 & j in I \ J2 by A56,XBOOLE_0:def 5;
hence x1.j = 1_F.j by A51
.= x2.j by A52,A59;
end;
suppose
j in {i}; then
A61: j = i by TARSKI:def 1;
hence x1.j = h.x2 by A29,A48
.= x2.j by A29,A61;
end;
end;
hence thesis by A50,FUNCT_1:2;
end; then
A62: h is one-to-one by FUNCT_2:19;
for x, y being Element of sum F holds h.(x * y) = h.x * h.y
proof
let x, y being Element of sum F;
A68: for j be set st j in I holds
ex Fi being non empty multMagma, xi,yi being Element of Fi
st xi = x.j & yi = y.j & Fi = F.j & (x * y).j = xi * yi
proof
let j be set;
assume j in I; then
reconsider j as Element of I;
x in sum F; then
x in product F by GROUP_2:40; then
reconsider x0 = x as Element of product F;
x0 in product F; then
x0.j in F.j by Th5; then
reconsider xi = x0.j as Element of F.j;
y in sum F; then
y in product F by GROUP_2:40; then
reconsider y0 = y as Element of product F;
y0 in product F; then
y0.j in F.j by Th5; then
reconsider yi = y0.j as Element of F.j;
(x * y).j = (x0 * y0).j by GROUP_2:43
.= xi * yi by GROUP_7:1;
hence thesis;
end;
h.(x * y) = h.x * h.y
proof
consider Fa being non empty multMagma,
xa,ya being Element of Fa such that
A72: xa = x.i & ya = y.i & Fa = F.i & (x * y).i = xa * ya by A1,A68;
A74: xa = h.x by A29,A72;
thus h.(x * y) = xa * ya by A29,A72
.= h.x * h.y by A8,A29,A72,A74;
end;
hence thesis;
end; then
reconsider h as Homomorphism of sum F, G by GROUP_6:def 6;
take F,h;
thus h is bijective by A42,A62;
thus F = (I --> (1).G) +* ({i} --> G);
thus for j be object st j in I holds 1_F.j = 1_G by A17;
thus for x be Element of sum F holds h.x = x.i by A29;
thus for x be Element of sum F
ex J being finite Subset of I,
a being ManySortedSet of J
st J c= {i}
& J = support(x,F)
&(support(x,F) = {} or support(x,F) = {i})
& x = 1_product F +* a
&(for j being object st j in I \ J holds x.j = 1_F.j)
&(for j being object st j in J holds x.j = a.j)
proof
let x be Element of sum F;
A78: support(x,F) c= {i} by A43;
A79: support(x,F) = {} or support(x,F) = {i}
proof
per cases;
suppose
support(x,F) = {};
hence thesis;
end;
suppose
support(x,F) <> {}; then
consider j be object such that
A82: j in support(x,F) by XBOOLE_0:def 1;
A83: {j} c= support(x,F) by A82,ZFMISC_1:31;
j = i by A78,A82,TARSKI:def 1;
hence thesis by A78,A83,XBOOLE_0:def 10;
end;
end;
consider J being finite Subset of I,
a being ManySortedSet of J such that
A85: J = support(x,F)
& x = 1_product F +* a
&(for j being object st j in I \ J holds x.j = 1_F.j)
&(for j being object st j in J holds x.j = a.j) by Th7;
take J,a;
thus thesis by A79,A85;
end;
end;
definition
let I be non empty set;
let G be Group;
mode DirectSumComponents of G,I -> Group-Family of I means
:Def8:
ex h be Homomorphism of sum it, G st h is bijective;
existence
proof
consider i be object such that
A1: i in I by XBOOLE_0:def 1;
consider F be Group-Family of I,
h be Homomorphism of sum F, G such that
A2: h is bijective
& F = (I --> (1).G) +* ({i} --> G)
&(for j be object st j in I holds 1_F.j = 1_G)
&(for x be Element of sum F holds h.x = x.i)
& for x be Element of sum F
ex J being finite Subset of I,
a being ManySortedSet of J
st J c= {i}
& J = support(x,F)
& (support(x,F) = {} or support(x,F) = {i})
& x = 1_product F +* a
& (for j being object st j in I \ J holds x.j = 1_F.j)
& (for j being object st j in J holds x.j = a.j) by A1,Th43;
thus thesis by A2;
end;
end;
definition
let I be non empty set;
let G be Group;
let F be DirectSumComponents of G,I;
attr F is internal means
:Def9:
(for i be Element of I holds F.i is Subgroup of G)
& ex h be Homomorphism of sum F, G
st h is bijective
& for x be finite-support Function of I,G st x in sum F holds
h.x = Product x;
end;
registration
let I be non empty set;
let G be Group;
cluster internal for DirectSumComponents of G,I;
existence
proof
consider i be object such that
A1: i in I by XBOOLE_0:def 1;
consider F be Group-Family of I,
h be Homomorphism of sum F,(Omega).G such that
A2: h is bijective
& F = (I --> (1).((Omega).G)) +* ({i} --> (Omega).G)
&(for j be object st j in I holds 1_F.j = 1_(Omega).G)
&(for x be Element of sum F holds h.x = x.i)
& for x be Element of sum F
ex J being finite Subset of I,
a being ManySortedSet of J
st J c= {i}
& J = support(x,F)
& (support(x,F) = {} or support(x,F) = {i})
& x = 1_product F +* a
& (for j being object st j in I \ J holds x.j = 1_F.j)
& (for j being object st j in J holds x.j = a.j) by A1,Th43;
reconsider h as Homomorphism of sum F,G by Th6;
h is bijective by A2; then
reconsider F as DirectSumComponents of G,I by Def8;
set v = (I --> (1).((Omega).G));
set w = ({i} --> (Omega).G);
A8: dom F = dom v \/ dom w by A2,FUNCT_4:def 1
.= dom v \/ {i} by FUNCOP_1:13
.= I \/ {i} by FUNCOP_1:13
.= I by A1,XBOOLE_1:12,ZFMISC_1:31;
A9: i in {i} by TARSKI:def 1; then
i in dom w by FUNCOP_1:13; then
A11: F.i = w.i by A2,FUNCT_4:13; then
A12: F.i = (Omega).G by A9,FUNCOP_1:7;
A13: for j be object st j in I \ {i} holds F.j = (1).((Omega).G)
proof
let j be object;
assume
A14: j in I \ {i}; then
j in dom F by A8; then
A15: j in dom v \/ dom w by A2,FUNCT_4:def 1;
not j in dom w by A14,XBOOLE_0:def 5;
hence F.j = v.j by A2,A15,FUNCT_4:def 1
.= (1).((Omega).G) by A14,FUNCOP_1:7;
end;
A21: for j be object st j in I holds F.j is Subgroup of G
proof
let j be object;
assume
A22: j in I;
per cases;
suppose
j in {i};
hence thesis by A12,TARSKI:def 1;
end;
suppose
not j in {i}; then
j in I \ {i} by A22,XBOOLE_0:def 5; then
F.j is strict Subgroup of (Omega).G by A13;
hence thesis;
end;
end;
for x be finite-support Function of I,G st x in sum F
holds h.x = Product x
proof
let x be finite-support Function of I,G;
assume
A23: x in sum F; then
reconsider x0 = x as Element of sum F;
set p = x|support(x);
A24: dom p = support(x) by FUNCT_2:def 1;
A28: x0 in product F by A23,GROUP_2:40; then
A29: support(x0,F) = support(x) by A21,Th9;
A30: h.x0 = x0.i by A2;
consider J being finite Subset of I,
a being ManySortedSet of J such that
A31: J c= {i}
& J = support(x0,F)
& (support(x0,F) = {} or support(x0,F) = {i})
& x0 = 1_product F +* a
& (for j being object st j in I \ J holds x0.j = 1_F.j)
& (for j being object st j in J holds x0.j = a.j) by A2;
per cases by A31;
suppose
A32: support(x0,F) = {};
A34: x.i = 1_F.i by A1,A31,A32
.= 1_(Omega).G by A9,A11,FUNCOP_1:7;
p * canFS(support(x)) = <*>(the carrier of G) by A29,A32; then
Product p = Product(<*>(the carrier of G)) by GROUP_17:def 1
.= 1_G by GROUP_4:8;
hence thesis by A30,A34,GROUP_2:44;
end;
suppose
A36: support(x0,F) = {i};
reconsider xi = x0.i as Element of G by A30,FUNCT_2:5;
A37: i in dom p by A24,A29,A36,TARSKI:def 1;
p * canFS(support(x)) = p * canFS({i}) by A21,A28,A36,Th9
.= p * (<*i*>) by FINSEQ_1:94
.= <* p.i *> by A37,FINSEQ_2:34
.= <* xi *> by A37,FUNCT_1:47; then
Product p = Product(<* xi *>) by GROUP_17:def 1
.= x0.i by GROUP_4:9;
hence thesis by A2;
end;
end; then
F is internal by A2,A21;
hence thesis;
end;
end;
begin :: 5. Equivalent Expression of Internal Direct Sum Decomposition
theorem Th44:
for G be Group, A be non empty Subset of G
st for x,y be Element of G st x in A & y in A holds x * y = y * x
holds gr A is commutative
proof
let G be Group, A be non empty Subset of G;
assume
A1: for x,y be Element of G st x in A & y in A holds x * y = y * x;
A2: for x,y be Element of G, i,j be Element of INT st x in A & y in A
holds (x|^i) * (y|^j) = (y|^j) * (x|^i)
proof
let x,y be Element of G, i,j be Element of INT;
assume x in A & y in A; then
x * y = y * x by A1;
hence thesis by GROUP_1:39;
end;
A3: for y be Element of G, j be Element of INT st y in A holds
for F be FinSequence of G, I be FinSequence of INT
st len F = len I & rng F c= A
holds Product(F|^I) * (y|^j) = (y|^j) * Product(F|^I)
proof
let y be Element of G, j be Element of INT;
assume
A4: y in A;
set x = y|^j;
defpred P[Nat] means
for F be FinSequence of G, I be FinSequence of INT
st len F = $1 & len F = len I & rng F c= A
holds Product(F|^I) * x = x * Product(F|^I);
A5: P[0]
proof
let F be FinSequence of G,
I be FinSequence of INT such that
A6: len F = 0 & len F = len I & rng F c= A;
F = <*>([#]G) & I = <*>INT by A6; then
F|^I = <*>([#]G) by GROUP_4:21; then
A7: Product(F|^I) = 1_G by GROUP_4:8;
hence Product(F|^I) * x = x by GROUP_1:def 4
.= x * Product(F|^I) by A7,GROUP_1:def 4;
end;
A8: for k be Nat st P[k] holds P[k+1]
proof
let k be Nat;
assume
A9: P[k];
let F be FinSequence of G,
I be FinSequence of INT such that
A10: len F = k+1 & len F = len I & rng F c= A;
reconsider g = F/.(k+1) as Element of G;
reconsider i = I/.(k+1) as Element of INT;
reconsider F0 = F|k as FinSequence of G;
reconsider I0 = I|k as FinSequence of INT;
rng F0 c= rng F by RELAT_1:70; then
A11: rng F0 c= A by A10;
reconsider F1 = <*g*> as FinSequence of G;
reconsider I1 = <*i*> as FinSequence of INT;
A12: <* @i *> = I1 by GROUP_4:def 1;
k+1 in Seg (k+1) by FINSEQ_1:4; then
A13: k+1 in dom F by A10,FINSEQ_1:def 3; then
F/.(k+1) = F.(k+1) by PARTFUN1:def 6; then
A14: F = F0^F1 by A10,FINSEQ_3:55;
k+1 in Seg (k+1) by FINSEQ_1:4; then
k+1 in dom I by A10,FINSEQ_1:def 3; then
A15: I/.(k+1) = I.(k+1) by PARTFUN1:def 6;
g = F.(k+1) by A13,PARTFUN1:def 6; then
A17: g in A by A10,A13,FUNCT_1:3;
k <= len F & k <= len I by A10,XREAL_1:31; then
A18: len F0 = k & len I0 = k by FINSEQ_1:17;
A19: len F1 = 1 & len I1 = 1 by FINSEQ_1:39;
A20: F|^I = (F0^F1) |^ (I0^I1) by A10,A14,A15,FINSEQ_3:55
.= (F0|^I0)^(F1|^I1) by A18,A19,GROUP_4:19
.= (F0|^I0)^<*g|^i*> by A12,GROUP_4:22;
hence Product(F|^I) * x
= (Product(F0|^I0) * (g|^i)) * x by GROUP_4:6
.= Product(F0|^I0) * ((g|^i) * x) by GROUP_1:def 3
.= Product(F0|^I0) * (x * (g|^i)) by A2,A4,A17
.= Product(F0|^I0) * x * (g|^i) by GROUP_1:def 3
.= x * Product(F0|^I0) * (g|^i) by A9,A11,A18
.= x * (Product(F0|^I0) * (g|^i)) by GROUP_1:def 3
.= x * Product(F|^I) by A20,GROUP_4:6;
end;
for k be Nat holds P[k] from NAT_1:sch 2(A5,A8);
hence thesis;
end;
A22: for x,g be Element of G, i be Element of INT st x in gr A & g in A
holds x * g|^i = g|^i * x
proof
let x,g be Element of G, i be Element of INT such that
A23: x in gr A & g in A;
consider F be FinSequence of G,
I be FinSequence of INT such that
A24: len F = len I & rng F c= A & Product(F|^I) = x by A23,GROUP_4:28;
thus x * g|^i = g|^i * x by A3,A23,A24;
end;
A25: for x be Element of G st x in gr A holds
for F be FinSequence of G, I be FinSequence of INT
st len F = len I & rng F c= A
holds Product(F|^I) * x = x * Product(F|^I)
proof
let x be Element of G;
assume
A26: x in gr A;
defpred P[Nat] means
for x be Element of G st x in gr A holds
for F be FinSequence of G, I be FinSequence of INT
st len F = $1 & len F = len I & rng F c= A
holds Product(F|^I) * x = x * Product(F|^I);
A27: P[0]
proof
let x be Element of G;
assume x in gr A;
let F be FinSequence of G,
I be FinSequence of INT such that
A29: len F = 0 & len F = len I & rng F c= A;
F = <*>([#]G) & I = <*>INT by A29; then
F|^I = <*>(the carrier of G) by GROUP_4:21; then
A30: Product(F|^I) = 1_G by GROUP_4:8;
hence Product(F|^I) * x = x by GROUP_1:def 4
.= x * Product(F|^I) by A30,GROUP_1:def 4;
end;
A31: for k be Nat st P[k] holds P[k+1]
proof
let k be Nat;
assume
A32: P[k];
let x be Element of G;
assume
A33: x in gr A;
let F be FinSequence of G,
I be FinSequence of INT such that
A34: len F = k+1 & len F = len I & rng F c= A;
reconsider g = F/.(k+1) as Element of G;
reconsider i = I/.(k+1) as Element of INT;
reconsider F0 = F|k as FinSequence of G;
reconsider I0 = I|k as FinSequence of INT;
rng F0 c= rng F by RELAT_1:70; then
A35: rng F0 c= A by A34;
reconsider F1 = <*g*> as FinSequence of G;
reconsider I1 = <*i*> as FinSequence of INT;
A36: <* @i *> = I1 by GROUP_4:def 1;
k+1 in Seg (k+1) by FINSEQ_1:4; then
A37: k+1 in dom F by A34,FINSEQ_1:def 3; then
F/.(k+1) = F.(k+1) by PARTFUN1:def 6; then
A38: F = F0^F1 by A34,FINSEQ_3:55;
k+1 in Seg(k+1) by FINSEQ_1:4; then
k+1 in dom I by A34,FINSEQ_1:def 3; then
A39: I/.(k+1) = I.(k+1) by PARTFUN1:def 6;
g = F.(k+1) by A37,PARTFUN1:def 6; then
A40: g in A by A34,A37,FUNCT_1:3;
k <= len F & k <= len I by A34,XREAL_1:31; then
A41: len F0 = k & len I0 = k by FINSEQ_1:17;
A42: len F1 = 1 & len I1 = 1 by FINSEQ_1:39;
A43: F|^I = (F0^F1) |^ (I0^I1) by A34,A38,A39,FINSEQ_3:55
.= (F0|^I0) ^ (F1|^I1) by A41,A42,GROUP_4:19
.= (F0|^I0) ^ <*g|^i*> by A36,GROUP_4:22;
hence Product(F|^I) * x
= (Product(F0|^I0) * (g|^i)) * x by GROUP_4:6
.= Product(F0|^I0) * ((g|^i) * x) by GROUP_1:def 3
.= Product(F0|^I0) * (x * (g|^i)) by A22,A33,A40
.= Product(F0|^I0) * x * (g|^i) by GROUP_1:def 3
.= x * Product(F0|^I0) * (g|^i) by A32,A33,A35,A41
.= x * (Product(F0|^I0) * (g|^i)) by GROUP_1:def 3
.= x * Product(F|^I) by A43,GROUP_4:6;
end;
for k be Nat holds P[k] from NAT_1:sch 2(A27,A31);
hence thesis by A26;
end;
for x,y be Element of gr A holds x * y = y * x
proof
let x be Element of gr A;
let y be Element of gr A;
A45: x in gr A;
x in G by GROUP_2:41; then
reconsider x0 = x as Element of G;
consider F be FinSequence of G,
I be FinSequence of INT such that
A46: len F = len I & rng F c= A & Product(F|^I) = x0 by A45,GROUP_4:28;
y in G by GROUP_2:41; then
reconsider z = y as Element of G;
A47: z in gr A;
thus x * y = Product(F|^I) * z by A46,GROUP_2:43
.= z * Product(F|^I) by A25,A46,A47
.= y * x by A46,GROUP_2:43;
end;
hence gr A is commutative by GROUP_1:def 12;
end;
theorem Th45:
for G be Group,
H be Subgroup of G,
a be FinSequence of G,
b be FinSequence of H
st a = b
holds Product a = Product b
proof
let G be Group, H be Subgroup of G;
defpred P[Nat] means
for a be FinSequence of G,
b be FinSequence of H
st len a = $1 & a = b
holds Product a = Product b;
A1: P[0]
proof
let a be FinSequence of G,
b be FinSequence of H;
assume len a = 0 & a = b; then
a = <*>([#]G) & b = <*>([#]H); then
Product a = 1_G & Product b = 1_H by GROUP_4:8;
hence Product a = Product b by GROUP_2:44;
end;
A4: for k be Nat st P[k] holds P[k+1]
proof
let k be Nat;
assume
A5: P[k];
let a be FinSequence of G, b be FinSequence of H;
assume
A6: len a = k+1 & a = b;
reconsider g = a/.(k+1) as Element of G;
reconsider i = b/.(k+1) as Element of H;
reconsider a0 = a|k as FinSequence of G;
reconsider b0 = b|k as FinSequence of H;
k+1 in Seg(k+1) by FINSEQ_1:4; then
A7: k+1 in dom a by A6,FINSEQ_1:def 3; then
A8: a/.(k+1) = a.(k+1) by PARTFUN1:def 6;
k+1 in Seg(k+1) by FINSEQ_1:4; then
A9: k+1 in dom b by A6,FINSEQ_1:def 3; then
A10: b/.(k+1) = b.(k+1) by PARTFUN1:def 6;
k <= len a & k <= len b by A6,XREAL_1:31; then
len a0 = k & len b0 = k by FINSEQ_1:17; then
A13: Product a0 = Product b0 by A5,A6;
A14: g = a.(k+1) by A7,PARTFUN1:def 6
.= i by A6,A9,PARTFUN1:def 6;
thus Product a = Product(a0^<*g*>) by A6,A8,FINSEQ_3:55
.= (Product a0) * g by GROUP_4:6
.= (Product b0) * i by A13,A14,GROUP_2:43
.= Product (b0^<*i*>) by GROUP_4:6
.= Product b by A6,A10,FINSEQ_3:55;
end;
for k be Nat holds P[k] from NAT_1:sch 2(A1,A4);
hence thesis;
end;
theorem Th46:
for G be Group,
h be Element of G
holds
for F be FinSequence of G
st for k be Nat st k in dom F
holds h * F/.k = (F/.k) * h
holds h * Product(F) = Product(F) * h
proof
let G be Group, h be Element of G;
defpred P[Nat] means
for F be FinSequence of G
st len F = $1
& for i be Nat st i in dom F holds h * F/.i = (F/.i) * h
holds h * Product(F) = Product(F) * h;
A1: P[0]
proof
let F be FinSequence of G;
assume len F = 0
& for i be Nat st i in dom F holds h * F/.i = (F/.i) * h; then
F = <*>([#]G); then
A2: Product F = 1_G by GROUP_4:8;
hence h * Product(F) = h by GROUP_1:def 4
.= Product(F) * h by A2,GROUP_1:def 4;
end;
A3: for k be Nat st P[k] holds P[k+1]
proof
let k be Nat;
assume
A4: P[k];
let F be FinSequence of G;
assume
A5: len F = k+1
& for i be Nat st i in dom F holds h * F/.i = (F/.i) * h;
reconsider g = F/.(k+1) as Element of G;
reconsider F0 = F|k as FinSequence of G;
k+1 in Seg(k+1) by FINSEQ_1:4; then
A6: k+1 in dom F by A5,FINSEQ_1:def 3; then
A7: F/.(k+1) = F.(k+1) by PARTFUN1:def 6;
A8: k <= len F by A5,XREAL_1:31; then
A9: len F0 = k by FINSEQ_1:17;
A11: Seg k c= Seg(k+1) by XREAL_1:31,FINSEQ_1:5;
A12: dom F0 = Seg k by A8,FINSEQ_1:17;
A13: dom F = Seg(k+1) by A5,FINSEQ_1:def 3;
A14: for i be Nat st i in dom F0 holds h * F0/.i = F0/.i * h
proof
let i be Nat;
assume
A15: i in dom F0; then
F0/.i = F/.i by PARTFUN1:80;
hence thesis by A5,A11,A12,A13,A15;
end;
A19: Product F = Product(F0^<*g*>) by A5,A7,FINSEQ_3:55
.= (Product F0) * g by GROUP_4:6;
hence h * Product F = (h * (Product F0)) * g by GROUP_1:def 3
.= ((Product F0) * h) * g by A4,A9,A14
.= (Product F0) * (h * g) by GROUP_1:def 3
.= (Product F0) * (g * h) by A5,A6
.= (Product F) * h by A19,GROUP_1:def 3;
end;
A20: for i be Nat holds P[i] from NAT_1:sch 2(A1,A3);
let F be FinSequence of G;
assume
A21: for k be Nat st k in dom F holds h * F/.k = (F/.k) * h;
len F is Nat;
hence thesis by A20,A21;
end;
theorem Th47:
for G be Group,
F,F1,F2 be FinSequence of G
st len F = len F1 & len F = len F2
&(for i,j be Nat st i in dom F & j in dom F & i <> j
holds F1/.i * F2/.j = F2/.j * F1/.i)
& for k be Nat st k in dom F holds F.k = (F1/.k) * (F2/.k)
holds Product(F) = Product(F1) * Product(F2)
proof
let G be Group;
defpred P[Nat] means
for F,F1,F2 be FinSequence of G
st len F = $1 & len F = len F1 & len F = len F2
&(for i,j be Nat st i in dom F & j in dom F & i <> j
holds F1/.i * F2/.j = F2/.j * F1/.i)
& for k be Nat st k in dom F holds F.k = (F1/.k) * (F2/.k)
holds Product(F) = Product(F1) * Product(F2);
A1: P[0]
proof
let F,F1,F2 be FinSequence of G;
assume
len F = 0 & len F = len F1 & len F = len F2
& (for i,j be Nat st i in dom F & j in dom F & i <> j
holds F1/.i * F2/.j = F2/.j * F1/.i)
& for k be Nat st k in dom F holds F.k = (F1/.k) * (F2/.k); then
F = <*>([#]G) & F1 = <*>([#]G) & F2 = <*>([#]G); then
Product F = 1_G & Product F1 = 1_G & Product F2 = 1_G by GROUP_4:8;
hence thesis by GROUP_1:def 4;
end;
A3: for k be Nat st P[k] holds P[k+1]
proof
let k be Nat;
assume
A4: P[k];
let F,F1,F2 be FinSequence of G;
assume
A5: len F = k+1 & len F = len F1 & len F = len F2
& (for i,j be Nat st i in dom F & j in dom F & i <> j
holds F1/.i * F2/.j = F2/.j * F1/.i)
& for k be Nat st k in dom F holds F.k = (F1/.k) * (F2/.k);
reconsider g = F/.(k+1) as Element of G;
reconsider h = F1/.(k+1) as Element of G;
reconsider i = F2/.(k+1) as Element of G;
reconsider F0 = F|k as FinSequence of G;
reconsider F10 = F1|k as FinSequence of G;
reconsider F20 = F2|k as FinSequence of G;
A6: k+1 in Seg(k+1) by FINSEQ_1:4; then
A7: k+1 in dom F by A5,FINSEQ_1:def 3; then
A8: F/.(k+1) = F.(k+1) by PARTFUN1:def 6;
k+1 in Seg(k+1) by FINSEQ_1:4; then
k+1 in dom F1 by A5,FINSEQ_1:def 3; then
A9: F1/.(k+1) = F1.(k+1) by PARTFUN1:def 6;
k+1 in Seg(k+1) by FINSEQ_1:4; then
k+1 in dom F2 by A5,FINSEQ_1:def 3; then
A10: F2/.(k+1) = F2.(k+1) by PARTFUN1:def 6;
A12: k <= len F & k <= len F1 & k <= len F2 by A5,XREAL_1:31; then
A13: len F0 = k & len F10 = k & len F20 = k by FINSEQ_1:17;
A15: Seg k c= Seg (k+1) by FINSEQ_1:5,XREAL_1:31;
A16: dom F0 = Seg k by A12,FINSEQ_1:17; then
A17: dom F10 = dom F0 by A12,FINSEQ_1:17;
A18: dom F20 = dom F0 by A12,A16,FINSEQ_1:17;
A19: dom F = Seg(k+1) by A5,FINSEQ_1:def 3;
A22: for i,j be Nat st i in dom F0 & j in dom F0 & i <> j
holds F10/.i * F20/.j = F20/.j * F10/.i
proof
let i,j be Nat;
assume
A23: i in dom F0 & j in dom F0 & i <> j; then
A27: F10/.i = F1/.i by A17,PARTFUN1:80;
hence F10/.i * F20/.j = F1/.i * F2/.j by A18,A23,PARTFUN1:80
.= F2/.j * F1/.i by A5,A15,A16,A19,A23
.= F20/.j * F10/.i by A18,A23,A27,PARTFUN1:80;
end;
A29: for k be Nat st k in dom F0 holds F0.k = (F10/.k) * (F20/.k)
proof
let k be Nat;
assume
A30: k in dom F0; then
A34: F10/.k = F1/.k by A17,PARTFUN1:80;
thus F0.k = F.k by A30,FUNCT_1:47
.= F1/.k * F2/.k by A5,A15,A16,A19,A30
.= F10/.k * F20/.k by A18,A30,A34,PARTFUN1:80;
end;
A36: for i be Nat st i in dom F20 holds h * F20/.i = F20/.i * h
proof
let i be Nat;
assume
A37: i in dom F20; then
A40: F20/.i = F2/.i by PARTFUN1:80;
dom F20 = Seg k by A12,FINSEQ_1:17; then
A41: 1 <= i & i <= k by A37,FINSEQ_1:1;
k + 0 < k+1 by XREAL_1:8;
hence thesis by A5,A6,A15,A16,A18,A19,A37,A40,A41;
end;
A43: g = F.(k+1) by A7,PARTFUN1:def 6
.= h * i by A5,A7;
A44: Product F1 = Product(F10^<*h*>) by A5,A9,FINSEQ_3:55
.= (Product F10) * h by GROUP_4:6;
A45: Product F2 = Product(F20^<*i*>) by A5,A10,FINSEQ_3:55
.= (Product F20) * i by GROUP_4:6;
thus Product F = Product(F0^<*g*>) by A5,A8,FINSEQ_3:55
.= (Product F0) * g by GROUP_4:6
.= (Product F10 * Product F20) * (h * i)
by A4,A13,A22,A29,A43
.= (Product F10 * Product F20 * h) * i by GROUP_1:def 3
.= (Product F10 * (Product F20 * h)) * i by GROUP_1:def 3
.= (Product F10 * (h * Product F20)) * i by A36,Th46
.= (Product F10 * h * Product F20) * i by GROUP_1:def 3
.= Product F1 * Product F2 by A44,A45,GROUP_1:def 3;
end;
for i be Nat holds P[i] from NAT_1:sch 2(A1,A3);
hence thesis;
end;
theorem Th48:
for G be Group, a be FinSequence of G
st for i be object st i in dom a holds a.i = 1_G
holds Product a = 1_G
proof
let G be Group, a be FinSequence of G;
assume
A1: for i be object st i in dom a holds a.i = 1_G;
set n = len a;
a = n |-> 1_G
proof
n |-> 1_G = Seg n --> 1_G by FINSEQ_2:def 2; then
A2: dom(n |-> 1_G) = Seg n by FUNCOP_1:13;
A3: dom a = Seg n by FINSEQ_1:def 3;
for i be object st i in dom a holds a.i = (n |-> 1_G).i
proof
let i be object;
assume
A4: i in dom a; then
i in Seg n by FINSEQ_1:def 3; then
(n |-> 1_G).i = 1_G by FINSEQ_2:57;
hence thesis by A1,A4;
end;
hence thesis by A2,A3,FUNCT_1:2;
end; then
Product a = (1_G) |^ n by GROUP_4:12
.= 1_G by GROUP_1:31;
hence thesis;
end;
theorem Th49:
for I be finite set,
G be Group,
a be (the carrier of G)-valued total I-defined Function
st for i be object st i in I holds a.i = 1_G
holds Product a = 1_G
proof
let I be finite set,
G be Group,
a be (the carrier of G)-valued total I-defined Function;
assume
A1: for i be object st i in I holds a.i = 1_G;
set cs = canFS(I);
set acs = a * cs;
A2: rng acs c= the carrier of G;
A3: I = dom a & rng cs = I by FUNCT_2:def 3,PARTFUN1:def 2; then
dom acs = dom cs by RELAT_1:27; then
dom acs = Seg len cs by FINSEQ_1:def 3; then
acs is FinSequence by FINSEQ_1:def 2; then
reconsider acs as FinSequence of G by A2,FINSEQ_1:def 4;
A4: Product a = Product acs by GROUP_17:def 1;
for i be object st i in dom acs holds acs.i = 1_G
proof
let i be object;
assume
A5: i in dom acs; then
i in dom cs by A3,RELAT_1:27; then
cs.i in rng cs by FUNCT_1:3; then
a.(cs.i) =1_G by A1;
hence thesis by A5,FUNCT_1:12;
end;
hence thesis by A4,Th48;
end;
theorem Th50:
for A be finite set, B be non empty set,
f be B-valued total A-defined Function
holds f * canFS(A) is FinSequence of B
proof
let A be finite set, B be non empty set,
f be B-valued total A-defined Function;
A1: rng(f * canFS(A)) c= B;
A = dom f & rng canFS(A) = A by FUNCT_2:def 3,PARTFUN1:def 2; then
dom(f * canFS(A)) = dom canFS(A) by RELAT_1:27; then
dom(f * canFS(A)) = Seg len canFS(A) by FINSEQ_1:def 3; then
f * canFS(A) is FinSequence by FINSEQ_1:def 2;
hence thesis by A1,FINSEQ_1:def 4;
end;
theorem Th51:
for I be non empty set,
G be Group,
a be finite-support Function of I,G,
W be finite Subset of I
st support(a) c= W
& for i,j be Element of I holds a.i * a.j = a.j * a.i
holds Product a = Product(a|W)
proof
let I be non empty set,
G be Group,
a be finite-support Function of I,G,
W be finite Subset of I;
assume that
A1: support(a) c= W and
A2: for i,j be Element of I holds a.i * a.j = a.j * a.i;
reconsider ra = rng a as non empty Subset of G;
for x,y be Element of G st x in ra & y in ra holds x * y = y * x
proof
let x,y be Element of G;
assume
A3: x in ra & y in ra; then
consider i be Element of I such that
A4: x = a.i by FUNCT_2:113;
consider j be Element of I such that
A5: y = a.j by A3,FUNCT_2:113;
thus thesis by A2,A4,A5;
end; then
reconsider H = gr(ra) as non empty commutative Subgroup of G by Th44;
reconsider A = support(a) as finite Subset of W by A1;
reconsider B = W \ support(a) as finite Subset of W by XBOOLE_1:36;
per cases;
suppose
A6: A = {}; then
(a|A) * canFS(A) = {}; then
A7: Product(a) = Product(<*>(the carrier of G)) by GROUP_17:def 1
.= 1_G by GROUP_4:8;
for i be object st i in W holds (a|W).i = 1_G
proof
let i be object;
assume
A8: i in W; then
a.i = 1_G by A6,Def2;
hence (a|W).i = 1_G by A8,FUNCT_1:49;
end;
hence Product a = Product(a|W) by A7,Th49;
end;
suppose
A11: A <> {};
per cases;
suppose
B = {}; then
W c= A by XBOOLE_1:37; then
A = W by XBOOLE_0:def 10;
hence Product a = Product(a|W);
end;
suppose
A12: B <> {};
rng a c= [#]H by GROUP_4:def 4; then
A14: a is Function of I,H by FUNCT_2:6; then
reconsider fa = a|support(a) as (the carrier of H)-valued
total A-defined Function;
reconsider B0 = B as finite Subset of I;
reconsider fb = a|B0 as (the carrier of H)-valued
total B0-defined Function by A14;
A15: A \/ B = W by XBOOLE_1:45; then
reconsider fab = a|W as (the carrier of H)-valued
total A \/ B -defined Function by A14;
A16: A misses B by XBOOLE_1:79;
A17: dom fab = A \/ B by A15,FUNCT_2:def 1
.= dom fa \/ B by FUNCT_2:def 1
.= dom fa \/ dom fb by FUNCT_2:def 1;
A18: for x be object st x in dom fab holds fab.x = (fa +* fb).x
proof
let x be object;
assume
A19: x in dom fab; then
per cases by A17,XBOOLE_0:def 3;
suppose
A22: x in dom fa;
A24: not x in dom fb
proof
assume x in dom fb; then
x in A /\ B by A22,XBOOLE_0:def 4;
hence contradiction by XBOOLE_0:def 7,XBOOLE_1:79;
end;
thus fab.x = a.x by A19,FUNCT_1:47
.= fa.x by A22,FUNCT_1:47
.= (fa +* fb).x by A24,FUNCT_4:11;
end;
suppose
A25: x in dom fb;
thus fab.x = a.x by A19,FUNCT_1:47
.= fb.x by A25,FUNCT_1:47
.= (fa +* fb).x by A25,FUNCT_4:13;
end;
end;
A27: dom(fa +* fb) = dom fa \/ dom fb by FUNCT_4:def 1;
reconsider fca = fa * canFS(A) as FinSequence of H by Th50;
reconsider fcsa = fa * canFS(support(a)) as FinSequence of G by Th50;
reconsider fcab = fab * canFS(A \/ B) as FinSequence of H by Th50;
reconsider fcw = (a|W) * canFS(W) as FinSequence of G by Th50;
A31: Product(fa) = Product(fca) by GROUP_17:def 1
.= Product(fcsa) by Th45
.= Product(a) by GROUP_17:def 1;
A35: fcab = fcw by XBOOLE_1:45;
A36: Product(fab) = Product(fcab) by GROUP_17:def 1
.= Product(fcw) by A35,Th45
.= Product(a|W) by GROUP_17:def 1;
for i be object st i in B0 holds fb.i = 1_H
proof
let i be object;
assume
A38: i in B0; then
A39: i in W & not i in support(a) by XBOOLE_0:def 5;
i in dom fb by A38,FUNCT_2:def 1;
hence fb.i = a.i by FUNCT_1:47
.= 1_G by A39,Def2
.= 1_H by GROUP_2:44;
end; then
A41: Product(fb) = 1_H by Th49
.= 1_G by GROUP_2:44;
thus Product(a|W) = Product(fa) * Product(fb)
by A11,A12,A16,A17,A18,A27,A36,FUNCT_1:2,GROUP_17:8
.= Product(a) * 1_G by A31,A41,GROUP_2:43
.= Product(a) by GROUP_1:def 4;
end;
end;
end;
theorem
for I be non empty set,
G be Group,
a be finite-support Function of I,G,
W be finite Subset of I
st support a c= W
holds
ex aW be finite-support Function of W,G
st aW = a|W
& support a = support(aW)
& Product a = Product(aW)
proof
let I be non empty set,
G be Group,
a be finite-support Function of I,G,
W be finite Subset of I;
assume
A1: support a c= W;
A2: for i be object holds i in support a iff i in support(a|W)
proof
let i be object;
hereby
assume
A3: i in support a; then
A4: a.i <> 1_G & i in I by Def2;
(a|W).i = a.i by A1,A3,FUNCT_1:49;
hence i in support (a|W) by A1,A3,A4,Def2;
end;
assume
A6: i in support(a|W); then
A7: (a|W).i <> 1_G & i in W by Def2;
(a|W).i = a.i by A6,FUNCT_1:49;
hence i in support a by A7,Def2;
end;
support(a|W) is finite; then
reconsider aW = a|W as finite-support Function of W,G by Def3;
take aW;
aW|support(aW) = (a|W) | support(a) by A2,TARSKI:2
.= a|support(a) by A1,RELAT_1:74;
hence thesis by A2,TARSKI:2;
end;
theorem Th53:
for I be non empty set, G be Group,
F be Group-Family of I,
sx,sy being Element of sum F,
x,y,xy be finite-support Function of I,G
st (for i be Element of I holds F.i is Subgroup of G)
& (for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j
holds gi * gj = gj * gi)
& sx = x & sy = y & sx * sy = xy
holds Product xy = Product(x) * Product(y)
proof
let I be non empty set,
G be Group,
F be Group-Family of I,
sx, sy being Element of sum F,
x,y,xy be finite-support Function of I,G;
assume that
A1: for i be Element of I holds F.i is Subgroup of G and
A2: for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j
holds gi * gj = gj * gi and
A3: sx = x & sy = y & sx * sy = xy;
reconsider W = support(x) \/ support(y) as finite Subset of I;
A9: sx in sum F; then
x in product F by A3,GROUP_2:40; then
reconsider px = x as Element of product F;
A10: sy in sum F; then
y in product F by A3,GROUP_2:40; then
reconsider py = y as Element of product F;
A11: sx * sy in sum F; then
xy in product F by A3,GROUP_2:40; then
reconsider pxy = xy as Element of product F;
for i be object st i in support(xy) holds i in W
proof
let i be object;
assume
A12: i in support xy;
i in W
proof
assume
A13: not i in W;
reconsider i as Element of I by A12;
A14: not i in support(x) & not i in support(y)
by A13,XBOOLE_0:def 3; then
A15: x.i = 1_G by Def2;
A16: y.i = 1_G by A14,Def2;
A17: F.i is Subgroup of G by A1;
x.i in F.i by A3,A9,Th5,GROUP_2:40; then
reconsider fxi = x.i as Element of F.i;
y.i in F.i by A3,A10,Th5,GROUP_2:40; then
reconsider fyi = y.i as Element of F.i;
xy.i = (px * py).i by A3,GROUP_2:43
.= fxi * fyi by GROUP_7:1
.= x.i * y.i by A17,GROUP_2:43
.= 1_G by A15,A16,GROUP_1:def 4;
hence contradiction by A12,Def2;
end;
hence i in W;
end; then
A22: support xy c= W;
A23: for a be Function of I,G, i,j be Element of I st a in product F
holds a.i * a.j = a.j * a.i
proof
let a be Function of I,G;
let i,j be Element of I;
assume
A24: a in product F; then
A25: a.i in F.i by Th5;
A26: a.j in F.j by A24,Th5;
per cases;
suppose
i = j;
hence thesis;
end;
suppose
i <> j;
hence thesis by A2,A25,A26;
end;
end;
for i,j be Element of I holds x.i * x.j = x.j * x.i
by A3,A9,A23,GROUP_2:40; then
A28: Product x = Product(x|W) by Th51,XBOOLE_1:7;
for i,j be Element of I holds y.i * y.j = y.j * y.i
by A3,A10,A23,GROUP_2:40; then
A34: Product y = Product(y|W) by Th51,XBOOLE_1:7;
for i,j be Element of I holds xy.i * xy.j = xy.j * xy.i
by A3,A11,A23,GROUP_2:40; then
A40: Product xy = Product(xy|W) by A22,Th51;
set cs = canFS(W);
reconsider wx = (x|W) * cs as FinSequence of G by Th50;
reconsider wy = (y|W) * cs as FinSequence of G by Th50;
reconsider wxy = (xy|W) * cs as FinSequence of G by Th50;
A41: rng cs = W by FUNCT_2:def 3;
W = dom(x|W) & W = dom(y|W) & W = dom(xy|W) by PARTFUN1:def 2; then
A43: dom cs = dom wx & dom cs = dom wy & dom cs = dom wxy
by A41,RELAT_1:27; then
dom cs = Seg len wx & dom cs = Seg len wy & dom cs = Seg len wxy
by FINSEQ_1:def 3; then
A45: len wxy = len wx & len wxy = len wy by FINSEQ_1:6;
A50: Product(x|W) = Product(wx) by GROUP_17:def 1;
A51: Product(y|W) = Product(wy) by GROUP_17:def 1;
A55: for i,j be Nat st i in dom wxy & j in dom wxy & i <> j
holds wx/.i * wy/.j = wy/.j * wx/.i
proof
let i,j be Nat;
assume
A56: i in dom wxy & j in dom wxy & i <> j; then
A57: cs.i in rng cs & cs.j in rng cs by A43,FUNCT_1:3; then
A59: cs.i in W & cs.j in W;
A60: wx/.i = wx.i by A43,A56,PARTFUN1:def 6
.= (x|W).(cs.i) by A43,A56,FUNCT_1:12
.= x.(cs.i) by A57,FUNCT_1:49;
A61: wy/.j = wy.j by A43,A56,PARTFUN1:def 6
.= (y|W).(cs.j) by A43,A56,FUNCT_1:12
.= y.(cs.j) by A57,FUNCT_1:49;
reconsider i0 = cs.i as Element of I by A59;
reconsider j0 = cs.j as Element of I by A59;
A64: x.i0 in F.i0 by A3,A9,Th5,GROUP_2:40;
reconsider gi = x.i0 as Element of G;
A65: y.j0 in F.j0 by A3,A10,Th5,GROUP_2:40;
reconsider gj = y.j0 as Element of G;
thus thesis by A2,A43,A56,A60,A61,A64,A65,FUNCT_1:def 4;
end;
A67: for i be Nat st i in dom wxy holds wxy.i = (wx/.i) * (wy/.i)
proof
let i be Nat;
assume
A68: i in dom wxy;
A70: cs.i in rng cs by A43,A68,FUNCT_1:3; then
A71: cs.i in W;
A72: wx/.i = wx.i by A43,A68,PARTFUN1:def 6
.= (x|W).(cs.i) by A43,A68,FUNCT_1:12
.= x.(cs.i) by A70,FUNCT_1:49;
A73: wy/.i = wy.i by A43,A68,PARTFUN1:def 6
.= (y|W).(cs.i) by A43,A68,FUNCT_1:12
.= y.(cs.i) by A70,FUNCT_1:49;
A74: wxy/.i = wxy.i by A68,PARTFUN1:def 6
.= (xy|W).(cs.i) by A68,FUNCT_1:12
.= xy.(cs.i) by A70,FUNCT_1:49;
reconsider i0 = cs.i as Element of I by A71;
A75: F.i0 is Subgroup of G by A1;
x.i0 in F.i0 by A3,A9,Th5,GROUP_2:40; then
reconsider fxi = x.i0 as Element of F.i0;
y.i0 in F.i0 by A3,A10,Th5,GROUP_2:40; then
reconsider fyi = y.i0 as Element of F.i0;
thus wxy.i = xy.i0 by A68,A74,PARTFUN1:def 6
.= (px * py).i0 by A3,GROUP_2:43
.= fxi * fyi by GROUP_7:1
.= (wx/.i) * (wy/.i) by A72,A73,A75,GROUP_2:43;
end;
Product(wxy) = Product(wx) * Product(wy) by A45,A55,A67,Th47;
hence thesis by A28,A34,A40,A50,A51,GROUP_17:def 1;
end;
theorem
for I be non empty set,
G be Group,
F be Group-Family of I
holds
F is internal DirectSumComponents of G,I
iff
(for i be Element of I holds F.i is Subgroup of G)
&(for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j holds gi * gj = gj * gi)
&(for y be Element of G
ex x be finite-support Function of I,G
st x in sum F & y = Product x)
&(for x1,x2 be finite-support Function of I,G
st x1 in sum F & x2 in sum F & Product x1 = Product x2 holds x1 = x2)
proof
let I be non empty set,
G be Group,
F be Group-Family of I;
hereby
assume
A0: F is internal DirectSumComponents of G,I; then
A1: (for i be Element of I holds F.i is Subgroup of G)
& ex h be Homomorphism of sum F,G
st h is bijective
& for a be finite-support Function of I,G st a in sum F
holds h.a = Product(a) by Def9;
A2: for i be object st i in I holds F.i is Subgroup of G
by A0,Def9;
consider h be Homomorphism of sum F,G such that
A3: h is bijective
& for a be finite-support Function of I,G st a in sum F
holds h.a = Product(a) by A0,Def9;
A4: for y be Element of G
ex x be finite-support Function of I,G
st x in sum F & y = Product x
proof
let y be Element of G;
rng h = the carrier of G by A3,FUNCT_2:def 3; then
consider x be Element of sum F such that
A5: y = h.x by FUNCT_2:113;
x in sum F; then
reconsider x as finite-support Function of I,G by A2,Th10;
take x;
thus x in sum F;
hence y = Product(x) by A3,A5;
end;
A6: for x1,x2 be finite-support Function of I,G
st x1 in sum F & x2 in sum F & Product x1 = Product x2
holds x1 = x2
proof
let x1,x2 be finite-support Function of I,G;
assume
A7: x1 in sum F & x2 in sum F & Product x1 = Product x2;
reconsider sx1 = x1, sx2 = x2 as Element of sum F by A7;
h.sx1 = Product x1 by A3,A7
.= h.sx2 by A3,A7;
hence x1 = x2 by A3,FUNCT_2:19;
end;
for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j
holds gi * gj = gj * gi
proof
let i,j be Element of I, gi,gj be Element of G;
assume that
A10: i <> j and
A11: gi in F.i and
A12: gj in F.j;
set xi = 1_product F +* (i,gi);
set xj = 1_product F +* (j,gj);
1_sum F = 1_product F by GROUP_2:44; then
A13: 1_product F in sum F; then
A14: xi in sum F by A11,Th25;
A15: xj in sum F by A12,A13,Th25;
reconsider xi as finite-support Function of I,G
by A2,A11,A13,Th10,Th25;
reconsider xj as finite-support Function of I,G
by A2,A12,A13,Th10,Th25;
reconsider sxi = xi as Element of sum F by A14;
reconsider sxj = xj as Element of sum F by A15;
reconsider pxi = sxi as Element of product F by GROUP_2:42;
reconsider pxj = sxj as Element of product F by GROUP_2:42;
xi = (I --> 1_G) +* (i,gi) by A1,Th13; then
A17: Product xi = gi by Th21;
xj = (I --> 1_G) +* (j,gj) by A1,Th13; then
A18: Product xj = gj by Th21;
A19: support(pxi,F) misses support(pxj,F)
proof
A20: support(pxi,F) c= {i} by A11,Th17;
support(pxj,F) c= {j} by A12,Th17;
hence thesis by A10,A20,ZFMISC_1:11,XBOOLE_1:64;
end;
gi * gj = h.sxi * gj by A3,A11,A13,A17,Th25
.= h.sxi * h.sxj by A3,A12,A13,A18,Th25
.= h.(sxi * sxj) by GROUP_6:def 6
.= h.(pxi * pxj) by GROUP_2:43
.= h.(pxj * pxi) by A19,Th32
.= h.(sxj * sxi) by GROUP_2:43
.= h.sxj * h.sxi by GROUP_6:def 6
.= gj * h.sxi by A3,A12,A13,A18,Th25
.= gj * gi by A3,A11,A13,A17,Th25;
hence thesis;
end;
hence (for i be Element of I holds F.i is Subgroup of G)
& (for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j holds gi * gj = gj * gi)
& (for y be Element of G
ex x be finite-support Function of I,G
st x in sum F & y = Product x)
& (for x1,x2 be finite-support Function of I,G
st x1 in sum F & x2 in sum F & Product x1 = Product x2
holds x1 = x2) by A0,A4,A6,Def9;
end;
assume
A32: (for i be Element of I holds F.i is Subgroup of G)
& (for i,j be Element of I, gi,gj be Element of G
st i <> j & gi in F.i & gj in F.j
holds gi * gj = gj * gi)
& (for y be Element of G
ex x be finite-support Function of I,G
st x in sum F & y = Product x)
& (for x1,x2 be finite-support Function of I,G
st x1 in sum F & x2 in sum F & Product x1 = Product x2
holds x1 = x2);
A33: for i be object st i in I holds F.i is Subgroup of G by A32;
defpred P[object,object] means
ex x be finite-support Function of I,G st $1 = x & $2 = Product x;
A34: for x being Element of sum F ex y being Element of G st P[x,y]
proof
let x be Element of sum F;
x in sum F; then
reconsider x as finite-support Function of I,G by A33,Th10;
Product x is Element of G;
hence thesis;
end;
consider h being Function of sum F,G such that
A35: for x being Element of sum F holds P[x,h.x] from FUNCT_2:sch 3(A34);
for y being object st y in [#]G
ex x being object st x in [#]sum F & y = h.x
proof
let y being object;
assume y in [#]G; then
reconsider y as Element of G;
consider x be finite-support Function of I,G such that
A36: x in sum F & y = Product x by A32;
ex x0 be finite-support Function of I,G
st x = x0 & h.x = Product x0 by A35,A36;
hence thesis by A36;
end; then
rng h = [#]G by FUNCT_2:10; then
A38: h is onto by FUNCT_2:def 3;
for x1,x2 being object st x1 in [#]sum F & x2 in [#]sum F & h.x1 = h.x2
holds x1 = x2
proof
let x1,x2 be object;
assume
A39: x1 in [#]sum F & x2 in [#]sum F & h.x1 = h.x2; then
reconsider sx1 = x1, sx2 = x2 as Element of sum F;
x1 in sum F by A39; then
reconsider x1 as finite-support Function of I,G by A33,Th10;
x2 in sum F by A39; then
reconsider x2 as finite-support Function of I,G by A33,Th10;
A40: ex x be finite-support Function of I,G
st x1 = x & h.x1 = Product x by A35,A39;
A42: ex x be finite-support Function of I,G
st x2 = x & h.x2 = Product x by A35,A39;
x1 in sum F & x2 in sum F by A39;
hence thesis by A32,A39,A40,A42;
end; then
A43: h is one-to-one by FUNCT_2:19;
A44: for a be finite-support Function of I,G st a in sum F
holds h.a = Product(a)
proof
let a be finite-support Function of I,G;
assume a in sum F; then
reconsider sa = a as Element of sum F;
ex x be finite-support Function of I,G
st sa = x & h.sa = Product x by A35;
hence h.a = Product(a);
end;
for x, y being Element of sum F holds h.(x * y) = h.x * h.y
proof
let x, y be Element of sum F;
consider x0 be finite-support Function of I,G such that
A45: x = x0 & h.x = Product x0 by A35;
consider y0 be finite-support Function of I,G such that
A46: y = y0 & h.y = Product y0 by A35;
consider xy0 be finite-support Function of I,G such that
A47: x * y = xy0 & h.(x * y) = Product xy0 by A35;
thus h.(x * y) = h.x * h.y by A32,A45,A46,A47,Th53;
end; then
reconsider h as Homomorphism of sum F,G by GROUP_6:def 6;
h is bijective by A38,A43;
hence F is internal DirectSumComponents of G,I by A32,A44,Def8,Def9;
end;