reserve            S for satisfying_CongruenceSymmetry
                         satisfying_CongruenceEquivalenceRelation
                         TarskiGeometryStruct,
         a,b,c,d,e,f for POINT of S;
reserve S for satisfying_CongruenceSymmetry
              satisfying_CongruenceEquivalenceRelation
              satisfying_CongruenceIdentity
              satisfying_SegmentConstruction
              satisfying_SAS
              TarskiGeometryStruct,
        q,a,b,c,a9,b9,c9,x1,x2 for POINT of S;
reserve S for satisfying_CongruenceIdentity
              satisfying_SegmentConstruction
              satisfying_BetweennessIdentity
              satisfying_Pasch
              TarskiGeometryStruct,
        a,b,c,d for POINT of S;
reserve       S for satisfying_Tarski-model TarskiGeometryStruct,
        a,b,c,d for POINT of S;
reserve         S for satisfying_CongruenceIdentity
                      satisfying_SegmentConstruction
                      satisfying_BetweennessIdentity
                      satisfying_Pasch
                      TarskiGeometryStruct,
        a,b,c,d,e for POINT of S;
reserve       S for satisfying_Tarski-model
                    TarskiGeometryStruct,
      a,b,c,d,p for POINT of S;
reserve                   S for satisfying_Tarski-model TarskiGeometryStruct,
        a,b,c,d,a9,b9,c9,d9 for POINT of S;
reserve S for satisfying_Tarski-model
              TarskiGeometryStruct,
        a,b,c,d,a9,b9,c9,d9,p,q for POINT of S;
reserve                       S for satisfying_Tarski-model
                                    TarskiGeometryStruct,
        a,b,c,d,e,f,a9,b9,c9,d9 for POINT of S;
reserve p for POINT of S;
reserve r for POINT of S;
reserve x,y for POINT of S;
reserve S for non empty satisfying_Tarski-model TarskiGeometryStruct;
reserve p,q,r,s for POINT of S;
reserve S for non empty satisfying_CongruenceIdentity
              satisfying_SegmentConstruction
              satisfying_BetweennessIdentity
              satisfying_Pasch
              TarskiGeometryStruct,
  a,b,p,q for POINT of S;
reserve S for non empty satisfying_Tarski-model TarskiGeometryStruct,
                  A,B for Subset of S,
        a,b,c,p,q,r,s for POINT of S;

theorem
  (ex p,q st p <> q) implies (Collinear a,b,c iff
  (ex A st A is_line & a in A & b in A & c in A))
  proof
    assume ex p,q st p <> q;
    then consider p,q such that
A1: p <> q;
A2: (ex A st A is_line & a in A & b in A & c in A) implies Collinear a,b,c
    proof
      assume ex A st A is_line & a in A & b in A & c in A;
      then consider A such that
A3:   A is_line and
A4:   a in A and
A5:   b in A and
A6:   c in A;
      per cases;
      suppose a <> b;
        then c in Line(a,b) by A3,A4,A5,A6,Satz6p18;
        then ex x being POINT of S st c = x & Collinear a,b,x;
        hence thesis;
      end;
      suppose a = b;
        hence thesis by Satz3p1;
      end;
    end;
    Collinear a,b,c implies (ex A st A is_line & a in A & b in A & c in A)
    proof
      assume
A8:   Collinear a,b,c;
      per cases;
      suppose
A9:     a = b;
        per cases;
        suppose
A10:      a = c;
          per cases by A1;
          suppose
A11:        a <> p;
            set A = Line(a,p);
            now
              thus A is_line by A11;
              Collinear a,p,a by Satz3p1;
              hence a in A & b in A & c in A by A9,A10;
            end;
            hence ex A st A is_line & a in A & b in A & c in A;
          end;
          suppose
A12:        a <> q;
            set A = Line(a,q);
            now
              thus A is_line by A12;
              Collinear a,q,a by Satz3p1;
              hence a in A & b in A & c in A by A9,A10;
            end;
            hence ex A st A is_line & a in A & b in A & c in A;
          end;
        end;
        suppose
A13:      a <> c;
          set A = Line(a,c);
          now
            thus A is_line by A13;
            Collinear a,c,a & Collinear a,c,c by Satz3p1;
            hence a in A & b in A & c in A by A9;
          end;
          hence ex A st A is_line & a in A & b in A & c in A;
        end;
      end;
      suppose
A14:    a <> b;
        Collinear a,b,a & Collinear a,b,b by Satz3p1;
        then
A15:    a in Line(a,b) & b in Line(a,b) & c in Line(a,b) by A8;
        reconsider A = Line(a,b) as Subset of S;
        A is_line by A14;
        hence ex A st A is_line & a in A & b in A & c in A by A15;
      end;
    end;
    hence thesis by A2;
  end;
