Article SYMSP_1, MML version 4.99.1005

:: SYMSP_1:structnot 1 => SYMSP_1:struct 1
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  struct(RelStrVectSpStr over a1) SymStr(#
    carrier -> set,
    addF -> Function-like quasi_total Relation of [:the carrier of it,the carrier of it:],the carrier of it,
    ZeroF -> Element of the carrier of it,
    lmult -> Function-like quasi_total Relation of [:the carrier of A1,the carrier of it:],the carrier of it,
    InternalRel -> Relation of the carrier of it,the carrier of it
  #);
end;

:: SYMSP_1:attrnot 1 => SYMSP_1:attr 1
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 SymStr over a1;
  attr a2 is strict;
end;

:: SYMSP_1:exreg 1
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  cluster strict SymStr over a1;
end;

:: SYMSP_1:aggrnot 1 => SYMSP_1:aggr 1
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 set;
  let a3 be Function-like quasi_total Relation of [:a2,a2:],a2;
  let a4 be Element of a2;
  let a5 be Function-like quasi_total Relation of [:the carrier of a1,a2:],a2;
  let a6 be Relation of a2,a2;
  aggr SymStr(#a2,a3,a4,a5,a6#) -> strict SymStr over a1;
end;

:: SYMSP_1:exreg 2
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  cluster non empty SymStr over a1;
end;

:: SYMSP_1:prednot 1 => ORDERS_2:pred 1
notation
  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 SymStr over a1;
  let a3, a4 be Element of the carrier of a2;
  synonym a3 _|_ a4 for a2 <= a3;
end;

:: SYMSP_1:funcreg 1
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 set;
  let a3 be Function-like quasi_total Relation of [:a2,a2:],a2;
  let a4 be Element of a2;
  let a5 be Function-like quasi_total Relation of [:the carrier of a1,a2:],a2;
  let a6 be Relation of a2,a2;
  cluster SymStr(#a2,a3,a4,a5,a6#) -> non empty strict;
end;

:: SYMSP_1:exreg 3
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  cluster non empty right_complementable Abelian add-associative right_zeroed SymStr over a1;
end;

:: SYMSP_1:attrnot 2 => SYMSP_1:attr 2
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 right_complementable Abelian add-associative right_zeroed SymStr over a1;
  attr a2 is SymSp-like means
    for b1, b2, b3, b4 being Element of the carrier of a2
    for b5 being Element of the carrier of a1 holds
       (b1 <> 0. a2 implies ex b6 being Element of the carrier of a2 st
           not b6 <= b1) &
        (b1 <= b2 implies b5 * b1 <= b2) &
        (b2 <= b1 & b3 <= b1 implies b2 + b3 <= b1) &
        (not b2 <= b1 implies ex b6 being Element of the carrier of a1 st
           b4 - (b6 * b2) <= b1) &
        (b1 <= b2 + b3 & b2 <= b3 + b1 implies b3 <= b1 + b2);
end;

:: SYMSP_1:dfs 1
definiens
  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 right_complementable Abelian add-associative right_zeroed SymStr over a1;
To prove
     a2 is SymSp-like
it is sufficient to prove
  thus for b1, b2, b3, b4 being Element of the carrier of a2
    for b5 being Element of the carrier of a1 holds
       (b1 <> 0. a2 implies ex b6 being Element of the carrier of a2 st
           not b6 <= b1) &
        (b1 <= b2 implies b5 * b1 <= b2) &
        (b2 <= b1 & b3 <= b1 implies b2 + b3 <= b1) &
        (not b2 <= b1 implies ex b6 being Element of the carrier of a1 st
           b4 - (b6 * b2) <= b1) &
        (b1 <= b2 + b3 & b2 <= b3 + b1 implies b3 <= b1 + b2);

:: SYMSP_1:def 1
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 SymStr over b1 holds
      b2 is SymSp-like(b1)
   iff
      for b3, b4, b5, b6 being Element of the carrier of b2
      for b7 being Element of the carrier of b1 holds
         (b3 <> 0. b2 implies ex b8 being Element of the carrier of b2 st
             not b8 <= b3) &
          (b3 <= b4 implies b7 * b3 <= b4) &
          (b4 <= b3 & b5 <= b3 implies b4 + b5 <= b3) &
          (not b4 <= b3 implies ex b8 being Element of the carrier of b1 st
             b6 - (b8 * b4) <= b3) &
          (b3 <= b4 + b5 & b4 <= b5 + b3 implies b5 <= b3 + b4);

:: SYMSP_1:exreg 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;
  cluster non empty right_complementable Abelian add-associative right_zeroed VectSp-like strict SymSp-like SymStr over a1;
end;

:: SYMSP_1:modenot 1
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible Abelian add-associative right_zeroed associative commutative well-unital distributive doubleLoopStr;
  mode SymSp of a1 is non empty right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over a1;
end;

:: SYMSP_1:th 11
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 SymSp-like SymStr over b1
for b3 being Element of the carrier of b2 holds
   0. b2 <= b3;

:: SYMSP_1:th 12
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 SymSp-like SymStr over b1
for b3, b4 being Element of the carrier of b2
      st b3 <= b4
   holds b4 <= b3;

:: SYMSP_1:th 13
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & b5 + b3 <= b4
   holds not b5 <= b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & b5 <= b4
   holds not b3 + b5 <= b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4 being Element of the carrier of b2
for b5 being Element of the carrier of b1
      st not b3 <= b4 & b5 <> 0. b1
   holds not b5 * b3 <= b4 & not b3 <= b5 * b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4 being Element of the carrier of b2
      st b3 <= b4
   holds - b3 <= b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & b3 + b5 <= b4
   holds not (((1_ b1) + 1_ b1) * b3) + b5 <= b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4 & b3 <= b5 & not b6 <= b5 & b6 <= b4
   holds not b3 + b6 <= b4 & not b3 + b6 <= b5;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4 being Element of the carrier of b2
      st b3 <> 0. b2 & b4 <> 0. b2
   holds ex b5 being Element of the carrier of b2 st
      not b5 <= b3 & not b5 <= b4;

:: SYMSP_1:th 22
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & b3 <> 0. b2 & b4 <> 0. b2 & b5 <> 0. b2
   holds ex b6 being Element of the carrier of b2 st
      not b6 <= b3 & not b6 <= b4 & not b6 <= b5;

:: SYMSP_1:th 23
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st b3 - b4 <= b5 & b3 - b6 <= b5
   holds b4 - b6 <= b5;

:: SYMSP_1:th 24
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
for b6, b7 being Element of the carrier of b1
      st not b3 <= b4 & b5 - (b6 * b3) <= b4 & b5 - (b7 * b3) <= b4
   holds b6 = b7;

:: SYMSP_1:th 25
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 SymSp-like SymStr over b1
for b3 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1
   holds b3 <= b3;

:: SYMSP_1:funcnot 1 => SYMSP_1:func 1
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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over a1;
  let a3, a4, a5 be Element of the carrier of a2;
  assume not a4 <= a3;
  func ProJ(A3,A4,A5) -> Element of the carrier of a1 means
    for b1 being Element of the carrier of a1
          st a5 - (b1 * a4) <= a3
       holds it = b1;
end;

:: SYMSP_1:def 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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
   st not b4 <= b3
for b6 being Element of the carrier of b1 holds
      b6 = ProJ(b3,b4,b5)
   iff
      for b7 being Element of the carrier of b1
            st b5 - (b7 * b4) <= b3
         holds b6 = b7;

:: SYMSP_1:th 27
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4
   holds b5 - ((ProJ(b4,b3,b5)) * b3) <= b4;

:: SYMSP_1: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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
for b6 being Element of the carrier of b1
      st not b3 <= b4
   holds ProJ(b4,b3,b6 * b5) = b6 * ProJ(b4,b3,b5);

:: SYMSP_1: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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4
   holds ProJ(b4,b3,b5 + b6) = (ProJ(b4,b3,b5)) + ProJ(b4,b3,b6);

:: SYMSP_1: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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
for b6 being Element of the carrier of b1
      st not b3 <= b4 & b6 <> 0. b1
   holds ProJ(b4,b6 * b3,b5) = b6 " * ProJ(b4,b3,b5);

:: SYMSP_1: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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
for b6 being Element of the carrier of b1
      st not b3 <= b4 & b6 <> 0. b1
   holds ProJ(b6 * b4,b3,b5) = ProJ(b4,b3,b5);

:: SYMSP_1: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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4 & b5 <= b4
   holds ProJ(b4,b3 + b5,b6) = ProJ(b4,b3,b6) & ProJ(b4,b3,b6 + b5) = ProJ(b4,b3,b6);

:: SYMSP_1:th 33
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4 & b5 <= b3 & b5 <= b6
   holds ProJ(b4 + b5,b3,b6) = ProJ(b4,b3,b6);

:: SYMSP_1:th 34
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & b5 - b3 <= b4
   holds ProJ(b4,b3,b5) = 1_ b1;

:: SYMSP_1:th 35
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 SymSp-like SymStr over b1
for b3, b4 being Element of the carrier of b2
      st not b3 <= b4
   holds ProJ(b4,b3,b3) = 1_ b1;

:: SYMSP_1:th 36
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4
   holds    b5 <= b4
   iff
      ProJ(b4,b3,b5) = 0. b1;

:: SYMSP_1:th 37
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4 & not b5 <= b4
   holds (ProJ(b4,b3,b6)) * ((ProJ(b4,b3,b5)) ") = ProJ(b4,b5,b6);

:: SYMSP_1:th 38
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & not b5 <= b4
   holds ProJ(b4,b3,b5) = (ProJ(b4,b5,b3)) ";

:: SYMSP_1:th 39
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & b3 <= b5 + b4
   holds ProJ(b4,b3,b5) = ProJ(b5,b3,b4);

:: SYMSP_1:th 40
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 SymSp-like SymStr over b1
for b3, b4, b5 being Element of the carrier of b2
      st not b3 <= b4 & not b5 <= b4
   holds ProJ(b5,b4,b3) = (- ((ProJ(b4,b3,b5)) ")) * ProJ(b3,b4,b5);

:: SYMSP_1:th 41
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4 & not b3 <= b5 & not b6 <= b4 & not b6 <= b5
   holds (ProJ(b3,b4,b5)) * ProJ(b6,b5,b4) = (ProJ(b4,b3,b6)) * ProJ(b5,b6,b3);

:: SYMSP_1:th 42
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4 & not b3 <= b5 & not b6 <= b4 & not b6 <= b5
   holds (ProJ(b4,b6,b3)) * ProJ(b3,b4,b5) = (ProJ(b5,b6,b3)) * ProJ(b6,b4,b5);

:: SYMSP_1:th 43
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 SymSp-like SymStr over b1
for b3, b4, b5, b6, b7, b8 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4 & not b3 <= b5 & not b6 <= b4 & not b6 <= b5 & not b7 <= b4
   holds ((ProJ(b4,b7,b3)) * ProJ(b3,b4,b5)) * ProJ(b5,b3,b8) = ((ProJ(b4,b7,b6)) * ProJ(b6,b4,b5)) * ProJ(b5,b6,b8);

:: SYMSP_1:th 44
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st not b3 <= b4 & not b5 <= b4 & not b6 <= b4
   holds (ProJ(b4,b3,b5)) * ProJ(b5,b4,b6) = (- ProJ(b4,b3,b6)) * ProJ(b6,b4,b5);

:: SYMSP_1:funcnot 2 => SYMSP_1:func 2
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 right_complementable Abelian add-associative right_zeroed VectSp-like SymSp-like SymStr over a1;
  let a3, a4, a5, a6 be Element of the carrier of a2;
  assume not a6 <= a5 & (1_ a1) + 1_ a1 <> 0. a1;
  func PProJ(A5,A6,A3,A4) -> Element of the carrier of a1 means
    for b1 being Element of the carrier of a2
          st not b1 <= a5 & not b1 <= a3
       holds it = ((ProJ(a5,a6,b1)) * ProJ(b1,a5,a3)) * ProJ(a3,b1,a4)
    if ex b1 being Element of the carrier of a2 st
       not b1 <= a5 & not b1 <= a3
    otherwise   case for b1 being Element of the carrier of a2
          st not b1 <= a5
       holds b1 <= a3;
    thus it = 0. a1;
  end;
;
end;

:: SYMSP_1:def 6
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
   st not b6 <= b5 & (1_ b1) + 1_ b1 <> 0. b1
for b7 being Element of the carrier of b1 holds
   (for b8 being Element of the carrier of b2
          st not b8 <= b5
       holds b8 <= b3 or    (b7 = PProJ(b5,b6,b3,b4)
    iff
       for b8 being Element of the carrier of b2
             st not b8 <= b5 & not b8 <= b3
          holds b7 = ((ProJ(b5,b6,b8)) * ProJ(b8,b5,b3)) * ProJ(b3,b8,b4))) &
    (for b8 being Element of the carrier of b2
          st not b8 <= b5
       holds b8 <= b3 implies    (b7 = PProJ(b5,b6,b3,b4)
    iff
       b7 = 0. b1));

:: SYMSP_1:th 47
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4 & b5 = 0. b2
   holds PProJ(b4,b3,b5,b6) = 0. b1;

:: SYMSP_1:th 48
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4
   holds    PProJ(b4,b3,b5,b6) = 0. b1
   iff
      b6 <= b5;

:: SYMSP_1:th 49
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4
   holds PProJ(b4,b3,b5,b6) = - PProJ(b4,b3,b6,b5);

:: SYMSP_1:th 50
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 SymSp-like SymStr over b1
for b3, b4, b5, b6 being Element of the carrier of b2
for b7 being Element of the carrier of b1
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4
   holds PProJ(b4,b3,b5,b7 * b6) = b7 * PProJ(b4,b3,b5,b6);

:: SYMSP_1:th 51
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 SymSp-like SymStr over b1
for b3, b4, b5, b6, b7 being Element of the carrier of b2
      st (1_ b1) + 1_ b1 <> 0. b1 & not b3 <= b4
   holds PProJ(b4,b3,b5,b6 + b7) = (PProJ(b4,b3,b5,b6)) + PProJ(b4,b3,b5,b7);