reserve L for non empty addLoopStr;
reserve a,b,c,x for Element of L;

theorem Th1:
  (for a holds a + 0.L = a) & (for a ex x st a+x = 0.L) & (for a,b,
  c holds (a+b)+c = a+(b+c)) implies (a+b = 0.L implies b+a = 0.L)
proof
  assume that
A1: for a holds a + 0.L = a and
A2: for a ex x st a+x = 0.L and
A3: for a,b,c holds (a+b)+c = a+(b+c);
  consider x such that
A4: b + x = 0.L by A2;
  assume
A5: a+b = 0.L;
  thus b+a = (b+a) + (b+x) by A1,A4
    .= ((b+a) + b) + x by A3
    .= (b + 0.L) + x by A3,A5
    .= 0.L by A1,A4;
end;
