:: Properties of Groups :: by Gijs Geleijnse and Grzegorz Bancerek :: :: Received May 31, 2004 :: Copyright (c) 2004-2018 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 NUMBERS, STRUCT_0, GROUP_1, SUBSET_1, GROUP_2, FINSET_1, INT_2, CARD_1, GRAPH_1, RELAT_1, TARSKI, ALGSTR_0, ZFMISC_1, PBOOLE, REALSET1, NEWTON, INT_1, ARYTM_3, GROUP_4, ARYTM_1, NAT_1, FINSEQ_1, FUNCT_1, XXREAL_0, CQC_SIM1, XBOOLE_0, SETFAM_1, GROUP_8; notations XBOOLE_0, CARD_1, TARSKI, ZFMISC_1, SUBSET_1, ORDINAL1, NUMBERS, XCMPLX_0, XXREAL_0, RELAT_1, REALSET1, FUNCT_1, FUNCT_2, PBOOLE, INT_1, NAT_1, FINSET_1, GROUP_2, GROUP_4, GR_CY_1, FINSEQ_1, DOMAIN_1, STRUCT_0, ALGSTR_0, GROUP_1, INT_2; constructors WELLORD2, BINOP_1, REAL_1, NAT_D, BINOP_2, REALSET2, GROUP_4, GR_CY_1, RELSET_1; registrations XBOOLE_0, SUBSET_1, RELSET_1, XXREAL_0, XREAL_0, NAT_1, INT_1, FINSEQ_1, STRUCT_0, GROUP_1, GROUP_2, GR_CY_1, ORDINAL1, FINSET_1; requirements REAL, NUMERALS, SUBSET, BOOLE, ARITHM; begin reserve G for strict Group, a,b,x,y,z for Element of G, H,K for strict Subgroup of G, p for Element of NAT, A for Subset of G; theorem :: GROUP_8:1 for G being strict finite Group holds p is prime & card G = p implies ex a being Element of G st ord a = p; theorem :: GROUP_8:2 for G being Group, H being Subgroup of G, a1,a2 being Element of H for b1,b2 being Element of G st a1 = b1 & a2 = b2 holds a1*a2 = b1*b2; theorem :: GROUP_8:3 for G being Group, H being Subgroup of G, a being Element of H for b being Element of G st a = b for n being Element of NAT holds a|^n = b|^n; theorem :: GROUP_8:4 for G being Group, H being Subgroup of G, a being Element of H for b being Element of G st a = b for i being Integer holds a|^i = b|^i; theorem :: GROUP_8:5 for G being Group, H being Subgroup of G, a being Element of H for b being Element of G st a = b & G is finite holds ord a = ord b; theorem :: GROUP_8:6 for G being Group, H being Subgroup of G, h being Element of G st h in H holds H * h c= the carrier of H; theorem :: GROUP_8:7 for G being Group for a being Element of G st a <> 1_G holds gr {a} <> (1).G; theorem :: GROUP_8:8 for G being Group, m being Integer holds (1_G) |^ m = 1_G; theorem :: GROUP_8:9 for m being Integer holds a |^ (m * ord a) = 1_G; theorem :: GROUP_8:10 for a st a is not being_of_order_0 for m being Integer holds a |^ m = a |^(m mod ord a); theorem :: GROUP_8:11 b is not being_of_order_0 implies gr {b} is finite; theorem :: GROUP_8:12 b is being_of_order_0 implies b" is being_of_order_0; theorem :: GROUP_8:13 b is being_of_order_0 iff for n being Integer st b |^n = 1_G holds n = 0; theorem :: GROUP_8:14 for G st ex a st a <> 1_G holds (for H holds H = G or H = (1).G) iff G is cyclic & G is finite & ex p being Element of NAT st card G = p & p is prime; theorem :: GROUP_8:15 for G being Group, x,y,z being Element of G for A being Subset of G holds z in x * A * y iff ex a being Element of G st z = x * a * y & a in A; theorem :: GROUP_8:16 for G being Group, A being non empty Subset of G holds for x being Element of G holds card A = card (x" * A * x); definition let G, H, K; func Double_Cosets (H, K) -> Subset-Family of G means :: GROUP_8:def 1 A in it iff ex a st A = H * a * K; end; theorem :: GROUP_8:17 z in H * x * K iff ex g,h being Element of G st z = g * x * h & g in H & h in K; theorem :: GROUP_8:18 for H, K holds H * x * K = H * y * K or not ex z st z in H * x * K & z in H * y * K; reserve G for Group; reserve H, B, A for Subgroup of G, D for Subgroup of A; registration let G,A; cluster Left_Cosets A -> non empty; end; notation let G be Group; let H be Subgroup of G; synonym index (G,H) for index H; end; theorem :: GROUP_8:19 D = A /\ B & G is finite implies index(G,B) >= index(A,D); theorem :: GROUP_8:20 for G being finite Group, H be Subgroup of G holds index (G,H) > 0; theorem :: GROUP_8:21 for G being Group st G is finite for C being Subgroup of G for A,B being Subgroup of C for D being Subgroup of A st D = A /\ B for E being Subgroup of B st E = A /\ B for F being Subgroup of C st F = A /\ B holds index (C,A), index (C,B) are_coprime implies index (C,B) = index (A,D) & index (C,A) = index (B,E); theorem :: GROUP_8:22 for a being Element of G st a in H holds for j being Integer holds a |^ j in H; theorem :: GROUP_8:23 for G being strict Group st G <> (1).G ex b being Element of G st b <> 1_G; theorem :: GROUP_8:24 for G being strict Group for a being Element of G st G = gr{a} for H being strict Subgroup of G st H <> (1).G holds ex k being Nat st 0 < k & a |^k in H; theorem :: GROUP_8:25 for G being strict cyclic Group for H being strict Subgroup of G holds H is cyclic Group;