Article VECTSP10, MML version 4.99.1005

:: VECTSP10:funcnot 1 => VECTSP10:func 1
definition
  let a1 be doubleLoopStr;
  func StructVectSp A1 -> strict VectSpStr over a1 equals
    VectSpStr(#the carrier of a1,the addF of a1,0. a1,the multF of a1#);
end;

:: VECTSP10:def 1
theorem
for b1 being doubleLoopStr holds
   StructVectSp b1 = VectSpStr(#the carrier of b1,the addF of b1,0. b1,the multF of b1#);

:: VECTSP10:funcreg 1
registration
  let a1 be non empty doubleLoopStr;
  cluster StructVectSp a1 -> non empty strict;
end;

:: VECTSP10:funcreg 2
registration
  let a1 be non empty Abelian doubleLoopStr;
  cluster StructVectSp a1 -> Abelian strict;
end;

:: VECTSP10:funcreg 3
registration
  let a1 be non empty add-associative doubleLoopStr;
  cluster StructVectSp a1 -> add-associative strict;
end;

:: VECTSP10:funcreg 4
registration
  let a1 be non empty right_zeroed doubleLoopStr;
  cluster StructVectSp a1 -> right_zeroed strict;
end;

:: VECTSP10:funcreg 5
registration
  let a1 be non empty right_complementable doubleLoopStr;
  cluster StructVectSp a1 -> right_complementable strict;
end;

:: VECTSP10:funcreg 6
registration
  let a1 be non empty associative distributive left_unital doubleLoopStr;
  cluster StructVectSp a1 -> strict VectSp-like;
end;

:: VECTSP10:funcreg 7
registration
  let a1 be non empty non degenerated doubleLoopStr;
  cluster StructVectSp a1 -> non trivial strict;
end;

:: VECTSP10:exreg 1
registration
  let a1 be non empty non degenerated doubleLoopStr;
  cluster non empty non trivial VectSpStr over a1;
end;

:: VECTSP10:exreg 2
registration
  let a1 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
  cluster non empty right_complementable add-associative right_zeroed strict VectSpStr over a1;
end;

:: VECTSP10:exreg 3
registration
  let a1 be non empty right_complementable add-associative right_zeroed associative distributive left_unital doubleLoopStr;
  cluster non empty right_complementable add-associative right_zeroed strict VectSp-like VectSpStr over a1;
end;

:: VECTSP10:exreg 4
registration
  let a1 be non empty non degenerated right_complementable Abelian add-associative right_zeroed associative distributive left_unital doubleLoopStr;
  cluster non empty non trivial right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over a1;
end;

:: VECTSP10:th 2
theorem
for b1 being non empty right_complementable add-associative right_zeroed associative distributive left_unital doubleLoopStr
for b2 being Element of the carrier of b1
for b3 being non empty right_complementable add-associative right_zeroed VectSp-like VectSpStr over b1
for b4 being Element of the carrier of b3 holds
   (0. b1) * b4 = 0. b3 & b2 * 0. b3 = 0. b3;

:: VECTSP10:th 3
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
for b5 being Element of the carrier of b2
      st b3 /\ b4 = (0). b2 & b5 in b3 & b5 in b4
   holds b5 = 0. b2;

:: VECTSP10:th 4
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being set
for b4 being Element of the carrier of b2 holds
      b3 in Lin {b4}
   iff
      ex b5 being Element of the carrier of b1 st
         b3 = b5 * b4;

:: VECTSP10:th 5
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4, b5 being Element of the carrier of b1
      st b3 <> 0. b2 & b4 * b3 = b5 * b3
   holds b4 = b5;

:: VECTSP10:th 6
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5, b6, b7 being Element of the carrier of b2
      st b6 in b3 & b7 in b4 & b5 = b6 + b7
   holds b5 |--(b3,b4) = [b6,b7];

:: VECTSP10:th 7
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5, b6, b7 being Element of the carrier of b2
      st b5 |--(b3,b4) = [b6,b7]
   holds b5 = b6 + b7;

:: VECTSP10:th 8
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5, b6, b7 being Element of the carrier of b2
      st b5 |--(b3,b4) = [b6,b7]
   holds b6 in b3 & b7 in b4;

:: VECTSP10:th 9
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5, b6, b7 being Element of the carrier of b2
      st b5 |--(b3,b4) = [b6,b7]
   holds b5 |--(b4,b3) = [b7,b6];

:: VECTSP10:th 10
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5 being Element of the carrier of b2
      st b5 in b3
   holds b5 |--(b3,b4) = [b5,0. b2];

:: VECTSP10:th 11
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Subspace of b2
   st b2 is_the_direct_sum_of b3,b4
for b5 being Element of the carrier of b2
      st b5 in b4
   holds b5 |--(b3,b4) = [0. b2,b5];

:: VECTSP10:th 12
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Subspace of b3
for b5 being Element of the carrier of b2
      st b5 in b4
   holds b5 is Element of the carrier of b3;

:: VECTSP10:th 13
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4, b5 being Subspace of b2
for b6, b7 being Subspace of b5
      st b6 = b3 & b7 = b4
   holds b6 + b7 = b3 + b4;

:: VECTSP10:th 14
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Element of the carrier of b2
for b5 being Element of the carrier of b3
      st b4 = b5
   holds Lin {b5} = Lin {b4};

:: VECTSP10:th 15
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
   st not b3 in b4
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
      st b3 = b5 & b6 = b4
   holds b4 + Lin {b3} is_the_direct_sum_of b6,Lin {b5};

:: VECTSP10:th 16
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
      st b3 = b5 & b4 = b6 & not b3 in b4
   holds b5 |--(b6,Lin {b5}) = [0. b6,b5];

:: VECTSP10:th 17
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
   st b3 = b5 & b4 = b6 & not b3 in b4
for b7 being Element of the carrier of b4 + Lin {b3}
      st b7 in b4
   holds b7 |--(b6,Lin {b5}) = [b7,0. b2];

:: VECTSP10:th 18
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4, b5 being Subspace of b2 holds
ex b6, b7 being Element of the carrier of b2 st
   b3 |--(b4,b5) = [b6,b7];

:: VECTSP10:th 19
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
   st b3 = b5 & b4 = b6 & not b3 in b4
for b7 being Element of the carrier of b4 + Lin {b3} holds
   ex b8 being Element of the carrier of b4 st
      ex b9 being Element of the carrier of b1 st
         b7 |--(b6,Lin {b5}) = [b8,b9 * b3];

:: VECTSP10:th 20
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
   st b3 = b5 & b4 = b6 & not b3 in b4
for b7, b8 being Element of the carrier of b4 + Lin {b3}
for b9, b10 being Element of the carrier of b4
for b11, b12 being Element of the carrier of b1
      st b7 |--(b6,Lin {b5}) = [b9,b11 * b3] &
         b8 |--(b6,Lin {b5}) = [b10,b12 * b3]
   holds (b7 + b8) |--(b6,Lin {b5}) = [b9 + b10,(b11 + b12) * b3];

:: VECTSP10:th 21
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Subspace of b2
for b5 being Element of the carrier of b4 + Lin {b3}
for b6 being Subspace of b4 + Lin {b3}
   st b3 = b5 & b4 = b6 & not b3 in b4
for b7 being Element of the carrier of b4 + Lin {b3}
for b8 being Element of the carrier of b4
for b9, b10 being Element of the carrier of b1
      st b7 |--(b6,Lin {b5}) = [b8,b10 * b3]
   holds (b9 * b7) |--(b6,Lin {b5}) = [b9 * b8,(b9 * b10) * b3];

:: VECTSP10:funcnot 2 => VECTSP10:func 2
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  func CosetSet(A2,A3) -> non empty Element of bool bool the carrier of a2 equals
    {b1 where b1 is Coset of a3: TRUE};
end;

:: VECTSP10:def 2
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2 holds
   CosetSet(b2,b3) = {b4 where b4 is Coset of b3: TRUE};

:: VECTSP10:funcnot 3 => VECTSP10:func 3
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  func addCoset(A2,A3) -> Function-like quasi_total Relation of [:CosetSet(a2,a3),CosetSet(a2,a3):],CosetSet(a2,a3) means
    for b1, b2 being Element of CosetSet(a2,a3)
    for b3, b4 being Element of the carrier of a2
          st b1 = b3 + a3 & b2 = b4 + a3
       holds it .(b1,b2) = (b3 + b4) + a3;
end;

:: VECTSP10:def 3
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Function-like quasi_total Relation of [:CosetSet(b2,b3),CosetSet(b2,b3):],CosetSet(b2,b3) holds
      b4 = addCoset(b2,b3)
   iff
      for b5, b6 being Element of CosetSet(b2,b3)
      for b7, b8 being Element of the carrier of b2
            st b5 = b7 + b3 & b6 = b8 + b3
         holds b4 .(b5,b6) = (b7 + b8) + b3;

:: VECTSP10:funcnot 4 => VECTSP10:func 4
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  func zeroCoset(A2,A3) -> Element of CosetSet(a2,a3) equals
    the carrier of a3;
end;

:: VECTSP10:def 4
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2 holds
   zeroCoset(b2,b3) = the carrier of b3;

:: VECTSP10:funcnot 5 => VECTSP10:func 5
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  func lmultCoset(A2,A3) -> Function-like quasi_total Relation of [:the carrier of a1,CosetSet(a2,a3):],CosetSet(a2,a3) means
    for b1 being Element of the carrier of a1
    for b2 being Element of CosetSet(a2,a3)
    for b3 being Element of the carrier of a2
          st b2 = b3 + a3
       holds it .(b1,b2) = (b1 * b3) + a3;
end;

:: VECTSP10:def 5
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Function-like quasi_total Relation of [:the carrier of b1,CosetSet(b2,b3):],CosetSet(b2,b3) holds
      b4 = lmultCoset(b2,b3)
   iff
      for b5 being Element of the carrier of b1
      for b6 being Element of CosetSet(b2,b3)
      for b7 being Element of the carrier of b2
            st b6 = b7 + b3
         holds b4 .(b5,b6) = (b5 * b7) + b3;

:: VECTSP10:funcnot 6 => VECTSP10:func 6
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  func VectQuot(A2,A3) -> non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over a1 means
    the carrier of it = CosetSet(a2,a3) & the addF of it = addCoset(a2,a3) & 0. it = zeroCoset(a2,a3) & the lmult of it = lmultCoset(a2,a3);
end;

:: VECTSP10:def 6
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over b1 holds
      b4 = VectQuot(b2,b3)
   iff
      the carrier of b4 = CosetSet(b2,b3) & the addF of b4 = addCoset(b2,b3) & 0. b4 = zeroCoset(b2,b3) & the lmult of b4 = lmultCoset(b2,b3);

:: VECTSP10:th 22
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2 holds
   zeroCoset(b2,b3) = (0. b2) + b3 & 0. VectQuot(b2,b3) = zeroCoset(b2,b3);

:: VECTSP10:th 23
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Element of the carrier of VectQuot(b2,b3) holds
   b4 is Coset of b3 &
    (ex b5 being Element of the carrier of b2 st
       b4 = b5 + b3);

:: VECTSP10:th 24
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Element of the carrier of b2 holds
   b4 + b3 is Coset of b3 & b4 + b3 is Element of the carrier of VectQuot(b2,b3);

:: VECTSP10:th 25
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Coset of b3 holds
   b4 is Element of the carrier of VectQuot(b2,b3);

:: VECTSP10:th 26
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Element of the carrier of VectQuot(b2,b3)
for b5 being Element of the carrier of b2
for b6 being Element of the carrier of b1
      st b4 = b5 + b3
   holds b6 * b4 = (b6 * b5) + b3;

:: VECTSP10:th 27
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4, b5 being Element of the carrier of VectQuot(b2,b3)
for b6, b7 being Element of the carrier of b2
      st b4 = b6 + b3 & b5 = b7 + b3
   holds b4 + b5 = (b6 + b7) + b3;

:: VECTSP10:th 28
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Function-like quasi_total additive homogeneous Relation of the carrier of b3,the carrier of b1
for b5 being Element of the carrier of b2
for b6 being Element of the carrier of b3 + Lin {b5}
   st b5 = b6 & not b5 in b3
for b7 being Element of the carrier of b1 holds
   ex b8 being Function-like quasi_total additive homogeneous Relation of the carrier of b3 + Lin {b5},the carrier of b1 st
      b8 | the carrier of b3 = b4 & b8 . b6 = b7;

:: VECTSP10:exreg 5
registration
  let a1 be non empty right_zeroed addLoopStr;
  let a2 be non empty VectSpStr over a1;
  cluster Relation-like Function-like non empty quasi_total additive 0-preserving total Relation of the carrier of a2,the carrier of a1;
end;

:: VECTSP10:condreg 1
registration
  let a1 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_zeroed VectSpStr over a1;
  cluster Function-like quasi_total additive -> 0-preserving (Relation of the carrier of a2,the carrier of a1);
end;

:: VECTSP10:condreg 2
registration
  let a1 be non empty right_complementable add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable add-associative right_zeroed VectSp-like VectSpStr over a1;
  cluster Function-like quasi_total homogeneous -> 0-preserving (Relation of the carrier of a2,the carrier of a1);
end;

:: VECTSP10:funcreg 8
registration
  let a1 be non empty ZeroStr;
  let a2 be non empty VectSpStr over a1;
  cluster 0Functional a2 -> Function-like constant quasi_total;
end;

:: VECTSP10:exreg 6
registration
  let a1 be non empty ZeroStr;
  let a2 be non empty VectSpStr over a1;
  cluster Relation-like Function-like constant non empty quasi_total total Relation of the carrier of a2,the carrier of a1;
end;

:: VECTSP10:attrnot 1 => VECTSP10:attr 1
definition
  let a1 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_zeroed VectSpStr over a1;
  let a3 be Function-like quasi_total 0-preserving Relation of the carrier of a2,the carrier of a1;
  redefine attr a3 is constant means
    a3 = 0Functional a2;
end;

:: VECTSP10:dfs 7
definiens
  let a1 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_zeroed VectSpStr over a1;
  let a3 be Function-like quasi_total 0-preserving Relation of the carrier of a2,the carrier of a1;
To prove
     a1 is constant
it is sufficient to prove
  thus a3 = 0Functional a2;

:: VECTSP10:def 7
theorem
for b1 being non empty right_complementable add-associative right_zeroed doubleLoopStr
for b2 being non empty right_zeroed VectSpStr over b1
for b3 being Function-like quasi_total 0-preserving Relation of the carrier of b2,the carrier of b1 holds
      b3 is constant
   iff
      b3 = 0Functional b2;

:: VECTSP10:exreg 7
registration
  let a1 be non empty right_complementable add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_zeroed VectSpStr over a1;
  cluster Relation-like Function-like constant non empty quasi_total additive 0-preserving total Relation of the carrier of a2,the carrier of a1;
end;

:: VECTSP10:condreg 3
registration
  let a1 be non empty 1-sorted;
  let a2 be non empty VectSpStr over a1;
  cluster Function-like non constant quasi_total -> non trivial (Relation of the carrier of a2,the carrier of a1);
end;

:: VECTSP10:exreg 8
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  cluster Relation-like Function-like non constant non empty quasi_total non trivial additive homogeneous total Relation of the carrier of a2,the carrier of a1;
end;

:: VECTSP10:condreg 4
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  cluster Function-like quasi_total trivial -> constant (Relation of the carrier of a2,the carrier of a1);
end;

:: VECTSP10:funcnot 7 => VECTSP10:func 7
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Element of the carrier of a2;
  let a4 be Linear_Compl of Lin {a3};
  assume a3 <> 0. a2;
  func coeffFunctional(A3,A4) -> Function-like non constant quasi_total non trivial additive homogeneous Relation of the carrier of a2,the carrier of a1 means
    it . a3 = 1_ a1 & it | the carrier of a4 = 0Functional a4;
end;

:: VECTSP10:def 8
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Linear_Compl of Lin {b3}
   st b3 <> 0. b2
for b5 being Function-like non constant quasi_total non trivial additive homogeneous Relation of the carrier of b2,the carrier of b1 holds
      b5 = coeffFunctional(b3,b4)
   iff
      b5 . b3 = 1_ b1 & b5 | the carrier of b4 = 0Functional b4;

:: VECTSP10:th 29
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Function-like non constant quasi_total 0-preserving Relation of the carrier of b2,the carrier of b1 holds
   ex b4 being Element of the carrier of b2 st
      b4 <> 0. b2 & b3 . b4 <> 0. b1;

:: VECTSP10:th 30
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Element of the carrier of b1
for b5 being Linear_Compl of Lin {b3}
      st b3 <> 0. b2
   holds (coeffFunctional(b3,b5)) . (b4 * b3) = b4;

:: VECTSP10:th 31
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Element of the carrier of b2
for b5 being Linear_Compl of Lin {b3}
      st b3 <> 0. b2 & b4 in b5
   holds (coeffFunctional(b3,b5)) . b4 = 0. b1;

:: VECTSP10:th 32
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr
for b2 being non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3, b4 being Element of the carrier of b2
for b5 being Element of the carrier of b1
for b6 being Linear_Compl of Lin {b3}
      st b3 <> 0. b2 & b4 in b6
   holds (coeffFunctional(b3,b6)) . ((b5 * b3) + b4) = b5;

:: VECTSP10:th 33
theorem
for b1 being non empty addLoopStr
for b2 being non empty VectSpStr over b1
for b3, b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b1
for b5 being Element of the carrier of b2 holds
   (b3 - b4) . b5 = (b3 . b5) - (b4 . b5);

:: VECTSP10:funcreg 9
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  cluster a2 *' -> non empty non trivial strict;
end;

:: VECTSP10:funcnot 8 => VECTSP10:func 8
definition
  let a1 be non empty ZeroStr;
  let a2 be non empty VectSpStr over a1;
  let a3 be Function-like quasi_total Relation of the carrier of a2,the carrier of a1;
  func ker A3 -> Element of bool the carrier of a2 equals
    {b1 where b1 is Element of the carrier of a2: a3 . b1 = 0. a1};
end;

:: VECTSP10:def 9
theorem
for b1 being non empty ZeroStr
for b2 being non empty VectSpStr over b1
for b3 being Function-like quasi_total Relation of the carrier of b2,the carrier of b1 holds
   ker b3 = {b4 where b4 is Element of the carrier of b2: b3 . b4 = 0. b1};

:: VECTSP10:funcreg 10
registration
  let a1 be non empty right_zeroed addLoopStr;
  let a2 be non empty VectSpStr over a1;
  let a3 be Function-like quasi_total 0-preserving Relation of the carrier of a2,the carrier of a1;
  cluster ker a3 -> non empty;
end;

:: VECTSP10:th 34
theorem
for b1 being non empty right_complementable add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Function-like quasi_total additive homogeneous Relation of the carrier of b2,the carrier of b1 holds
   ker b3 is linearly-closed(b1, b2);

:: VECTSP10:attrnot 2 => VECTSP10:attr 2
definition
  let a1 be non empty ZeroStr;
  let a2 be non empty VectSpStr over a1;
  let a3 be Function-like quasi_total Relation of the carrier of a2,the carrier of a1;
  attr a3 is degenerated means
    ker a3 <> {0. a2};
end;

:: VECTSP10:dfs 10
definiens
  let a1 be non empty ZeroStr;
  let a2 be non empty VectSpStr over a1;
  let a3 be Function-like quasi_total Relation of the carrier of a2,the carrier of a1;
To prove
     a3 is degenerated
it is sufficient to prove
  thus ker a3 <> {0. a2};

:: VECTSP10:def 10
theorem
for b1 being non empty ZeroStr
for b2 being non empty VectSpStr over b1
for b3 being Function-like quasi_total Relation of the carrier of b2,the carrier of b1 holds
      b3 is degenerated(b1, b2)
   iff
      ker b3 <> {0. b2};

:: VECTSP10:condreg 5
registration
  let a1 be non empty non degenerated doubleLoopStr;
  let a2 be non empty non trivial VectSpStr over a1;
  cluster Function-like quasi_total 0-preserving non degenerated -> non constant (Relation of the carrier of a2,the carrier of a1);
end;

:: VECTSP10:funcnot 9 => VECTSP10:func 9
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Function-like quasi_total additive homogeneous Relation of the carrier of a2,the carrier of a1;
  func Ker A3 -> non empty strict Subspace of a2 means
    the carrier of it = ker a3;
end;

:: VECTSP10:def 11
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Function-like quasi_total additive homogeneous Relation of the carrier of b2,the carrier of b1
for b4 being non empty strict Subspace of b2 holds
      b4 = Ker b3
   iff
      the carrier of b4 = ker b3;

:: VECTSP10:funcnot 10 => VECTSP10:func 10
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Subspace of a2;
  let a4 be Function-like quasi_total additive Relation of the carrier of a2,the carrier of a1;
  assume the carrier of a3 c= ker a4;
  func QFunctional(A4,A3) -> Function-like quasi_total additive Relation of the carrier of VectQuot(a2,a3),the carrier of a1 means
    for b1 being Element of the carrier of VectQuot(a2,a3)
    for b2 being Element of the carrier of a2
          st b1 = b2 + a3
       holds it . b1 = a4 . b2;
end;

:: VECTSP10:def 12
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Function-like quasi_total additive Relation of the carrier of b2,the carrier of b1
   st the carrier of b3 c= ker b4
for b5 being Function-like quasi_total additive Relation of the carrier of VectQuot(b2,b3),the carrier of b1 holds
      b5 = QFunctional(b4,b3)
   iff
      for b6 being Element of the carrier of VectQuot(b2,b3)
      for b7 being Element of the carrier of b2
            st b6 = b7 + b3
         holds b5 . b6 = b4 . b7;

:: VECTSP10:th 35
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Subspace of b2
for b4 being Function-like quasi_total additive homogeneous Relation of the carrier of b2,the carrier of b1
      st the carrier of b3 c= ker b4
   holds QFunctional(b4,b3) is homogeneous(b1, VectQuot(b2,b3));

:: VECTSP10:funcnot 11 => VECTSP10:func 11
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Function-like quasi_total additive homogeneous Relation of the carrier of a2,the carrier of a1;
  func CQFunctional A3 -> Function-like quasi_total additive homogeneous Relation of the carrier of VectQuot(a2,Ker a3),the carrier of a1 equals
    QFunctional(a3,Ker a3);
end;

:: VECTSP10:def 13
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Function-like quasi_total additive homogeneous Relation of the carrier of b2,the carrier of b1 holds
   CQFunctional b3 = QFunctional(b3,Ker b3);

:: VECTSP10:th 36
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr
for b2 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b3 being Function-like quasi_total additive homogeneous Relation of the carrier of b2,the carrier of b1
for b4 being Element of the carrier of VectQuot(b2,Ker b3)
for b5 being Element of the carrier of b2
      st b4 = b5 + Ker b3
   holds (CQFunctional b3) . b4 = b3 . b5;

:: VECTSP10:funcreg 11
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  let a2 be non empty non trivial right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Function-like non constant quasi_total additive homogeneous Relation of the carrier of a2,the carrier of a1;
  cluster CQFunctional a3 -> Function-like non constant quasi_total additive homogeneous;
end;

:: VECTSP10:funcreg 12
registration
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive doubleLoopStr;
  let a2 be non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over a1;
  let a3 be Function-like quasi_total additive homogeneous Relation of the carrier of a2,the carrier of a1;
  cluster CQFunctional a3 -> Function-like quasi_total additive homogeneous non degenerated;
end;