reserve x,y for set;

theorem Th4:
  for F being Field-like Abelian distributive add-associative
right_zeroed right_complementable non degenerated doubleLoopStr,
      a,b,c being Element of NonZero F holds (a*b)*c = a*(b*c)
proof
  let F be Field-like Abelian distributive add-associative right_zeroed
  right_complementable non degenerated doubleLoopStr, a,b,c be Element of
  NonZero F;
  set B = suppf1(F)\{0.F};
  set P = omf(F)!(suppf1(F),0.F);
A1: B = NonZero F;
  then reconsider e = 1.F as Element of B by STRUCT_0:2;
  reconsider D = addLoopStr(#B,P,e#) as strict AbGroup by A1,Def4;
  reconsider a,b,c as Element of D;
  reconsider x=a, y=b, z=c as Element of F;
A2: omf(F)||(suppf1(F)\{0.F}) is Function of [:suppf1(F)\{0.F},suppf1(F)\{0.
  F}:], (suppf1(F)\{0.F}) by REALSET1:7;
  then
A3: dom(omf(F)||(suppf1(F)\{0.F})) = [:suppf1(F)\{0.F},suppf1(F)\{0.F}:] by
FUNCT_2:def 1;
A4: for x,y being Element of suppf1(F)\{0.F} holds omf(F).(x,y) = (the addF
  of D).(x,y)
  proof
    let x,y be Element of suppf1(F)\{0.F};
    [x,y] in [:suppf1(F)\{0.F},suppf1(F)\{0.F}:];
    hence thesis by A3,FUNCT_1:47;
  end;
A5: for s,t being Element of (suppf1(F)\{0.F}) holds (the addF of D).(s,t)
is Element of (suppf1(F)\{0.F}) & omf(F).(s,t) is Element of (suppf1(F)\{0.F})
  proof
    let s,t be Element of (suppf1(F)\{0.F});
A6: [s,t] in [:suppf1(F)\{0.F},suppf1(F)\{0.F}:];
    consider W being Function of [:suppf1(F)\{0.F},suppf1(F)\{0.F}:], (suppf1(
    F)\{0.F}) such that
A7: W = omf(F)||(suppf1(F)\{0.F}) by A2;
    W.(s,t) is Element of (suppf1(F)\{0.F});
    hence thesis by A3,A6,A7,FUNCT_1:47;
  end;
A8: for x,y,z being Element of suppf1(F)\{0.F} holds omf(F).((the addF of D
).(x,y),z) = (the addF of D).((the addF of D).(x,y),z) & (the addF of D).(x,omf
  (F).(y,z)) = omf(F).(x,omf(F).(y,z))
  proof
    let x,y,z be Element of suppf1(F)\{0.F};
A9: omf(F).(y,z) is Element of suppf1(F)\{0.F} by A5;
    (the addF of D).(x,y) is Element of suppf1(F)\{0.F} by A5;
    hence thesis by A4,A9;
  end;
  (x*y)*z = omf(F).((the addF of D).(a,b),c) by A4
    .= a+b+c by A8
    .= a+(b+c) by RLVECT_1:def 3
    .= (the addF of D).(a,omf(F).(b,c)) by A4
    .= x*(y*z) by A8;
  hence thesis;
end;
