 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 Th18:
  for h1,h2 being Element of EnsHomography3 st
  h1 = homography(N1) & h2 = homography(N2) holds
  homography(N1 * N2) = h1 (*) h2
  proof
    let h1,h2 be Element of EnsHomography3;
    assume that
A1: h1 = homography(N1) and
A2: h2 = homography(N2);
    consider M1,M2 being invertible Matrix of 3,F_Real such that
A3: h1 = homography(M1) and
A4: h2 = homography(M2) and
A5: h1 (*) h2 = homography(M1 * M2) by Def01;
    reconsider h12 = h1 (*) h2 as
    Function of ProjectiveSpace TOP-REAL 3,ProjectiveSpace TOP-REAL 3 by A5;
    now
      dom homography(N1 * N2) = the carrier of ProjectiveSpace TOP-REAL 3
        by FUNCT_2:def 1;
      hence dom homography(N1 * N2) = dom h12 by FUNCT_2:def 1;
      thus for x be object st x in dom homography(N1 * N2) holds
      (homography(N1 * N2)).x = h12.x
      proof
        let x be object;
        assume x in dom homography(N1 * N2);
        then reconsider xf = x as Element of ProjectiveSpace TOP-REAL 3;
        (homography(N1 * N2)).xf = (homography(N1)).((homography(N2)).xf)
                                   by Th14
                                .= h12.xf by A3,A4,A5,A1,A2,Th14;
        hence thesis;
      end;
    end;
    hence thesis by FUNCT_1:def 11;
  end;
