Article COLLSP, MML version 4.99.1005

:: COLLSP:modenot 1 => COLLSP:mode 1
definition
  let a1 be set;
  mode Relation3 of A1 means
    it c= [:a1,a1,a1:];
end;

:: COLLSP:dfs 1
definiens
  let a1, a2 be set;
To prove
     a2 is Relation3 of a1
it is sufficient to prove
  thus a2 c= [:a1,a1,a1:];

:: COLLSP:def 1
theorem
for b1, b2 being set holds
   b2 is Relation3 of b1
iff
   b2 c= [:b1,b1,b1:];

:: COLLSP:th 2
theorem
for b1 being set
      st b1 <> {}
   holds ex b2 being set st
      ({b2} <> b1 implies ex b3, b4 being set st
         b3 <> b4 & b3 in b1 & b4 in b1);

:: COLLSP:structnot 1 => COLLSP:struct 1
definition
  struct(1-sorted) CollStr(#
    carrier -> set,
    Collinearity -> Relation3 of the carrier of it
  #);
end;

:: COLLSP:attrnot 1 => COLLSP:attr 1
definition
  let a1 be CollStr;
  attr a1 is strict;
end;

:: COLLSP:exreg 1
registration
  cluster strict CollStr;
end;

:: COLLSP:aggrnot 1 => COLLSP:aggr 1
definition
  let a1 be set;
  let a2 be Relation3 of a1;
  aggr CollStr(#a1,a2#) -> strict CollStr;
end;

:: COLLSP:selnot 1 => COLLSP:sel 1
definition
  let a1 be CollStr;
  sel the Collinearity of a1 -> Relation3 of the carrier of a1;
end;

:: COLLSP:exreg 2
registration
  cluster non empty strict CollStr;
end;

:: COLLSP:prednot 1 => COLLSP:pred 1
definition
  let a1 be non empty CollStr;
  let a2, a3, a4 be Element of the carrier of a1;
  pred A2,A3,A4 is_collinear means
    [a2,a3,a4] in the Collinearity of a1;
end;

:: COLLSP:dfs 2
definiens
  let a1 be non empty CollStr;
  let a2, a3, a4 be Element of the carrier of a1;
To prove
     a2,a3,a4 is_collinear
it is sufficient to prove
  thus [a2,a3,a4] in the Collinearity of a1;

:: COLLSP:def 2
theorem
for b1 being non empty CollStr
for b2, b3, b4 being Element of the carrier of b1 holds
   b2,b3,b4 is_collinear
iff
   [b2,b3,b4] in the Collinearity of b1;

:: COLLSP:attrnot 2 => COLLSP:attr 2
definition
  let a1 be non empty CollStr;
  attr a1 is reflexive means
    for b1, b2, b3 being Element of the carrier of a1
          st (b1 <> b2 & b1 <> b3 implies b2 = b3)
       holds [b1,b2,b3] in the Collinearity of a1;
end;

:: COLLSP:dfs 3
definiens
  let a1 be non empty CollStr;
To prove
     a1 is reflexive
it is sufficient to prove
  thus for b1, b2, b3 being Element of the carrier of a1
          st (b1 <> b2 & b1 <> b3 implies b2 = b3)
       holds [b1,b2,b3] in the Collinearity of a1;

:: COLLSP:def 3
theorem
for b1 being non empty CollStr holds
      b1 is reflexive
   iff
      for b2, b3, b4 being Element of the carrier of b1
            st (b2 <> b3 & b2 <> b4 implies b3 = b4)
         holds [b2,b3,b4] in the Collinearity of b1;

:: COLLSP:attrnot 3 => COLLSP:attr 3
definition
  let a1 be non empty CollStr;
  attr a1 is transitive means
    for b1, b2, b3, b4, b5 being Element of the carrier of a1
          st b1 <> b2 & [b1,b2,b3] in the Collinearity of a1 & [b1,b2,b4] in the Collinearity of a1 & [b1,b2,b5] in the Collinearity of a1
       holds [b3,b4,b5] in the Collinearity of a1;
end;

:: COLLSP:dfs 4
definiens
  let a1 be non empty CollStr;
To prove
     a1 is transitive
it is sufficient to prove
  thus for b1, b2, b3, b4, b5 being Element of the carrier of a1
          st b1 <> b2 & [b1,b2,b3] in the Collinearity of a1 & [b1,b2,b4] in the Collinearity of a1 & [b1,b2,b5] in the Collinearity of a1
       holds [b3,b4,b5] in the Collinearity of a1;

:: COLLSP:def 4
theorem
for b1 being non empty CollStr holds
      b1 is transitive
   iff
      for b2, b3, b4, b5, b6 being Element of the carrier of b1
            st b2 <> b3 & [b2,b3,b4] in the Collinearity of b1 & [b2,b3,b5] in the Collinearity of b1 & [b2,b3,b6] in the Collinearity of b1
         holds [b4,b5,b6] in the Collinearity of b1;

:: COLLSP:exreg 3
registration
  cluster non empty strict reflexive transitive CollStr;
end;

:: COLLSP:modenot 2
definition
  mode CollSp is non empty reflexive transitive CollStr;
end;

:: COLLSP:th 7
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4 being Element of the carrier of b1
      st (b2 <> b3 & b2 <> b4 implies b3 = b4)
   holds b2,b3,b4 is_collinear;

:: COLLSP:th 8
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4, b5, b6 being Element of the carrier of b1
      st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear & b2,b3,b6 is_collinear
   holds b4,b5,b6 is_collinear;

:: COLLSP:th 9
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4 being Element of the carrier of b1
      st b2,b3,b4 is_collinear
   holds b3,b2,b4 is_collinear & b2,b4,b3 is_collinear;

:: COLLSP:th 10
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3 being Element of the carrier of b1 holds
b2,b3,b2 is_collinear;

:: COLLSP:th 11
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4, b5 being Element of the carrier of b1
      st b2 <> b3 & b2,b3,b4 is_collinear & b2,b3,b5 is_collinear
   holds b2,b4,b5 is_collinear;

:: COLLSP:th 12
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4 being Element of the carrier of b1
      st b2,b3,b4 is_collinear
   holds b3,b2,b4 is_collinear;

:: COLLSP:th 13
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4 being Element of the carrier of b1
      st b2,b3,b4 is_collinear
   holds b3,b4,b2 is_collinear;

:: COLLSP:th 14
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4, b5, b6 being Element of the carrier of b1
      st b2 <> b3 & b4,b5,b2 is_collinear & b4,b5,b3 is_collinear & b2,b3,b6 is_collinear
   holds b4,b5,b6 is_collinear;

:: COLLSP:funcnot 1 => COLLSP:func 1
definition
  let a1 be non empty reflexive transitive CollStr;
  let a2, a3 be Element of the carrier of a1;
  func Line(A2,A3) -> set equals
    {b1 where b1 is Element of the carrier of a1: a2,a3,b1 is_collinear};
end;

:: COLLSP:def 5
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3 being Element of the carrier of b1 holds
Line(b2,b3) = {b4 where b4 is Element of the carrier of b1: b2,b3,b4 is_collinear};

:: COLLSP:th 16
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3 being Element of the carrier of b1 holds
b2 in Line(b2,b3) & b3 in Line(b2,b3);

:: COLLSP:th 17
theorem
for b1 being non empty reflexive transitive CollStr
for b2, b3, b4 being Element of the carrier of b1 holds
   b2,b3,b4 is_collinear
iff
   b4 in Line(b2,b3);

:: COLLSP:attrnot 4 => COLLSP:attr 4
definition
  let a1 be non empty CollStr;
  attr a1 is proper means
    ex b1, b2, b3 being Element of the carrier of a1 st
       not b1,b2,b3 is_collinear;
end;

:: COLLSP:dfs 6
definiens
  let a1 be non empty CollStr;
To prove
     a1 is proper
it is sufficient to prove
  thus ex b1, b2, b3 being Element of the carrier of a1 st
       not b1,b2,b3 is_collinear;

:: COLLSP:def 6
theorem
for b1 being non empty CollStr holds
      b1 is proper
   iff
      ex b2, b3, b4 being Element of the carrier of b1 st
         not b2,b3,b4 is_collinear;

:: COLLSP:exreg 4
registration
  cluster non empty strict reflexive transitive proper CollStr;
end;

:: COLLSP:th 19
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
      st b2 <> b3
   holds ex b4 being Element of the carrier of b1 st
      not b2,b3,b4 is_collinear;

:: COLLSP:modenot 3 => COLLSP:mode 2
definition
  let a1 be non empty reflexive transitive proper CollStr;
  mode LINE of A1 means
    ex b1, b2 being Element of the carrier of a1 st
       b1 <> b2 & it = Line(b1,b2);
end;

:: COLLSP:dfs 7
definiens
  let a1 be non empty reflexive transitive proper CollStr;
  let a2 be set;
To prove
     a2 is LINE of a1
it is sufficient to prove
  thus ex b1, b2 being Element of the carrier of a1 st
       b1 <> b2 & a2 = Line(b1,b2);

:: COLLSP:def 7
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2 being set holds
      b2 is LINE of b1
   iff
      ex b3, b4 being Element of the carrier of b1 st
         b3 <> b4 & b2 = Line(b3,b4);

:: COLLSP:th 22
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
      st b2 = b3
   holds Line(b2,b3) = the carrier of b1;

:: COLLSP:th 23
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2 being LINE of b1 holds
   ex b3, b4 being Element of the carrier of b1 st
      b3 <> b4 & b3 in b2 & b4 in b2;

:: COLLSP:th 24
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
      st b2 <> b3
   holds ex b4 being LINE of b1 st
      b2 in b4 & b3 in b4;

:: COLLSP:th 25
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3, b4 being Element of the carrier of b1
for b5 being LINE of b1
      st b2 in b5 & b3 in b5 & b4 in b5
   holds b2,b3,b4 is_collinear;

:: COLLSP:th 26
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being LINE of b1
      st b2 c= b3
   holds b2 = b3;

:: COLLSP:th 27
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
for b4 being LINE of b1
      st b2 <> b3 & b2 in b4 & b3 in b4
   holds Line(b2,b3) c= b4;

:: COLLSP:th 28
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
for b4 being LINE of b1
      st b2 <> b3 & b2 in b4 & b3 in b4
   holds Line(b2,b3) = b4;

:: COLLSP:th 29
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being LINE of b1
      st b2 <> b3 & b2 in b4 & b3 in b4 & b2 in b5 & b3 in b5
   holds b4 = b5;

:: COLLSP:th 30
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being LINE of b1
      st b2 <> b3 & b2 meets b3
   holds ex b4 being Element of the carrier of b1 st
      b2 /\ b3 = {b4};

:: COLLSP:th 31
theorem
for b1 being non empty reflexive transitive proper CollStr
for b2, b3 being Element of the carrier of b1
      st b2 <> b3
   holds Line(b2,b3) <> the carrier of b1;