reserve x,y,z for Real,
  a,b,c,d,e,f,g,h for Nat,
  k,l,m,n,m1,n1,m2,n2 for Integer,
  q for Rational;
reserve fs,fs1,fs2,fs3 for FinSequence;
reserve D for non empty set,
  v,v1,v2,v3 for object,
  fp for FinSequence of NAT,
  fr,fr1,fr2 for FinSequence of INT,
  ft for FinSequence of REAL;

theorem Th22:
  numerator(q),denominator(q) are_coprime
proof
  set k=numerator(q);
  set h=denominator(q);
  reconsider a=k gcd h as Element of NAT by INT_2:20;
  a divides k by INT_2:21;
  then
A1: ex l st k=a*l;
  (k gcd h) divides h by INT_2:21;
  then consider b be Nat such that
A2: h=a*b by NAT_D:def 3;
  a<>0 by INT_2:5;
  then
A3: a>=0 qua Nat+1 by NAT_1:13;
  reconsider b as Element of NAT by ORDINAL1:def 12;
A4: h=a*b by A2;
  assume not k,h are_coprime;
  then a<>1 by INT_2:def 3;
  then a>1 by A3,XXREAL_0:1;
  hence contradiction by A1,A4,RAT_1:29;
end;
