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

theorem Th6:
  for L being non empty addLoopStr holds L is Loop-like iff (for a,
b be Element of L ex x being Element of L st a+x=b) & (for a,b be Element of L
  ex x being Element of L st x+a=b) & (for a,x,y be Element of L holds a+x=a+y
  implies x=y) & for a,x,y be Element of L holds x+a=y+a implies x=y
proof
  let L be non empty addLoopStr;
  thus L is Loop-like implies (for a,b be Element of L ex x being Element of L
st a+x=b) & (for a,b be Element of L ex x being Element of L st x+a=b) & (for a
,x,y be Element of L holds a+x=a+y implies x=y) & for a,x,y being Element of L
  st x+a=y+a holds x=y by Def3,Def4,ALGSTR_0:def 3,def 4;
  assume that
A1: ( for a,b be Element of L ex x being Element of L st a+x=b)& for a,b
  be Element of L ex x being Element of L st x+a=b and
A2: for a,x,y be Element of L holds a+x=a+y implies x=y and
A3: for a,x,y be Element of L holds x+a=y+a implies x=y;
  thus L is left_add-cancelable
  proof
    let x,x,x be Element of L;
    thus thesis by A2;
  end;
  thus L is right_add-cancelable
  proof
    let x,x,x be Element of L;
    thus thesis by A3;
  end;
  thus thesis by A1;
end;
