reserve L for non empty doubleLoopStr;
reserve a,b,c,x,y,z for Element of L;
reserve G for left-distributive doubleLoop,
  a,b,x,y for Element of G;
reserve a,b,c,x,y,z for Element of L;

theorem Th11:
  L is _Skew-Field iff (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)) & (for a,b holds a+b = b+a)
  & 0.L <> 1.L & (for a holds a * 1.L = a)
  & (for a st a<>0.L ex x st a*x = 1.L) & (for a holds a*0.L = 0.L)
  & (for a holds 0.L*a = 0.L) & (for a,b,c holds (a*b)*c = a*(b*c))
  & (for a,b,c holds a*(b+c) = a*b + a*c)
  & (for a,b,c holds (b+c)*a = b*a + c*a)
proof
  thus L is _Skew-Field implies (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))
  & (for a,b holds a+b = b+a) & 0.L <> 1.L & (for a holds a * 1.L = a)
  & (for a st a<>0.L ex x st a*x = 1.L) & (for a holds a*0.L = 0.L)
  & (for a holds 0.L*a = 0.L) & (for a,b,c holds (a*b)*c = a*(b*c))
  & (for a,b,c holds a*(b+c) = a*b + a*c)
  & (for a,b,c holds (b+c)*a = b*a + c*a) by ALGSTR_1:6,16,GROUP_1:def 3
,RLVECT_1:def 2,def 3,def 4,STRUCT_0:def 8,VECTSP_1:def 7;
  assume
A1: (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)) & (for a,b holds a+b = b+a)
  & 0.L <> 1.L & (for a holds a * 1.L = a)
  & (for a st a<>0.L ex x st a*x = 1.L) & (for a holds a*0.L = 0.L)
  & (for a holds 0.L*a = 0.L) & (for a,b,c holds (a*b)*c = a*(b*c))
  & (for a,b,c holds a*(b+c) = a*b + a*c)
  & (for a,b,c holds (b+c)*a = b*a + c*a);
  now thus
A2: for a holds 0.L + a = a
    proof
      let a;
      thus 0.L + a = a + 0.L by A1
        .= a by A1;
    end;
    thus for a,b ex x st a+x=b
    proof
      let a,b;
      consider y such that
A3:   a+y = 0.L by A1;
      take x = y+b;
      thus a+x = 0.L + b by A1,A3
        .= b by A2;
    end;
    thus for a,b ex x st x+a=b
    proof
      let a,b;
      consider y such that
A4:   y+a = 0.L by A1,ALGSTR_1:3;
      take x = b+y;
      thus x+a = b + 0.L by A1,A4
        .= b by A1;
    end;
    thus for a,x,y holds a+x=a+y implies x=y
    proof
      let a,x,y;
      consider z such that
A5:   z+a = 0.L by A1,ALGSTR_1:3;
      assume a+x = a+y;
      then (z+a)+x = z+(a+y) by A1
        .= (z+a)+y by A1;
      hence x = 0.L + y by A2,A5
        .= y by A2;
    end;
    thus for a,x,y holds x+a=y+a implies x=y
    proof
      let a,x,y;
      consider z such that
A6:   a+z = 0.L by A1;
      assume x+a = y+a;
      then x+(a+z) = (y+a)+z by A1
        .= y+(a+z) by A1;
      hence x = y + 0.L by A1,A6
        .= y by A1;
    end; thus
A7: for a holds 1.L * a = a
    proof
      let a;
      thus 1.L*a = a*1.L by A1,Lm7
        .= a by A1;
    end;
    thus for a,b st a<>0.L ex x st a*x=b
    proof
      let a,b;
      assume a<>0.L;
      then consider y such that
A8:   a*y = 1.L by A1;
      take x = y*b;
      thus a*x = 1.L * b by A1,A8
        .= b by A7;
    end;
    thus for a,b st a<>0.L ex x st x*a=b
    proof
      let a,b;
      assume a<>0.L;
      then consider y such that
A9:   y*a = 1.L by A1,Lm8;
      take x = b*y;
      thus x*a = b * 1.L by A1,A9
        .= b by A1;
    end;
    thus for a,x,y st a<>0.L holds a*x=a*y implies x=y
    proof
      let a,x,y;
      assume a<>0.L;
      then consider z such that
A10:  z*a = 1.L by A1,Lm8;
      assume a*x = a*y;
      then (z*a)*x = z*(a*y) by A1
        .= (z*a)*y by A1;
      hence x = 1.L * y by A7,A10
        .= y by A7;
    end;
    thus for a,x,y st a<>0.L holds x*a=y*a implies x=y
    proof
      let a,x,y;
      assume a<>0.L;
      then consider z such that
A11:  a*z = 1.L by A1;
      assume x*a = y*a;
      then x*(a*z) = (y*a)*z by A1
        .= y*(a*z) by A1;
      hence x = y * 1.L by A1,A11
        .= y by A1;
    end;
  end;
  hence thesis by A1,ALGSTR_1:6,16,def 2,GROUP_1:def 3,RLVECT_1:def 2,def 3
,def 4,STRUCT_0:def 8,VECTSP_1:def 6,def 7;
end;
