reserve n for Element of NAT,
  i for Integer,
  a, b, r for Real,
  x for Point of TOP-REAL n;

theorem Th40:
  for d being set st d in IntIntervals(a,b) holds CircleMap.:d =
  CircleMap.:union IntIntervals(a,b)
proof
  set D = IntIntervals(a,b);
  let d be set;
  assume
A1: d in D;
  hence CircleMap.:d c= CircleMap.:union D by RELAT_1:123,ZFMISC_1:74;
  consider i being Element of INT such that
A2: d = ]. a+i, b+i .[ by A1;
  let y be object;
  assume y in CircleMap.:union D;
  then consider x being Element of R^1 such that
A3: x in union D and
A4: y = CircleMap.x by FUNCT_2:65;
  consider Z being set such that
A5: x in Z and
A6: Z in D by A3,TARSKI:def 4;
  consider n being Element of INT such that
A7: Z = ]. a+n, b+n .[ by A6;
  x < b+n by A5,A7,XXREAL_1:4;
  then x+i < b+n+i by XREAL_1:6;
  then
A8: x+i-n < b+n+i-n by XREAL_1:9;
  set k = x+i-n;
A9: CircleMap.k = CircleMap.(x+(i-n)) .= y by A4,Th31;
A10: k in R by TOPMETR:17,XREAL_0:def 1;
  a+n < x by A5,A7,XXREAL_1:4;
  then a+n+i < x+i by XREAL_1:6;
  then a+n+i-n < x+i-n by XREAL_1:9;
  then k in d by A2,A8,XXREAL_1:4;
  hence thesis by A10,A9,FUNCT_2:35;
end;
