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);

theorem Th22:
  vect(p,q) = vect(r,s) iff p@s = q@r
proof
  thus vect(p,q) = vect(r,s) implies p@s = q@r by MIDSP_1:37;
  thus p@s = q@r implies vect(p,q) = vect(r,s)
  proof
    assume p@s = q@r;
    then p,q @@ r,s by MIDSP_1:def 4;
    then [p,q] ## [r,s] by MIDSP_1:19;
    hence thesis by MIDSP_1:36;
  end;
end;
