reserve X for set;
reserve G for Group;
reserve H for Subgroup of G;
reserve h,x,y for object;
reserve f for Endomorphism of G;
reserve phi for Automorphism of G;
reserve K for characteristic Subgroup of G;

theorem
  for G being Group
  for A being non empty Subset of G
  holds the carrier of Centralizer A = meet {B where B is Subset of G :
  ex H being strict Subgroup of G st B = the carrier of H &
  (ex a being Element of G st a in A & H = Normalizer a)}
proof
  let G be Group;
  let A be non empty Subset of G;
  defpred P[strict Subgroup of G] means (ex a being Element of G
                                         st a in A & $1 = Normalizer a);
  set Fam = {B where B is Subset of G :
  ex H being strict Subgroup of G st B = the carrier of H & P[H]};
  A1: Fam <> {}
  proof
    consider a being object such that
    B1: a in A
    by XBOOLE_0:def 1;
    reconsider a as Element of G by B1;
    consider H being strict Subgroup of G such that
    B2: H = Normalizer a;
    carr H in Fam by B1,B2;
    hence thesis;
  end;
  for x being object st x in the carrier of Centralizer A
  holds x in meet Fam
  proof
    let x be object;
    assume B1: x in the carrier of Centralizer A;
    then x in Centralizer A;
    then x in G by GROUP_2:40;
    then reconsider g = x as Element of G;
    for X being set st X in Fam holds x in X
    proof
      let X be set;
      assume X in Fam;
      then consider B being Subset of G such that
      C1: B = X and
      C2: ex H being strict Subgroup of G
          st B = the carrier of H &
             (ex a being Element of G st a in A & H = Normalizer a);
      consider H being strict Subgroup of G, a being Element of G such that
      C3: B = the carrier of H & a in A & H = Normalizer a by C2;
      C4: a |^ g = g" * (a * g) by GROUP_1:def 3
                .= g" * (g * a) by B1,C3,Th57
                .= (g" * g) * a by GROUP_1:def 3
                .= (1_G) * a by GROUP_1:def 5
                .= a by GROUP_1:def 4;
      {a} |^ g = {a |^ g} by GROUP_3:37
              .= {a} by C4;
      then g in Normalizer a by GROUP_3:129;
      hence x in X by C1,C3;
    end;
    hence x in meet Fam by A1,SETFAM_1:def 1;
  end;
  then A2: the carrier of Centralizer A c= meet Fam;

  for x being object st x in meet Fam
  holds x in the carrier of Centralizer A
  proof
    let x be object;
    assume B1: x in meet Fam;
    B2: ex H being strict Subgroup of G st P[H]
    proof
      consider X being object such that
      C1: X in Fam by A1, XBOOLE_0:def 1;
      consider B being Subset of G such that
      C2: B = X & ex H being strict Subgroup of G st
        B = the carrier of H & P[H] by C1;
      thus thesis by C2;
    end;

    consider K being strict Subgroup of G such that
    B3: the carrier of K = meet Fam
    from GROUP_4:sch 1(B2);

    reconsider g = x as Element of G by B1,B3,GROUP_2:42;
    B4: for a being Element of G st a in A
    holds g in Normalizer a
    proof
      let a be Element of G;
      assume a in A;
      then carr Normalizer a in Fam;
      hence g in Normalizer a by B1,SETFAM_1:def 1;
    end;
    for a being Element of G st a in A holds g*a = a*g
    proof
      let a be Element of G;
      assume a in A;
      then g in Normalizer a by B4;
      then consider h being Element of G such that
      C1: g = h & a |^ h = a
      by Th64;
      C2: a = g" * a * g by C1
           .= g" * (a * g) by GROUP_1:def 3;
      g * a = g * (g" * (a * g)) by C2
           .= (g * g") * (a * g) by GROUP_1:def 3
           .= 1_G * (a * g) by GROUP_1:def 5
           .= a * g by GROUP_1:def 4;
      hence g*a = a*g;
    end;
    then g is Element of Centralizer A by Th57;
    hence thesis;
  end;
  then meet Fam c= the carrier of Centralizer A;
  hence thesis by A2, XBOOLE_0:def 10;
end;
