reserve p,q for Rational;
reserve g,m,m1,m2,n,n1,n2 for Nat;
reserve i,i1,i2,j,j1,j2 for Integer;

theorem
  m <> 0 & n <> 0 implies
  denominator(i/m+j/n) = (m*n) / ( (i*n+j*m) gcd (m*n) ) &
  numerator(i/m+j/n) = (i*n+j*m) / ( (i*n+j*m) gcd (m*n) )
  proof
    assume
A1: m <> 0 & n <> 0;
    hence denominator(i/m+j/n) = (m*n) div ( (i*n+j*m) gcd (m*n) ) by Th21
    .= (m*n) / ( (i*n+j*m) gcd (m*n) ) by Th8;
    thus numerator(i/m+j/n) = (i*n+j*m) div ( (i*n+j*m) gcd (m*n) ) by A1,Th21
    .= (i*n+j*m) / ( (i*n+j*m) gcd (m*n) ) by Th7;
  end;
