Journal of Formalized Mathematics
Volume 2, 1990
University of Bialystok
Copyright (c) 1990
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Wojciech A. Trybulec
- Received August 22, 1990
- MML identifier: GROUP_4
- [
Mizar article,
MML identifier index
]
environ
vocabulary FINSEQ_1, ARYTM_1, REALSET1, GROUP_2, SETFAM_1, GROUP_1, BOOLE,
RELAT_1, INT_1, GROUP_3, QC_LANG1, ABSVALUE, VECTSP_1, FINSOP_1, BINOP_1,
SETWISEO, FUNCT_1, FINSEQ_2, FUNCT_2, RLSUB_1, TARSKI, LATTICES, NAT_1,
SUBSET_1, RLSUB_2, GROUP_4, CARD_3, FINSEQ_4, ORDINAL2, ARYTM;
notation TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, XCMPLX_0, XREAL_0, FINSOP_1,
ORDINAL1, ORDINAL2, INT_1, SETWISEO, SETFAM_1, RELAT_1, FUNCT_1, FUNCT_2,
FINSEQ_1, FINSEQ_3, FINSEQ_4, BINOP_1, STRUCT_0, RLVECT_1, VECTSP_1,
GROUP_2, GROUP_3, LATTICES, GROUP_1, DOMAIN_1, NAT_1;
constructors FINSOP_1, SETWISEO, FUNCSDOM, FINSEQ_3, GROUP_3, LATTICES,
DOMAIN_1, NAT_1, FINSEQ_4, MEMBERED, XBOOLE_0, ORDINAL2, ORDINAL1;
clusters SUBSET_1, FINSEQ_1, GROUP_3, INT_1, LATTICES, GROUP_1, RELSET_1,
STRUCT_0, RLSUB_2, GROUP_2, XREAL_0, ZFMISC_1, XBOOLE_0, ORDINAL2,
NUMBERS, ARYTM_3;
requirements NUMERALS, REAL, BOOLE, SUBSET, ARITHM;
begin
definition let D be non empty set; let F be FinSequence of D; let X be set;
redefine func F - X -> FinSequence of D;
end;
scheme MeetSbgEx{G() -> Group, P[set]}:
ex H being strict Subgroup of G() st
the carrier of H =
meet{A where A is Subset of G() :
ex K being strict Subgroup of G() st A = the carrier of K & P[K]}
provided
ex H being strict Subgroup of G() st P[H];
reserve x,y,y1,y2,X,Y for set,
k,l,m,n for Nat,
i,i1,i2,i3,j for Integer,
G for Group,
a,b,c,d for Element of G,
A,B,C for Subset of G,
H,H1,H2,H3 for Subgroup of G,
h for Element of H,
F,F1,F2 for FinSequence of the carrier of G,
I,I1,I2 for FinSequence of INT;
scheme SubgrSep{G() -> Group,P[set]}:
ex X st X c= Subgroups G() &
for H being strict Subgroup of G() holds H in X iff P[H];
definition let i;
canceled;
func @i -> Element of INT equals
:: GROUP_4:def 2
i;
end;
canceled 2;
theorem :: GROUP_4:3
a = h implies a |^ n = h |^ n;
theorem :: GROUP_4:4
a = h implies a |^ i = h |^ i;
theorem :: GROUP_4:5
a in H implies a |^ n in H;
theorem :: GROUP_4:6
a in H implies a |^ i in H;
definition let G be non empty HGrStr;
let F be FinSequence of the carrier of G;
func Product F -> Element of G equals
:: GROUP_4:def 3
(the mult of G) "**" F;
end;
canceled;
theorem :: GROUP_4:8
for G being associative unital (non empty HGrStr),
F1,F2 being FinSequence of the carrier of G
holds Product(F1 ^ F2) = Product(F1) * Product(F2);
theorem :: GROUP_4:9
for G being unital (non empty HGrStr),
F being FinSequence of the carrier of G,
a being Element of G
holds Product(F ^ <* a *>) = Product(F) * a;
theorem :: GROUP_4:10
for G being associative unital (non empty HGrStr),
F being FinSequence of the carrier of G,
a being Element of G
holds Product(<* a *> ^ F) = a * Product(F);
theorem :: GROUP_4:11
for G being unital (non empty HGrStr)
holds Product <*> the carrier of G = 1.G;
theorem :: GROUP_4:12
for G being non empty HGrStr, a being Element of G holds
Product<* a *> = a;
theorem :: GROUP_4:13
for G being non empty HGrStr, a,b being Element of G holds
Product<* a,b *> = a * b;
theorem :: GROUP_4:14
Product<* a,b,c *> = a * b * c & Product<* a,b,c *> = a * (b * c);
theorem :: GROUP_4:15
Product(n |-> a) = a |^ n;
theorem :: GROUP_4:16
Product(F - {1.G}) = Product(F);
theorem :: GROUP_4:17
len F1 = len F2 &
(for k st k in dom F1 holds F2.(len F1 - k + 1) = (F1/.k)") implies
Product(F1) = Product(F2)";
theorem :: GROUP_4:18
G is commutative Group implies
for P being Permutation of dom F1 st F2 = F1 * P holds
Product(F1) = Product(F2);
theorem :: GROUP_4:19
G is commutative Group & F1 is one-to-one & F2 is one-to-one & rng F1 = rng
F2
implies Product(F1) = Product(F2);
theorem :: GROUP_4:20
G is commutative Group & len F = len F1 & len F = len F2 &
(for k st k in dom F holds F.k = (F1/.k) * (F2/.k)) implies
Product(F) = Product(F1) * Product(F2);
theorem :: GROUP_4:21
rng F c= carr H implies Product(F) in H;
definition let G,I,F;
func F |^ I -> FinSequence of the carrier of G means
:: GROUP_4:def 4
len it = len F &
for k st k in dom F holds it.k = (F/.k) |^ @(I/.k);
end;
canceled 3;
theorem :: GROUP_4:25
len F1 = len I1 & len F2 = len I2 implies
(F1 ^ F2) |^ (I1 ^ I2) = (F1 |^ I1) ^ (F2 |^ I2);
theorem :: GROUP_4:26
rng F c= carr H implies Product(F |^ I) in H;
theorem :: GROUP_4:27
(<*> the carrier of G) |^ (<*> INT) = {};
theorem :: GROUP_4:28
<* a *> |^ <* @i *> = <* a |^ i *>;
theorem :: GROUP_4:29
<* a,b *> |^ <* @i,@j *> = <* a |^ i,b |^ j *>;
theorem :: GROUP_4:30
<* a,b,c *> |^ <* @i1,@i2,@i3 *> = <* a |^ i1,b |^ i2,c |^ i3 *>;
theorem :: GROUP_4:31
F |^ (len F |-> @(1)) = F;
theorem :: GROUP_4:32
F |^ (len F |-> @(0)) = len F |-> 1.G;
theorem :: GROUP_4:33
len I = n implies (n |-> 1.G) |^ I = n |-> 1.G;
definition let G,A;
func gr A -> strict Subgroup of G means
:: GROUP_4:def 5
A c= the carrier of it &
(for H being strict Subgroup of G
st A c= the carrier of H holds it is Subgroup of H);
end;
canceled 3;
theorem :: GROUP_4:37
a in gr A iff ex F,I st len F = len I & rng F c= A & Product(F |^ I) = a;
theorem :: GROUP_4:38
a in A implies a in gr A;
theorem :: GROUP_4:39
gr {} the carrier of G = (1).G;
theorem :: GROUP_4:40
for H being strict Subgroup of G holds gr carr H = H;
theorem :: GROUP_4:41
A c= B implies gr A is Subgroup of gr B;
theorem :: GROUP_4:42
gr(A /\ B) is Subgroup of gr A /\ gr B;
theorem :: GROUP_4:43
the carrier of gr A =
meet{B : ex H being strict Subgroup of G
st B = the carrier of H & A c= carr H};
theorem :: GROUP_4:44
gr A = gr(A \ {1.G});
definition let G,a;
attr a is generating means
:: GROUP_4:def 6
not for A st gr A = the HGrStr of G holds gr(A \ {a}) = the HGrStr of G;
end;
canceled;
theorem :: GROUP_4:46
1.G is non generating;
definition let G, H;
attr H is maximal means
:: GROUP_4:def 7
the HGrStr of H <> the HGrStr of G &
for K being strict Subgroup of G st
the HGrStr of H <> K & H is Subgroup of K
holds K = the HGrStr of G;
end;
canceled;
theorem :: GROUP_4:48
for G being strict Group, H being strict Subgroup of G,
a being Element of G holds
H is maximal & not a in H implies gr(carr H \/ {a}) = G;
::
:: Frattini subgroup.
::
definition let G be Group;
func Phi(G) -> strict Subgroup of G means
:: GROUP_4:def 8
the carrier of it =
meet{A where A is Subset of G :
ex H being strict Subgroup of G
st A = the carrier of H & H is maximal} if
ex H being strict Subgroup of G st H is maximal otherwise
it = the HGrStr of G;
end;
canceled 3;
theorem :: GROUP_4:52
for G being Group holds
(ex H being strict Subgroup of G st H is maximal) implies
(a in Phi(G) iff
for H being strict Subgroup of G st H is maximal holds a in H);
theorem :: GROUP_4:53
for G being Group, a being Element of G holds
(for H being strict Subgroup of G holds H is not maximal) implies a in Phi(G);
theorem :: GROUP_4:54
for G being Group, H being strict Subgroup of G holds
H is maximal implies Phi(G) is Subgroup of H;
theorem :: GROUP_4:55
for G being strict Group holds
the carrier of Phi(G) = {a where a is Element of
G: a is non generating};
theorem :: GROUP_4:56
for G being strict Group, a being Element of G holds
a in Phi(G) iff a is non generating;
definition let G,H1,H2;
func H1 * H2 -> Subset of G equals
:: GROUP_4:def 9
carr H1 * carr H2;
end;
theorem :: GROUP_4:57
H1 * H2 = carr H1 * carr H2 & H1 * H2 = H1 * carr H2 &
H1 * H2 = carr H1 * H2;
theorem :: GROUP_4:58
H * H = carr H;
theorem :: GROUP_4:59
H1 * H2 * H3 = H1 * (H2 * H3);
theorem :: GROUP_4:60
a * H1 * H2 = a * (H1 * H2);
theorem :: GROUP_4:61
H1 * H2 * a = H1 * (H2 * a);
theorem :: GROUP_4:62
A * H1 * H2 = A * (H1 * H2);
theorem :: GROUP_4:63
H1 * H2 * A = H1 * (H2 * A);
theorem :: GROUP_4:64
for N1,N2 being strict normal Subgroup of G
holds N1 * N2 = N2 * N1;
theorem :: GROUP_4:65
G is commutative Group implies H1 * H2 = H2 * H1;
definition let G,H1,H2;
func H1 "\/" H2 -> strict Subgroup of G equals
:: GROUP_4:def 10
gr(carr H1 \/ carr H2);
end;
canceled;
theorem :: GROUP_4:67
a in H1 "\/" H2 iff
ex F,I st len F = len I & rng F c= carr H1 \/ carr H2 & a = Product(F |^ I);
theorem :: GROUP_4:68
H1 "\/" H2 = gr(H1 * H2);
theorem :: GROUP_4:69
H1 * H2 = H2 * H1 implies
the carrier of H1 "\/" H2 = H1 * H2;
theorem :: GROUP_4:70
G is commutative Group implies the carrier of H1 "\/" H2 = H1 * H2;
theorem :: GROUP_4:71
for N1,N2 being strict normal Subgroup of G
holds the carrier of N1 "\/" N2 = N1 * N2;
theorem :: GROUP_4:72
for N1,N2 being strict normal Subgroup of G
holds N1 "\/" N2 is normal Subgroup of G;
theorem :: GROUP_4:73
for H being strict Subgroup of G holds H "\/" H = H;
theorem :: GROUP_4:74
H1 "\/" H2 = H2 "\/" H1;
theorem :: GROUP_4:75
H1 "\/" H2 "\/" H3 = H1 "\/" (H2 "\/" H3);
theorem :: GROUP_4:76
for H being strict Subgroup of G holds
(1).G "\/" H = H & H "\/" (1).G = H;
theorem :: GROUP_4:77
(Omega).G "\/" H = (Omega).G & H "\/" (Omega).G = (Omega).G;
theorem :: GROUP_4:78
H1 is Subgroup of H1 "\/" H2 & H2 is Subgroup of H1 "\/" H2;
theorem :: GROUP_4:79
for H2 being strict Subgroup of G holds
H1 is Subgroup of H2 iff H1 "\/" H2 = H2;
theorem :: GROUP_4:80
H1 is Subgroup of H2 implies H1 is Subgroup of H2 "\/" H3;
theorem :: GROUP_4:81
for H3 being strict Subgroup of G holds
H1 is Subgroup of H3 & H2 is Subgroup of H3 implies H1 "\/"
H2 is Subgroup of H3;
theorem :: GROUP_4:82
for H3,H2 being strict Subgroup of G holds
H1 is Subgroup of H2 implies H1 "\/" H3 is Subgroup of H2 "\/" H3;
theorem :: GROUP_4:83
H1 /\ H2 is Subgroup of H1 "\/" H2;
theorem :: GROUP_4:84
for H2 being strict Subgroup of G holds (H1 /\ H2) "\/" H2 = H2;
theorem :: GROUP_4:85
for H1 being strict Subgroup of G holds H1 /\ (H1 "\/" H2) = H1;
theorem :: GROUP_4:86
for H1,H2 being strict Subgroup of G holds H1 "\/" H2 = H2 iff H1 /\ H2 = H1
;
reserve S1,S2 for Element of Subgroups G;
definition let G;
func SubJoin G -> BinOp of Subgroups G means
:: GROUP_4:def 11
for S1,S2,H1,H2 st S1 = H1 & S2 = H2 holds it.(S1,S2) = H1 "\/" H2;
end;
definition let G;
func SubMeet G -> BinOp of Subgroups G means
:: GROUP_4:def 12
for S1,S2,H1,H2 st S1 = H1 & S2 = H2 holds it.(S1,S2) = H1 /\ H2;
end;
definition let G be Group;
func lattice G -> strict Lattice equals
:: GROUP_4:def 13
LattStr (# Subgroups G, SubJoin G, SubMeet G #);
end;
canceled 5;
theorem :: GROUP_4:92
for G being Group holds
the carrier of lattice G = Subgroups G;
theorem :: GROUP_4:93
for G being Group holds
the L_join of lattice G = SubJoin G;
theorem :: GROUP_4:94
for G being Group holds
the L_meet of lattice G = SubMeet G;
definition let G be Group;
cluster lattice G -> lower-bounded upper-bounded;
end;
canceled 3;
theorem :: GROUP_4:98
for G being Group holds Bottom lattice G = (1).G;
theorem :: GROUP_4:99
for G being Group holds Top lattice G = (Omega).G;
::
:: Auxiliary theorems.
::
reserve k, l, m, n for natural number;
theorem :: GROUP_4:100
n mod 2 = 0 or n mod 2 = 1;
theorem :: GROUP_4:101
for k, n being Nat holds (k * n) mod k = 0;
theorem :: GROUP_4:102
k > 1 implies 1 mod k = 1;
theorem :: GROUP_4:103
k mod n = 0 & l = k - m * n implies l mod n = 0;
reserve k, n, l, m for Nat;
theorem :: GROUP_4:104
n <> 0 & k mod n = 0 & l < n implies k + l mod n = l;
theorem :: GROUP_4:105
k mod n = 0 implies k + l mod n = l mod n;
theorem :: GROUP_4:106
n <> 0 & k mod n = 0 implies
(k + l) div n = (k div n) + (l div n);
theorem :: GROUP_4:107
k <> 0 implies (k * n) div k = n;
Back to top