reserve X for set;
reserve UN for Universe;

theorem Th52:
  for N1,N2 being set st N1 = [:NAT,NAT:] \/ NAT &
                         N2 = N1 \/ bool N1 holds
  REAL c= N2 \/ [:NAT,N2:]
  proof
    set F1 = {[i,j] where i,j is Element of omega: i,j are_coprime & j <> {}},
        F2 = the set of all [k,1] where k is Element of omega;
    F1 c= [:NAT,NAT:]
    proof
      let o be object;
      assume o in F1;
      then ex i,j be Element of omega st o = [i,j] & i,j are_coprime & j <> {};
      hence thesis;
    end;
    then F1 \ F2 c= [:NAT,NAT:];
    then
A1: RAT+ c= [:NAT,NAT:] \/ NAT by XBOOLE_1:13;
    then
A2: RAT+ \/ DEDEKIND_CUTS c= ([:NAT,NAT:] \/ NAT) \/ DEDEKIND_CUTS
      by XBOOLE_1:9;
A3: bool RAT+ c= bool ([:NAT,NAT:] \/ NAT) by A1,ZFMISC_1:67;
A4: REAL+ c= ([:NAT,NAT:] \/ NAT) \/ DEDEKIND_CUTS by A2;
A5: ([:NAT,NAT:] \/ NAT) \/ DEDEKIND_CUTS
      c= ([:NAT,NAT:] \/ NAT) \/ bool RAT+ by XBOOLE_1:9;
    ([:NAT,NAT:] \/ NAT) \/ bool RAT+
      c= ([:NAT,NAT:] \/ NAT) \/ ([:NAT,NAT:] \/ NAT) \/
      bool ([:NAT,NAT:] \/ NAT) by A3,XBOOLE_1:9;
    then
A6: REAL+ c= ([:NAT,NAT:] \/ NAT) \/ ([:NAT,NAT:] \/ NAT)
      \/ bool ([:NAT,NAT:] \/ NAT) by A4,A5;
    then [:NAT,REAL+:] c= [:NAT, ([:NAT,NAT:] \/ NAT) \/ ([:NAT,NAT:] \/ NAT)
      \/ bool ([:NAT,NAT:] \/ NAT):] by ZFMISC_1:96; then
A7: REAL+ \/ [:NAT,REAL+:] c=
      (([:NAT,NAT:] \/ NAT) \/ ([:NAT,NAT:] \/ NAT) \/
        bool ([:NAT,NAT:] \/ NAT))
        \/ [:NAT, ([:NAT,NAT:] \/ NAT) \/ ([:NAT,NAT:] \/ NAT) \/
        bool ([:NAT,NAT:] \/ NAT):] by A6,XBOOLE_1:13;
    set N1 = [:NAT,NAT:] \/ NAT,
        N2 = N1 \/ bool N1;
    [:{0},REAL+:] c= [:NAT,REAL+:] by ZFMISC_1:96;
    then REAL+ \/ [:{0},REAL+:] c= REAL+ \/ [:NAT,REAL+:] by XBOOLE_1:9;
    hence thesis by A7;
  end;
