reserve a,b,r for non unit non zero Real;
reserve X for non empty set,
        x for Tuple of 4,X;
reserve V             for RealLinearSpace,
        A,B,C,P,Q,R,S for Element of V;
reserve x           for Tuple of 4,the carrier of V,
        P9,Q9,R9,S9 for Element of V;

theorem Th35:
  P,Q,R,S are_collinear & P,Q,R,S are_mutually_distinct implies
  cross-ratio(P,R,Q,S) = 1 - cross-ratio(P,Q,R,S)
  proof
    assume that
A1: P,Q,R,S are_collinear and
A2: P,Q,R,S are_mutually_distinct;
A3: P <> R & P <> S & R <> Q & S <> Q & S <> R & P <> Q  by A2,ZFMISC_1:def 6;
    set r1 = affine-ratio(R,P,Q), r2 = affine-ratio(S,P,Q),
        s1 = affine-ratio(Q,P,R), s2 = affine-ratio(S,P,R),
         r = affine-ratio(P,Q,R);
A4: P,Q,R are_collinear by A1;
    then
A5: r1 = 1 / (1 -r) & s1 = r / (r - 1) by A3,Th10,Th13;
    P,Q,R are_collinear by A1;
    then
A6: r - 1 <> 0 by A3,Th07;
A7: 1 - s1 = r1
    proof
      1 - s1 = 1 - r / (r - 1) by A4,A3,Th10
            .= (r - 1) / (r - 1) - r / (r - 1) by A6,XCMPLX_1:60
            .= (-1) / (r - 1)
            .= 1 / (-(r - 1)) by XCMPLX_1:192;
      hence thesis by A5;
    end;
    R <> Q & R,P,Q are_collinear by A1,A2,ZFMISC_1:def 6;
    then
A8: r2 * (P - R) = r2 * (r1 * (Q - R)) by Def02;
A9: S <> Q & S,P,Q are_collinear by A1,A2,ZFMISC_1:def 6;
A10: S <> R & S,P,R are_collinear by A1,A2,ZFMISC_1:def 6; then
A11: P - S = s2 * (R - S) by Def02;
    S,P,Q are_collinear by A1; then
A12: r2 <> 0 by A3,Th06;
    S,P,R are_collinear by A1; then
A13: s2 <> 0 by A3,Th06;
    P - R = P + 0.V - R
         .= P + (-S + S) - R by RLVECT_1:5
         .= ((P - S) + S) - R by RLVECT_1:def 3
         .= (P - S) + (S - R) by RLVECT_1:def 3
         .= s2 * (R - S) + (S - R) by A10,Def02
         .= s2 * (R - S) + -(R - S) by RLVECT_1:33
         .= s2 * (R - S) + (-1) * (R - S) by RLVECT_1:16
         .= (s2 - 1) * (R - S) by RLVECT_1:def 6;
    then
A14: r2 * (P - R) = (r2 * (s2 - 1)) * (R - S) by RLVECT_1:def 7;
    r1 * (Q - R) = r1 * (Q + 0.V - R)
                .= r1 * (Q + (-S + S) - R) by RLVECT_1:5
                .= r1 * (Q - S + S - R) by RLVECT_1:def 3
                .= r1 * ((Q - S) + (S - R)) by RLVECT_1:def 3
                .= r1 * (Q - S) + r1 * (S - R) by RLVECT_1:def 5
                .= r1 * (Q - S) + r1 * ( - (R - S)) by RLVECT_1:33
                .= r1 * (Q - S) + r1 * ((-1) * (R - S)) by RLVECT_1:16
                .= r1 * (Q - S) + (r1 * (-1)) * (R - S) by RLVECT_1:def 7
                .= r1 * (Q - S) + (-r1) * (R - S);
    then r2 * (r1 * (Q - R)) = r2 * (r1 * ((Q - S))) + r2 * ((-r1) * (R - S))
                              by RLVECT_1:def 5
                            .= (r2 * r1) * (Q - S) + r2 * ((-r1) * (R - S))
                              by RLVECT_1:def 7
                            .= r1 * (r2 * (Q - S)) + r2 * ((-r1) * (R - S))
                              by RLVECT_1:def 7
                            .= r1 * (s2 * (R - S)) + r2 * ((-r1) * (R - S))
                              by A9,Def02,A11
                            .= (r1 * s2) * (R - S) + r2 * ((-r1) * (R - S))
                              by RLVECT_1:def 7
                            .= (r1 * s2) * (R - S) + (r2 * (-r1)) * (R - S)
                              by RLVECT_1:def 7
                            .= (r1 * s2 + (r2 * (-r1))) * (R - S)
                              by RLVECT_1:def 6;
    then r2 * (s2 - 1) = r1 * s2 + (r2 * (-r1)) by A14,A8,A3,Th08;
    then r1 * r2 - r2 = r1 * s2 - r2 * s2;
    then (-s1) * r2 = (r1 - r2) * s2 by A7;
    then s1 * r2 = (r2 - r1) * s2;
    then s1 / s2 = (r2 - r1) / r2 by A12,A13,XCMPLX_1:94
                .= r2 / r2 - r1 / r2
                .= 1 - r1 / r2 by A12,XCMPLX_1:60;
    hence thesis;
  end;
