reserve G for Group;
reserve A,B for non empty Subset of G;
reserve N,H,H1,H2 for Subgroup of G;
reserve x,a,b for Element of G;

theorem
  N ~ (N `(N ~ A)) = N ~ A
proof
  thus N ~ (N `(N ~ A)) c= N ~ A
  proof
    let x be object;
    assume
A1: x in N ~ (N ` (N ~ A));
    then reconsider x as Element of G;
    x * N meets N ` (N ~ A) by A1,Th30;
    then consider y being object such that
A2: y in x * N & y in N ` (N ~ A) by XBOOLE_0:3;
    reconsider y as Element of G by A2;
    y * N c= N ~ A by A2,Th31;
    then
A3: x * N c= N ~ A by A2,Th2;
    x in x * N by GROUP_2:108;
    hence thesis by A3;
  end;
  thus N ~ A c= N ~ (N `(N ~ A))
  proof
    A c= N ` (N ~ A)
    proof
      let x be object;
      assume
A4:   x in A;
      then reconsider x as Element of G;
      x * N c= N ~ A
      proof
        let y be object;
        assume
A5:     y in x * N;
        then reconsider y as Element of G;
        y * N = x * N by A5,Th2;
        then x in y * N by GROUP_2:108;
        then y * N meets A by A4,XBOOLE_0:3;
        hence thesis;
      end;
      hence thesis;
    end;
    hence thesis by Th39;
  end;
end;
