reserve x,X for set;
reserve x0,r1,r2,g,g1,g2,p,s for Real;
reserve r for Real;
reserve n,m for Nat;
reserve a,b,d for Real_Sequence;
reserve f for PartFunc of REAL,REAL;

theorem
  for f be one-to-one PartFunc of REAL,REAL st (f|].p,g.[ is increasing
or f|].p,g.[ is decreasing) & ].p,g.[ c= dom f holds (f|].p,g.[)"|(f.:].p,g.[)
  is continuous
proof
  let f be one-to-one PartFunc of REAL,REAL;
  assume that
A1: f|].p,g.[ is increasing or f|].p,g.[ is decreasing and
A2: ].p,g.[ c= dom f;
  now
    per cases by A1;
    suppose
A3:   f|].p,g.[ is increasing;
A4:   now
        let r be Element of REAL;
        assume r in f.:].p,g.[;
        then consider s being Element of REAL such that
A5:     s in dom f & s in ].p,g.[ and
A6:     r = f.s by PARTFUN2:59;
        s in dom f /\ ].p,g.[ by A5,XBOOLE_0:def 4;
        then
A7:     s in dom (f|].p,g.[) by RELAT_1:61;
        then r = (f|].p,g.[).s by A6,FUNCT_1:47;
        then r in rng (f|].p,g.[) by A7,FUNCT_1:def 3;
        hence r in dom ((f|].p,g.[)") by FUNCT_1:33;
      end;
A8:   ((f|].p,g.[)").:(f.:].p,g.[) = ((f|].p,g.[)").:(rng (f|].p,g.[)) by
RELAT_1:115
        .= ((f|].p,g.[)").:(dom ((f|].p,g.[)")) by FUNCT_1:33
        .= rng ((f|].p,g.[)") by RELAT_1:113
        .= dom (f|].p,g.[) by FUNCT_1:33
        .= dom f /\ ].p,g.[ by RELAT_1:61
        .= ].p,g.[ by A2,XBOOLE_1:28;
      (f|].p,g.[)"|(f.:].p,g.[) is increasing by A3,Th9;
      hence thesis by A4,A8,Th15,SUBSET_1:2;
    end;
    suppose
A9:   f|].p,g.[ is decreasing;
A10:  now
        let r be Element of REAL;
        assume r in f.:].p,g.[;
        then consider s being Element of REAL such that
A11:    s in dom f & s in ].p,g.[ and
A12:    r = f.s by PARTFUN2:59;
        s in dom f /\ ].p,g.[ by A11,XBOOLE_0:def 4;
        then
A13:    s in dom (f|].p,g.[) by RELAT_1:61;
        then r = (f|].p,g.[).s by A12,FUNCT_1:47;
        then r in rng (f|].p,g.[) by A13,FUNCT_1:def 3;
        hence r in dom ((f|].p,g.[)") by FUNCT_1:33;
      end;
A14:  ((f|].p,g.[)").:(f.:].p,g.[) = ((f|].p,g.[)").:(rng (f|].p,g.[)) by
RELAT_1:115
        .= ((f|].p,g.[)").:(dom ((f|].p,g.[)")) by FUNCT_1:33
        .= rng ((f|].p,g.[)") by RELAT_1:113
        .= dom (f|].p,g.[) by FUNCT_1:33
        .= dom f /\ ].p,g.[ by RELAT_1:61
        .= ].p,g.[ by A2,XBOOLE_1:28;
      (f|].p,g.[)"|(f.:].p,g.[) is decreasing by A9,Th10;
      hence thesis by A10,A14,Th15,SUBSET_1:2;
    end;
  end;
  hence thesis;
end;
