reserve S, R for 1-sorted,
  X for Subset of R,
  T for TopStruct,
  x for set;
reserve H for non empty multMagma,
  P, Q, P1, Q1 for Subset of H,
  h for Element of H;
reserve G for Group,
  A, B for Subset of G,
  a for Element of G;

theorem
  for G being TopologicalGroup, B being Basis of 1_G, M being dense
  Subset of G holds { V * x where V is Subset of G, x is Point of G: V in B & x
  in M } is Basis of G
proof
  let G be TopologicalGroup, B be Basis of 1_G, M be dense Subset of G;
  set Z = { V * x where V is Subset of G, x is Point of G: V in B & x in M };
A1: Z c= the topology of G
  proof
    let a be object;
    assume a in Z;
    then consider V being Subset of G, x being Point of G such that
A2: a = V*x and
A3: V in B and
    x in M;
    reconsider V as Subset of G;
    V is open by A3,YELLOW_8:12;
    hence thesis by A2,PRE_TOPC:def 2;
  end;
A4: for W being Subset of G st W is open for a being Point of G st a in W ex
  V being Subset of G st V in Z & a in V & V c= W
  proof
A5: 1_G*(1_G)" = 1_G*1_G by GROUP_1:8
      .= 1_G by GROUP_1:def 4;
    let W be Subset of G such that
A6: W is open;
    let a be Point of G such that
A7: a in W;
    1_G = a*a" by GROUP_1:def 5;
    then 1_G in W*a" by A7,GROUP_2:28;
    then W*a" is a_neighborhood of 1_G*(1_G)" by A6,A5,CONNSP_2:3;
    then consider V being open a_neighborhood of 1_G such that
A8: V*V" c= W*a" by Th54;
    consider E being Subset of G such that
A9: E in B and
A10: E c= V by CONNSP_2:4,YELLOW_8:13;
    E is open & E <> {} by A9,YELLOW_8:12;
    then (a*M") meets E by TOPS_1:45;
    then consider d being object such that
A11: d in (a*M") /\ E by XBOOLE_0:4;
    reconsider d as Point of G by A11;
    take I = E*(d"*a);
    d in a*M" by A11,XBOOLE_0:def 4;
    then consider m being Point of G such that
A12: d = a*m and
A13: m in M" by GROUP_2:27;
    d"*a = d"*a*1_G by GROUP_1:def 4
      .= d"*a*(m*m") by GROUP_1:def 5
      .= d"*a*m*m" by GROUP_1:def 3
      .= d"*d*m" by A12,GROUP_1:def 3
      .= 1_G*m" by GROUP_1:def 5
      .= m" by GROUP_1:def 4;
    then d"*a in M by A13,Th7;
    hence I in Z by A9;
A14: 1_G*a = a by GROUP_1:def 4;
A15: d in E by A11,XBOOLE_0:def 4;
    E*d" c= V*V"
    proof
      let q be object;
      assume q in E*d";
      then
A16:  ex v being Point of G st q = v*d" & v in E by GROUP_2:28;
      d" in V" by A10,A15;
      hence thesis by A10,A16;
    end;
    then E*d" c= W*a" by A8;
    then
A17: E*d"*a c= W*a"*a by Th5;
    d*d" = 1_G by GROUP_1:def 5;
    then 1_G in E*d" by A15,GROUP_2:28;
    then a in E*d"*a by A14,GROUP_2:28;
    hence a in I by GROUP_2:34;
    W*a"*a = W*(a"*a) by GROUP_2:34
      .= W*1_G by GROUP_1:def 5
      .= W by GROUP_2:37;
    hence thesis by A17,GROUP_2:34;
  end;
  Z c= bool the carrier of G
  proof
    let a be object;
    assume a in Z;
    then
    ex V being Subset of G, x being Point of G st a = V*x & V in B & x in M;
    hence thesis;
  end;
  hence thesis by A1,A4,YELLOW_9:32;
end;
