reserve G for non empty addLoopStr;
reserve x for Element of G;
reserve M for non empty MidStr;
reserve p,q,r for Point of M;
reserve w for Function of [:the carrier of M,the carrier of M:], the carrier
  of G;
reserve S for non empty set;
reserve a,b,b9,c,c9,d for Element of S;
reserve w for Function of [:S,S:],the carrier of G;
reserve G for add-associative right_zeroed right_complementable non empty
  addLoopStr;
reserve x for Element of G;
reserve w for Function of [:S,S:],the carrier of G;
reserve G for add-associative right_zeroed right_complementable Abelian non
  empty addLoopStr;
reserve x for Element of G;
reserve w for Function of [:S,S:],the carrier of G;
reserve M for MidSp;
reserve p,q,r,s for Point of M;
reserve G for midpoint_operator add-associative right_zeroed
  right_complementable Abelian non empty addLoopStr;
reserve x,y for Element of G;
reserve x,y for Element of vectgroup(M);
reserve w for Function of [:S,S:],the carrier of G;
reserve a,b,c for Point of MidStr(#S,@(w)#);
reserve M for non empty MidStr;
reserve w for Function of [:the carrier of M,the carrier of M:], the carrier
  of G;
reserve a,b,b1,b2,c for Point of M;
reserve M for MidSp;
reserve W for ATLAS of M;
reserve a,b,b1,b2,c,d for Point of M;
reserve x for Vector of W;

theorem
  (for a,x ex b st W.(a,b) = x) & (for a,b,c holds W.(a,b) = W.(a,c)
  implies b = c) & for a,b,c holds W.(a,b) + W.(b,c) = W.(a,c)
proof
  set w = the function of W;
  thus for a,x ex b st W.(a,b) = x
  proof
    set w = the function of W;
    let a,x;
    w is_atlas_of the carrier of M,(the algebra of W) by Def12;
    then consider b such that
A1: w.(a,b) = x;
    take b;
    thus thesis by A1;
  end;
  thus for a,b,c holds W.(a,b) = W.(a,c) implies b = c
  proof
    set w = the function of W;
A2: w is_atlas_of (the carrier of M),(the algebra of W) by Def12;
    let a,b,c;
    assume W.(a,b) = W.(a,c);
    hence thesis by A2;
  end;
  let a,b,c;
  w is_atlas_of the carrier of M,(the algebra of W) by Def12;
  hence thesis;
end;
