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;

theorem Th26:
  M is MidSp iff ex G st ex w st w is_atlas_of the carrier of M,G
  & w is associating
proof
  hereby
    assume
A1: M is MidSp;
    thus ex G st ex w st w is_atlas_of the carrier of M,G &
    w is associating
    proof
      reconsider M as MidSp by A1;
      set G = vectgroup(M);
      take G;
      ex w being Function of [:the carrier of M,the carrier of M:], the
carrier of G st w is_atlas_of the carrier of M,G & w is associating
      proof
        take vect(M);
        thus thesis by Th21;
      end;
      hence thesis;
    end;
  end;
  given G being midpoint_operator add-associative right_zeroed
right_complementable Abelian non empty addLoopStr, w being Function of [:the
  carrier of M,the carrier of M:],the carrier of G such that
A2: w is_atlas_of the carrier of M,G & w is associating;
  thus thesis by A2,Th20;
end;
