 reserve i,n for Nat;
 reserve r for Real;
 reserve ra for Element of F_Real;
 reserve a,b,c for non zero Element of F_Real;
 reserve u,v for Element of TOP-REAL 3;
 reserve p1 for FinSequence of (1-tuples_on REAL);
 reserve pf,uf for FinSequence of F_Real;
 reserve N for Matrix of 3,F_Real;
 reserve K for Field;
 reserve k for Element of K;
 reserve N,N1,N2 for invertible Matrix of 3,F_Real;
 reserve P,P1,P2,P3 for Point of ProjectiveSpace TOP-REAL 3;

theorem Th24:
  for a,b,c,ia,ib,ic being non zero Element of F_Real
  for P being Point of ProjectiveSpace TOP-REAL 3
  for N being invertible Matrix of 3,F_Real
  st P = Dir |[a,b,c]| &
  ia = 1/a & ib = 1/b & ic = 1/c &
  N = <* <* ia,0,0 *>,
         <* 0,ib,0 *>,
         <* 0,0,ic *> *>
  holds (homography(N)).P = Dir |[1,1,1]|
  proof
    let a,b,c,ia,ib,ic be non zero Element of F_Real;
    let P be Point of ProjectiveSpace TOP-REAL 3;
    let N be invertible Matrix of 3,F_Real;
    assume that
A1: P = Dir |[a,b,c]| and
A2: ia = 1/a and
A3: ib = 1/b and
A4: ic = 1/c and
A5: N = <* <* ia,0,0 *>,<* 0,ib,0 *>,<* 0,0,ic *> *>;
    consider u,v being Element of TOP-REAL 3,
    uf being FinSequence of F_Real,
    p being FinSequence of (1-tuples_on REAL) such that
A15: P = Dir u and
A16: u is not zero and
A17: u = uf and
A18: p = N * uf and
A19: v = M2F p and
A20: v is not zero and
A21: (homography(N)).P = Dir v by ANPROJ_8:def 4;
    |[a,b,c]| is non zero
    proof
      assume |[a,b,c]| is zero;
      then a is zero & b is zero & c is zero by EUCLID_5:4,FINSEQ_1:78;
      hence thesis;
    end;
    then are_Prop u,|[a,b,c]| by A1,A15,A16,ANPROJ_1:22;
    then consider d be Real such that
A22: d <> 0 and
A23: u = d * |[a,b,c]| by ANPROJ_1:1;
A24: u = <* d * a, d * b, d * c *> by A23,EUCLID_5:8;
A25: uf.1 = d * a & uf.2 = d * b & uf.3 = d * c by A24,A17;
    u in TOP-REAL 3;
    then u in REAL 3 by EUCLID:22; then
A26: <*uf*>@ = <* <* d * a *>,<* d * b *>, <* d * c *> *>
      by A25,A17,EUCLID_8:50,ANPROJ_8:77;
    reconsider Mu = <*uf*>@ as Matrix of 3,1,F_Real by A26,ANPROJ_8:4;
    reconsider z = 0, da = d * a,db = d * b,dc = d * c as Element of F_Real
      by XREAL_0:def 1;
A27: p = N * Mu by A18,LAPLACE:def 9
      .= <* <* ia * da + z * db + z * dc *>,
            <* z * da + ib * db + z * dc *>,
            <* z * da + z * db + ic * dc *> *> by A26,A5,Th08
      .= <* <* ia * da *>, <* ib * db *>, <* ic * dc *> *>;
A28: v = |[ ia * da, ib * db, ic * dc ]|
    proof
A29:  <* ia * da *>.1 = ia * da & <* ib * db *>.1 = ib * db &
      <* ic * dc *>.1 = ic * dc;
A30:  p.1 = <* ia * da *> & p.2 = <* ib * db *> & p.3 = <* ic * dc *>
        by A27;
      len p = 3 by A27,FINSEQ_1:45;
      hence thesis by A29,A30,A19,ANPROJ_8:def 2;
    end;
A31: a is non zero & b is non zero & c is non zero;
    now
      thus ia * da = (1/a) * a * d by A2
      .= 1 * d by A31,XCMPLX_1:106
      .= d;
      thus ib * db = (1/b) * b * d by A3
      .= 1 * d by A31,XCMPLX_1:106
      .= d;
      thus ic * dc = (1/c) * c * d by A4
      .= 1 * d by A31,XCMPLX_1:106
      .= d;
    end;
    then v = |[ d * 1,d * 1, d * 1]| by A28
          .= d * |[1,1,1]| by EUCLID_5:8;
    then are_Prop v,|[1,1,1]| by A22,ANPROJ_1:1;
    hence thesis by Th11,A20,ANPROJ_1:22,A21;
end;
