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
  f|X is increasing or f|X is decreasing implies f|X is one-to-one
proof
  assume
A1: f|X is increasing or f|X is decreasing;
  now
    per cases by A1;
    suppose
A2:   f|X is increasing;
      now
        given r1,r2 being Element of REAL such that
A3:     r1 in dom (f|X) and
A4:     r2 in dom (f|X) and
A5:     (f|X).r1 = (f|X).r2 and
A6:     r1 <> r2;
A7:     r1 in X /\ dom f & r2 in X /\ dom f by A3,A4,RELAT_1:61;
        now
          per cases by A6,XXREAL_0:1;
          suppose
            r1 < r2;
            then f.r1 < f.r2 by A2,A7,RFUNCT_2:20;
            then (f|X).r1 < f.r2 by A3,FUNCT_1:47;
            hence contradiction by A4,A5,FUNCT_1:47;
          end;
          suppose
            r2 < r1;
            then f.r2 < f.r1 by A2,A7,RFUNCT_2:20;
            then (f|X).r2 < f.r1 by A4,FUNCT_1:47;
            hence contradiction by A3,A5,FUNCT_1:47;
          end;
        end;
        hence contradiction;
      end;
      hence thesis by PARTFUN1:8;
    end;
    suppose
A8:   f|X is decreasing;
      now
        given r1,r2 being Element of REAL such that
A9:     r1 in dom (f|X) and
A10:    r2 in dom (f|X) and
A11:    (f|X).r1 = (f|X).r2 and
A12:    r1 <> r2;
A13:    r1 in X /\ dom f & r2 in X /\ dom f by A9,A10,RELAT_1:61;
        now
          per cases by A12,XXREAL_0:1;
          suppose
            r1 < r2;
            then f.r2 < f.r1 by A8,A13,RFUNCT_2:21;
            then (f|X).r2 < f.r1 by A10,FUNCT_1:47;
            hence contradiction by A9,A11,FUNCT_1:47;
          end;
          suppose
            r2 < r1;
            then f.r1 < f.r2 by A8,A13,RFUNCT_2:21;
            then (f|X).r1 < f.r2 by A9,FUNCT_1:47;
            hence contradiction by A10,A11,FUNCT_1:47;
          end;
        end;
        hence contradiction;
      end;
      hence thesis by PARTFUN1:8;
    end;
  end;
  hence thesis;
end;
