begin
definition
let IT be   non  
empty   AffinStruct ;
 
attr IT is  
WeakAffVect-like  means :
Def1: 
( (  for 
a, 
b, 
c being   
Element of 
IT  st 
a,
b // c,
c holds 
a = b ) & (  for 
a, 
b, 
c, 
d, 
p, 
q being   
Element of 
IT  st 
a,
b // p,
q & 
c,
d // p,
q holds 
a,
b // c,
d ) & (  for 
a, 
b, 
c being   
Element of 
IT  ex 
d being   
Element of 
IT st 
a,
b // c,
d ) & (  for 
a, 
b, 
c, 
a9, 
b9, 
c9 being   
Element of 
IT  st 
a,
b // a9,
b9 & 
a,
c // a9,
c9 holds 
b,
c // b9,
c9 ) & (  for 
a, 
c being   
Element of 
IT  ex 
b being   
Element of 
IT st 
a,
b // b,
c ) & (  for 
a, 
b, 
c, 
d being   
Element of 
IT  st 
a,
b // c,
d holds 
a,
c // b,
d ) );
 
 
end;
 
:: 
deftheorem Def1   defines 
WeakAffVect-like AFVECT0:def 1 : 
 for IT being   non  empty   AffinStruct  holds 
 ( IT is  WeakAffVect-like  iff ( (  for a, b, c being   Element of IT  st a,b // c,c holds 
a = b ) & (  for a, b, c, d, p, q being   Element of IT  st a,b // p,q & c,d // p,q holds 
a,b // c,d ) & (  for a, b, c being   Element of IT  ex d being   Element of IT st a,b // c,d ) & (  for a, b, c, a9, b9, c9 being   Element of IT  st a,b // a9,b9 & a,c // a9,c9 holds 
b,c // b9,c9 ) & (  for a, c being   Element of IT  ex b being   Element of IT st a,b // b,c ) & (  for a, b, c, d being   Element of IT  st a,b // c,d holds 
a,c // b,d ) ) );
theorem 
 for 
AFV being   
WeakAffVect  for 
b, 
c, 
b9, 
c9, 
a, 
d, 
d9 being   
Element of 
AFV  st 
b,
c // b9,
c9 & 
a,
d // b,
c & 
a,
d9 // b9,
c9 holds 
d = d9
 
theorem 
 for 
AFV being   
WeakAffVect  for 
a, 
b, 
a9, 
b9, 
c, 
d, 
d9 being   
Element of 
AFV  st 
a,
b // a9,
b9 & 
c,
d // b,
a & 
c,
d9 // b9,
a9 holds 
d = d9
 
theorem 
 for 
AFV being   
WeakAffVect  for 
a, 
b, 
a9, 
b9, 
c, 
d, 
c9, 
d9, 
f, 
f9 being   
Element of 
AFV  st 
a,
b // a9,
b9 & 
c,
d // c9,
d9 & 
b,
f // c,
d & 
b9,
f9 // c9,
d9 holds 
a,
f // a9,
f9
 
theorem Th12: 
 for 
AFV being   
WeakAffVect  for 
a, 
b, 
a9, 
b9, 
c, 
c9 being   
Element of 
AFV  st 
a,
b // a9,
b9 & 
a,
c // c9,
b9 holds 
b,
c // c9,
a9
 
theorem Th25: 
 for 
AFV being   
WeakAffVect  for 
a, 
p, 
a9, 
b, 
b9 being   
Element of 
AFV  st  
Mid a,
p,
a9 &  
Mid b,
p,
b9 holds 
a,
b // b9,
a9
 
theorem 
 for 
AFV being   
WeakAffVect  for 
a, 
p, 
a9, 
b, 
q, 
b9 being   
Element of 
AFV  st  
Mid a,
p,
a9 &  
Mid b,
q,
b9 &  
MDist p,
q holds 
a,
b // b9,
a9
 
theorem Th33: 
 for 
AFV being   
WeakAffVect  for 
a, 
b, 
c, 
d, 
p being   
Element of 
AFV holds 
 ( 
a,
b // c,
d iff  
PSym (
p,
a), 
PSym (
p,
b) 
//  PSym (
p,
c), 
PSym (
p,
d) )
 
theorem Th35: 
 for 
AFV being   
WeakAffVect  for 
a, 
b, 
c, 
p being   
Element of 
AFV holds 
 (  
Mid a,
b,
c iff  
Mid  PSym (
p,
a), 
PSym (
p,
b), 
PSym (
p,
c) )
 
definition
let AFV be   
WeakAffVect;
let o, 
a, 
b be   
Element of 
AFV;
 
correctness 
existence 
 ex b1 being   Element of AFV st o,a // b,b1;
uniqueness 
 for b1, b2 being   Element of AFV  st o,a // b,b1 & o,a // b,b2 holds 
b1 = b2;
by Def1, Th5;
 
end;
 
Lm1: 
 for AFV being   WeakAffVect
  for o, a, b being   Element of AFV holds 
 (  Pcom (o,a) = b iff a,o // o,b )
 
definition
let AFV be   
WeakAffVect;
let o be   
Element of 
AFV;
 
existence 
 ex b1 being   BinOp of  the carrier of AFV st 
 for a, b being   Element of AFV holds  b1 . (a,b) =  Padd (o,a,b)
 
uniqueness 
 for b1, b2 being   BinOp of  the carrier of AFV  st (  for a, b being   Element of AFV holds  b1 . (a,b) =  Padd (o,a,b) ) & (  for a, b being   Element of AFV holds  b2 . (a,b) =  Padd (o,a,b) ) holds 
b1 = b2
 
 
end;
 
Lm2: 
 for AFV being   WeakAffVect
  for o being   Element of AFV
  for a, b being   Element of (GroupVect (AFV,o)) holds  a + b = b + a
 
Lm3: 
 for AFV being   WeakAffVect
  for o being   Element of AFV
  for a, b, c being   Element of (GroupVect (AFV,o)) holds  (a + b) + c = a + (b + c)
 
Lm4: 
 for AFV being   WeakAffVect
  for o being   Element of AFV
  for a being   Element of (GroupVect (AFV,o)) holds  a + (0. (GroupVect (AFV,o))) = a
 
Lm5: 
 for AFV being   WeakAffVect
  for o being   Element of AFV holds 
 (  GroupVect (AFV,o) is  Abelian  &  GroupVect (AFV,o) is  add-associative  &  GroupVect (AFV,o) is  right_zeroed  )
 
Lm6: 
 for AFV being   WeakAffVect
  for o being   Element of AFV holds   GroupVect (AFV,o) is  right_complementable 
 
 
:: Properties of Relation of Congruence of Vectors
::