reserve A,B,C for Ordinal;
reserve a,b,c,d for natural Ordinal;
reserve l,m,n for natural Ordinal;

theorem Th19:
  a <> {} or b <> {} implies a div^ (a hcf b), b div^ (a hcf b)
  are_coprime
proof
  assume
A1: a <> {} or b <> {};
  set ab = a hcf b;
A2: 1*^a = a & 1*^b = b by ORDINAL2:39;
  per cases;
  suppose
    a = {} or b = {};
    then ab = b & b div^ b = 1 or ab = a & a div^ a = 1 by A1,A2,Th14,
ORDINAL3:68;
    hence thesis by Th2;
  end;
  suppose
A3: a <> {} & b <> {};
    ab divides b by Def5;
    then
A4: b = ab*^(b div^ ab) by Th7;
    then
A5: b div^ ab <> {} by A3,ORDINAL2:35;
    let c,d1,d2 be Ordinal such that
A6: a div^ (a hcf b) = c *^ d1 and
A7: b div^ (a hcf b) = c *^ d2;
    ab divides a by Def5;
    then
A8: a = ab*^(a div^ ab) by Th7;
    then a div^ ab <> {} by A3,ORDINAL2:35;
    then reconsider c,d1,d2 as Element of omega by A6,A7,A5,ORDINAL3:75;
    b = ab*^c*^d2 by A4,A7,ORDINAL3:50;
    then
A9: ab*^c divides b;
    a = ab*^c*^d1 by A8,A6,ORDINAL3:50;
    then ab*^c divides a;
    then ab*^c divides ab by A9,Def5;
    then ab = (ab*^c)*^(ab div^ (ab*^c)) by Th7;
    then ab = ab*^(c*^(ab div^ (ab*^c))) by ORDINAL3:50;
    then
A10: ab*^1 = ab*^(c*^(ab div^ (ab*^c))) by ORDINAL2:39;
    ab <> {} by A3,A8,ORDINAL2:35;
    then 1 = c*^(ab div^ (ab*^c)) by A10,ORDINAL3:33;
    hence thesis by ORDINAL3:37;
  end;
end;
