Article WEDDWITT, MML version 4.99.1005

:: WEDDWITT:th 1
theorem
for b1 being Element of NAT
for b2 being Element of REAL
      st 1 < b2 & b2 |^ b1 = 1
   holds b1 = 0;

:: WEDDWITT:th 2
theorem
for b1, b2, b3 being natural set
for b4 being Element of REAL
      st 1 < b4 & 0 < b2
   holds b4 |^ ((b1 * b2) + b3) = (b4 |^ b1) * (b4 |^ ((b1 * (b2 -' 1)) + b3));

:: WEDDWITT:th 3
theorem
for b1, b2, b3 being Element of NAT
      st 0 < b2 &
         1 < b1 &
         (b1 |^ b2) -' 1 divides (b1 |^ b3) -' 1
   holds b2 divides b3;

:: WEDDWITT:th 4
theorem
for b1, b2 being natural set
      st 0 < b2
   holds Card Funcs(b1,b2) = b2 |^ b1;

:: WEDDWITT:th 5
theorem
for b1 being FinSequence of NAT
for b2 being Element of NAT
      st for b3 being Element of NAT
              st b3 in dom b1
           holds b2 divides b1 /. b3
   holds b2 divides Sum b1;

:: WEDDWITT:th 6
theorem
for b1 being finite set
for b2 being a_partition of b1
for b3 being FinSequence of b2
   st b3 is one-to-one & rng b3 = b2
for b4 being FinSequence of NAT
      st len b4 = len b3 &
         (for b5 being Element of NAT
               st b5 in dom b4
            holds b4 . b5 = Card (b3 . b5))
   holds card b1 = Sum b4;

:: WEDDWITT:exreg 1
registration
  cluster non empty finite unital Group-like associative left-invertible right-invertible invertible left-cancelable right-cancelable cancelable multMagma;
end;

:: WEDDWITT:funcreg 1
registration
  let a1 be non empty finite Group-like associative multMagma;
  cluster center a1 -> finite strict;
end;

:: WEDDWITT:funcnot 1 => WEDDWITT:func 1
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be Element of the carrier of a1;
  func Centralizer A2 -> strict Subgroup of a1 means
    the carrier of it = {b1 where b1 is Element of the carrier of a1: a2 * b1 = b1 * a2};
end;

:: WEDDWITT:def 1
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3 being strict Subgroup of b1 holds
      b3 = Centralizer b2
   iff
      the carrier of b3 = {b4 where b4 is Element of the carrier of b1: b2 * b4 = b4 * b2};

:: WEDDWITT:funcreg 2
registration
  let a1 be non empty finite Group-like associative multMagma;
  let a2 be Element of the carrier of a1;
  cluster Centralizer a2 -> finite strict;
end;

:: WEDDWITT:th 7
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3 being set
      st b3 in Centralizer b2
   holds b3 in b1;

:: WEDDWITT:th 8
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being Element of the carrier of b1 holds
   b2 * b3 = b3 * b2
iff
   b3 is Element of the carrier of Centralizer b2;

:: WEDDWITT:funcreg 3
registration
  let a1 be non empty Group-like associative multMagma;
  let a2 be Element of the carrier of a1;
  cluster con_class a2 -> non empty;
end;

:: WEDDWITT:funcnot 2 => WEDDWITT:func 2
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be Element of the carrier of a1;
  func A2 -con_map -> Function-like quasi_total Relation of the carrier of a1,con_class a2 means
    for b1 being Element of the carrier of a1 holds
       it . b1 = a2 |^ b1;
end;

:: WEDDWITT:def 2
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3 being Function-like quasi_total Relation of the carrier of b1,con_class b2 holds
      b3 = b2 -con_map
   iff
      for b4 being Element of the carrier of b1 holds
         b3 . b4 = b2 |^ b4;

:: WEDDWITT:th 9
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3 being Element of con_class b2 holds
   card (b2 -con_map " {b3}) = ord Centralizer b2;

:: WEDDWITT:th 10
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1
for b3, b4 being Element of con_class b2
      st b3 <> b4
   holds b2 -con_map " {b3} misses b2 -con_map " {b4};

:: WEDDWITT:th 11
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1 holds
   {b2 -con_map " {b3} where b3 is Element of con_class b2: TRUE} is a_partition of the carrier of b1;

:: WEDDWITT:th 12
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being Element of the carrier of b1 holds
   Card {b2 -con_map " {b3} where b3 is Element of con_class b2: TRUE} = card con_class b2;

:: WEDDWITT:th 13
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being Element of the carrier of b1 holds
   ord b1 = (card con_class b2) * ord Centralizer b2;

:: WEDDWITT:funcnot 3 => WEDDWITT:func 3
definition
  let a1 be non empty Group-like associative multMagma;
  func conjugate_Classes A1 -> a_partition of the carrier of a1 equals
    {b1 where b1 is Element of bool the carrier of a1: ex b2 being Element of the carrier of a1 st
       b1 = con_class b2};
end;

:: WEDDWITT:def 3
theorem
for b1 being non empty Group-like associative multMagma holds
   conjugate_Classes b1 = {b2 where b2 is Element of bool the carrier of b1: ex b3 being Element of the carrier of b1 st
      b2 = con_class b3};

:: WEDDWITT:th 14
theorem
for b1 being non empty Group-like associative multMagma
for b2 being set holds
      b2 in conjugate_Classes b1
   iff
      ex b3 being Element of the carrier of b1 st
         con_class b3 = b2;

:: WEDDWITT:th 15
theorem
for b1 being non empty finite Group-like associative multMagma
for b2 being FinSequence of conjugate_Classes b1
   st b2 is one-to-one & rng b2 = conjugate_Classes b1
for b3 being FinSequence of NAT
      st len b3 = len b2 &
         (for b4 being Element of NAT
               st b4 in dom b3
            holds b3 . b4 = Card (b2 . b4))
   holds ord b1 = Sum b3;

:: WEDDWITT:th 16
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being natural set
      st b2 is finite-dimensional(b1) & b3 = dim b2 & b4 = Card the carrier of b1
   holds Card the carrier of b2 = b4 |^ b3;

:: WEDDWITT:funcnot 4 => WEDDWITT:func 4
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  func center A1 -> non empty non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr means
    the carrier of it = {b1 where b1 is Element of the carrier of a1: for b2 being Element of the carrier of a1 holds
        b1 * b2 = b2 * b1} &
     the addF of it = (the addF of a1) || the carrier of it &
     the multF of it = (the multF of a1) || the carrier of it &
     0. it = 0. a1 &
     1. it = 1. a1;
end;

:: WEDDWITT:def 4
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr holds
      b2 = center b1
   iff
      the carrier of b2 = {b3 where b3 is Element of the carrier of b1: for b4 being Element of the carrier of b1 holds
          b3 * b4 = b4 * b3} &
       the addF of b2 = (the addF of b1) || the carrier of b2 &
       the multF of b2 = (the multF of b1) || the carrier of b2 &
       0. b2 = 0. b1 &
       1. b2 = 1. b1;

:: WEDDWITT:th 17
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   the carrier of center b1 c= the carrier of b1;

:: WEDDWITT:funcreg 4
registration
  let a1 be non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  cluster center a1 -> non empty non degenerated finite right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative commutative well-unital distributive;
end;

:: WEDDWITT:th 18
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
      b2 in center b1
   iff
      for b3 being Element of the carrier of b1 holds
         b2 * b3 = b3 * b2;

:: WEDDWITT:th 19
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   0. b1 in center b1;

:: WEDDWITT:th 20
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   1_ b1 in center b1;

:: WEDDWITT:th 21
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   1 < card the carrier of center b1;

:: WEDDWITT:th 22
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
      card the carrier of center b1 = card the carrier of b1
   iff
      b1 is commutative;

:: WEDDWITT:th 23
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   the carrier of center b1 = (the carrier of center MultGroup b1) \/ {0. b1};

:: WEDDWITT:funcnot 5 => WEDDWITT:func 5
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be Element of the carrier of a1;
  func centralizer A2 -> non empty non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr means
    the carrier of it = {b1 where b1 is Element of the carrier of a1: b1 * a2 = a2 * b1} &
     the addF of it = (the addF of a1) || the carrier of it &
     the multF of it = (the multF of a1) || the carrier of it &
     0. it = 0. a1 &
     1. it = 1. a1;
end;

:: WEDDWITT:def 5
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being non empty non degenerated right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
      b3 = centralizer b2
   iff
      the carrier of b3 = {b4 where b4 is Element of the carrier of b1: b4 * b2 = b2 * b4} &
       the addF of b3 = (the addF of b1) || the carrier of b3 &
       the multF of b3 = (the multF of b1) || the carrier of b3 &
       0. b3 = 0. b1 &
       1. b3 = 1. b1;

:: WEDDWITT:th 24
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   the carrier of centralizer b2 c= the carrier of b1;

:: WEDDWITT:th 25
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2, b3 being Element of the carrier of b1 holds
   b3 in the carrier of centralizer b2
iff
   b3 * b2 = b2 * b3;

:: WEDDWITT:th 26
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   the carrier of center b1 c= the carrier of centralizer b2;

:: WEDDWITT:th 27
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2, b3, b4 being Element of the carrier of b1
      st b3 in the carrier of center b1 & b4 in the carrier of centralizer b2
   holds b3 * b4 in the carrier of centralizer b2;

:: WEDDWITT:th 28
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   0. b1 is Element of the carrier of centralizer b2 & 1_ b1 is Element of the carrier of centralizer b2;

:: WEDDWITT:funcreg 5
registration
  let a1 be non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be Element of the carrier of a1;
  cluster centralizer a2 -> non empty non degenerated finite right_complementable almost_left_invertible strict Abelian add-associative right_zeroed associative well-unital distributive;
end;

:: WEDDWITT:th 29
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   1 < card the carrier of centralizer b2;

:: WEDDWITT:th 30
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being Element of the carrier of MultGroup b1
      st b3 = b2
   holds the carrier of centralizer b2 = (the carrier of Centralizer b3) \/ {0. b1};

:: WEDDWITT:th 31
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being Element of the carrier of MultGroup b1
      st b3 = b2
   holds ord Centralizer b3 = (card the carrier of centralizer b2) - 1;

:: WEDDWITT:funcnot 6 => WEDDWITT:func 6
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  func VectSp_over_center A1 -> non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over center a1 means
    addLoopStr(#the carrier of it,the addF of it,the ZeroF of it#) = addLoopStr(#the carrier of a1,the addF of a1,the ZeroF of a1#) &
     the lmult of it = (the multF of a1) | [:the carrier of center a1,the carrier of a1:];
end;

:: WEDDWITT:def 6
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over center b1 holds
      b2 = VectSp_over_center b1
   iff
      addLoopStr(#the carrier of b2,the addF of b2,the ZeroF of b2#) = addLoopStr(#the carrier of b1,the addF of b1,the ZeroF of b1#) &
       the lmult of b2 = (the multF of b1) | [:the carrier of center b1,the carrier of b1:];

:: WEDDWITT:th 32
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   card the carrier of b1 = (card the carrier of center b1) |^ dim VectSp_over_center b1;

:: WEDDWITT:th 33
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   0 < dim VectSp_over_center b1;

:: WEDDWITT:funcnot 7 => WEDDWITT:func 7
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be Element of the carrier of a1;
  func VectSp_over_center A2 -> non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over center a1 means
    addLoopStr(#the carrier of it,the addF of it,the ZeroF of it#) = addLoopStr(#the carrier of centralizer a2,the addF of centralizer a2,the ZeroF of centralizer a2#) &
     the lmult of it = (the multF of a1) | [:the carrier of center a1,the carrier of centralizer a2:];
end;

:: WEDDWITT:def 7
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over center b1 holds
      b3 = VectSp_over_center b2
   iff
      addLoopStr(#the carrier of b3,the addF of b3,the ZeroF of b3#) = addLoopStr(#the carrier of centralizer b2,the addF of centralizer b2,the ZeroF of centralizer b2#) &
       the lmult of b3 = (the multF of b1) | [:the carrier of center b1,the carrier of centralizer b2:];

:: WEDDWITT:th 34
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   card the carrier of centralizer b2 = (card the carrier of center b1) |^ dim VectSp_over_center b2;

:: WEDDWITT:th 35
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   0 < dim VectSp_over_center b2;

:: WEDDWITT:th 36
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
      st b2 is Element of the carrier of MultGroup b1
   holds ((card the carrier of center b1) |^ dim VectSp_over_center b2) - 1 divides ((card the carrier of center b1) |^ dim VectSp_over_center b1) - 1;

:: WEDDWITT:th 37
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
      st b2 is Element of the carrier of MultGroup b1
   holds dim VectSp_over_center b2 divides dim VectSp_over_center b1;

:: WEDDWITT:th 38
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   card the carrier of center MultGroup b1 = (card the carrier of center b1) - 1;

:: WEDDWITT:th 39
theorem
for b1 being non empty non degenerated finite right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   b1 is commutative;

:: WEDDWITT:th 40
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr holds
   1. center b1 = 1. b1;

:: WEDDWITT:th 41
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1 holds
   1. centralizer b2 = 1. b1;