Journal of Formalized Mathematics
Volume 3, 1991
University of Bialystok
Copyright (c) 1991 Association of Mizar Users

The abstract of the Mizar article:

Cyclic Groups and Some of Their Properties --- Part I

by
Dariusz Surowik

Received November 22, 1991

MML identifier: GR_CY_1
[ Mizar article, MML identifier index ]


environ

 vocabulary INT_1, REALSET1, FINSEQ_1, NAT_1, ORDINAL2, ARYTM, BINOP_1,
      FUNCT_1, VECTSP_1, QC_LANG1, SETWISEO, RLVECT_1, FINSEQ_2, GROUP_1,
      GROUP_4, RELAT_1, ARYTM_1, FUNCOP_1, FINSET_1, CARD_1, GROUP_2, TARSKI,
      ARYTM_3, FILTER_0, RLSUB_1, GRAPH_1, GR_CY_1, CARD_3;
 notation TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, ORDINAL2, ORDINAL1, NUMBERS,
      XCMPLX_0, XREAL_0, RELAT_1, FUNCT_1, REAL_1, FUNCT_2, SETWISEO, CARD_1,
      FINSET_1, BINOP_1, DOMAIN_1, INT_1, INT_2, NAT_1, RLVECT_1, GROUP_2,
      STRUCT_0, VECTSP_1, GROUP_1, GROUP_4, FUNCOP_1, FINSOP_1, SETWOP_2,
      FINSEQ_1;
 constructors WELLORD2, REAL_1, SETWISEO, DOMAIN_1, NAT_1, FUNCSDOM, GROUP_4,
      FINSOP_1, NAT_LAT, MEMBERED, XBOOLE_0;
 clusters SUBSET_1, FUNCT_1, CARD_1, INT_1, GROUP_1, GROUP_2, RELSET_1,
      STRUCT_0, FINSEQ_1, ARYTM_3, XREAL_0, MEMBERED, ZFMISC_1, XBOOLE_0,
      ORDINAL2;
 requirements NUMERALS, REAL, SUBSET, BOOLE, ARITHM;


begin

 reserve i1,i2,i3 for Element of INT;
 reserve j1,j2,j3 for Integer;
 reserve p,s,r,g,k,n,m,q,t for Nat;
 reserve x,y,xp,yp for set;
 reserve G for Group;
 reserve a,b for Element of G;
 reserve F for FinSequence of the carrier of G;
 reserve I for FinSequence of INT;

     :::::::::::::::::::::::::::::::::::::::::::::::::::::::
     ::    Some properties of modulo function             ::
     :::::::::::::::::::::::::::::::::::::::::::::::::::::::

theorem :: GR_CY_1:1
 m mod n = (n*k + m) mod n;

theorem :: GR_CY_1:2
 (p+s) mod n = ((p mod n)+s) mod n;

theorem :: GR_CY_1:3
  (p+s) mod n = (p + ( s mod n)) mod n;

theorem :: GR_CY_1:4
 k < n implies k mod n = k;

theorem :: GR_CY_1:5
 n mod n = 0;

theorem :: GR_CY_1:6
 0 = 0 mod n;

definition let n be natural number such that n > 0;
 func Segm (n) -> non empty Subset of NAT equals
:: GR_CY_1:def 1
  {p: p<n};
end;

canceled 3;

theorem :: GR_CY_1:10
 for n,s being natural number st n > 0 holds s in Segm (n) iff s < n;

canceled;

theorem :: GR_CY_1:12
  for n being natural number st n > 0 holds 0 in Segm (n);

theorem :: GR_CY_1:13
 Segm (1) = {0};

       :::::::::::::::::::::::::::::::::::::::::::::::::::::
       ::              Definition addint                  ::
       :::::::::::::::::::::::::::::::::::::::::::::::::::::

definition
 func addint -> BinOp of INT means
:: GR_CY_1:def 2
 for i1,i2 being Element of INT holds
 it.(i1,i2) = addreal.(i1,i2);
end;

theorem :: GR_CY_1:14
 for j1,j2 holds addint.(j1,j2)=j1+j2;

theorem :: GR_CY_1:15
 for i1 st i1 = 0 holds i1 is_a_unity_wrt addint;

theorem :: GR_CY_1:16
 the_unity_wrt addint = 0;

theorem :: GR_CY_1:17
 addint has_a_unity;

theorem :: GR_CY_1:18
   addint is commutative;

theorem :: GR_CY_1:19
   addint is associative;

definition let F be FinSequence of INT;
 func Sum(F) -> Integer equals
:: GR_CY_1:def 3
  addint $$ F;
end;

theorem :: GR_CY_1:20
 Sum(I^<*i1*>) =Sum I +@i1;

theorem :: GR_CY_1:21
   Sum <*i1*> = i1;

theorem :: GR_CY_1:22
 Sum (<*> INT) = 0;

canceled;

theorem :: GR_CY_1:24
 for I being FinSequence of INT holds Product(((len I)|->a)|^I) = a|^Sum I;

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::          Finite groups and their some properties              ::
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

theorem :: GR_CY_1:25
 b in gr {a} iff ex j1 st b=a|^j1;

theorem :: GR_CY_1:26
 G is finite implies a is_not_of_order_0;

theorem :: GR_CY_1:27
 G is finite implies ord a = ord gr {a};

theorem :: GR_CY_1:28
 G is finite implies ord a divides ord G;

theorem :: GR_CY_1:29
 G is finite implies a|^ord G = 1.G;

theorem :: GR_CY_1:30
 G is finite implies (a|^n)" = a|^(ord G - (n mod ord G));

theorem :: GR_CY_1:31
 for G being strict Group holds
  ord G > 1 implies ex a being Element of G st a <> 1.G;

theorem :: GR_CY_1:32
   for G being strict Group holds
  G is finite & ord G = p & p is prime implies
   for H being strict Subgroup of G holds H = (1).G or H = G;

theorem :: GR_CY_1:33
 HGrStr(#INT,addint#) is associative Group-like;

 definition
 func INT.Group -> strict Group equals
:: GR_CY_1:def 4
  HGrStr(#INT,addint#);
 end;

definition let n such that n > 0;
 func addint(n) -> BinOp of Segm(n) means
:: GR_CY_1:def 5
  for k,l being Element of Segm(n) holds
  it.(k,l) = (k+l) mod n;
end;

theorem :: GR_CY_1:34
 for n st n > 0 holds HGrStr(#Segm(n),addint(n)#) is associative Group-like;

definition let n such that  n > 0;
 func INT.Group(n) -> strict Group equals
:: GR_CY_1:def 6
 HGrStr(#Segm(n),addint(n)#);
end;

theorem :: GR_CY_1:35
 1.INT.Group = 0;

theorem :: GR_CY_1:36
 for n st n>0 holds 1.INT.Group(n) = 0;

definition
 let h be Element of INT.Group;
 func @'h -> Integer equals
:: GR_CY_1:def 7
  h;
end;

definition
 let h be Integer;
 func @'h -> Element of INT.Group equals
:: GR_CY_1:def 8
    h;
end;

theorem :: GR_CY_1:37
 for h being Element of INT.Group holds h" = -@'h;

 reserve G1 for Subgroup of INT.Group,
         h for Element of INT.Group;

theorem :: GR_CY_1:38
 for h st h=1 holds for k holds h|^k = k;

theorem :: GR_CY_1:39
 for h,j1 st h=1 holds j1 = h |^ j1;

definition let IT be Group;
 attr IT is cyclic means
:: GR_CY_1:def 9
  ex a being Element of IT st the HGrStr of IT=gr {a};
end;

definition
 cluster strict cyclic Group;
end;

theorem :: GR_CY_1:40
 (1).G is cyclic;

theorem :: GR_CY_1:41
 G is cyclic Group iff ex a being Element of G st
  for b being Element of G ex j1 st b=a|^j1;

theorem :: GR_CY_1:42
 G is finite implies (G is cyclic Group iff
  ex a being Element of G st
   for b being Element of G ex n st b=a|^n);

theorem :: GR_CY_1:43
 for G being strict Group holds
  G is finite implies
   ( G is cyclic Group iff
      ex a being Element of G st ord a =ord G );

theorem :: GR_CY_1:44
   for H being strict Subgroup of G holds
  G is finite & G is cyclic Group implies
   H is cyclic Group;

theorem :: GR_CY_1:45
   for G being strict Group holds
  G is finite & ord (G) = p & p is prime implies
   G is cyclic Group;

theorem :: GR_CY_1:46
 for n st n>0 ex g being Element of INT.Group(n) st
  for b being Element of INT.Group(n) ex j1 st b = g|^j1;

definition
 cluster cyclic -> commutative Group;
end;

canceled;

theorem :: GR_CY_1:48
 INT.Group is cyclic;

theorem :: GR_CY_1:49
 for n st n > 0 holds INT.Group(n) is cyclic Group;

theorem :: GR_CY_1:50
   INT.Group is commutative Group;

theorem :: GR_CY_1:51
   for n st n>0 holds INT.Group(n) is commutative Group;

Back to top