
theorem Th112:
  for G1, G2 being _Graph, F being PGraphMapping of G1, G2
  for H being Subgraph of G1
  for F9 being PGraphMapping of H, rng(F | H) st F9 = F | H holds
    (F9 is non empty implies F9 is onto) &
    (F is total implies F9 is total) &
    (F is one-to-one implies F9 is one-to-one) &
    (F is directed implies F9 is directed) &
    (F is semi-continuous implies F9 is semi-continuous) &
    (F is continuous & F_E is one-to-one implies F9 is continuous) &
    (F is semi-Dcontinuous implies F9 is semi-Dcontinuous) &
    (F is Dcontinuous & F_E is one-to-one implies F9 is Dcontinuous)
proof
  let G1, G2 be _Graph;
  let F be PGraphMapping of G1, G2, H being Subgraph of G1;
  let F9 be PGraphMapping of H, rng(F | H);
  assume A1: F9 = F | H;
  then A2: F9 = (rng(F | H)) |` (F | H) by Th86;
  :: onto
  hereby
    assume F9 is non empty;
    then F|H is non empty by A1;
    then rng F9_V = the_Vertices_of rng(F|H) &
      rng F9_E = the_Edges_of rng(F|H) by A1, GLIB_010:54;
    hence F9 is onto by GLIB_010:def 12;
  end;
  :: total
  hereby
    assume F is total;
    then F | H is total by GLIB_010:57;
    hence F9 is total by A2, Th87;
  end;
  :: one-to-one
  thus F is one-to-one implies F9 is one-to-one by A2;
  :: directed
  hereby
    assume A3: F is directed;
    now
      let e,v,w be object;
      assume A4: e in dom F9_E & v in dom F9_V & w in dom F9_V;
      then A5: F9_E.e = F_E.e & F9_V.v = F_V.v & F9_V.w = F_V.w
        by A1, FUNCT_1:47;
      A6: v is set & w is set & e is set by TARSKI:1;
      dom F9_V = dom F_V /\ the_Vertices_of H &
        dom F9_E = dom F_E /\ the_Edges_of H by A1, GLIB_010:59;
      then A7: e in dom F_E & v in dom F_V & w in dom F_V
        by A4, XBOOLE_0:def 4;
      assume e DJoins v,w,H;
      then e DJoins v,w,G1 by A6, GLIB_000:72;
      then A8: F9_E.e DJoins F9_V.v,F9_V.w,G2 by A3, A5, A7, GLIB_010:def 14;
      F9_E.e in the_Edges_of rng(F | H)
      proof
        F9_E.e in rng F9_E by A4, FUNCT_1:3;
        hence thesis;
      end;
      hence F9_E.e DJoins F9_V.v, F9_V.w, rng(F | H) by A8, GLIB_000:73;
    end;
    hence F9 is directed by GLIB_010:def 14;
  end;
  :: semi-continuous
  hereby
    assume A9: F is semi-continuous;
    now
      let e,v,w be object;
      assume A10: e in dom F9_E & v in dom F9_V & w in dom F9_V;
      then A11: F9_E.e = F_E.e & F9_V.v = F_V.v & F9_V.w = F_V.w
        by A1, FUNCT_1:47;
      assume F9_E.e Joins F9_V.v, F9_V.w, rng(F|H);
      then A12: F_E.e Joins F_V.v, F_V.w, G2 by A11, GLIB_000:72;
      dom F9_V = dom F_V /\ the_Vertices_of H &
        dom F9_E = dom F_E /\ the_Edges_of H by A1, GLIB_010:59;
      then e in dom F_E & v in dom F_V & w in dom F_V by A10, XBOOLE_0:def 4;
      then e Joins v,w,G1 by A9, A12, GLIB_010:def 15;
      hence e Joins v,w,H by A10, GLIB_000:73;
    end;
    hence F9 is semi-continuous by GLIB_010:def 15;
  end;
  :: continuous
  hereby
    assume A13: F is continuous & F_E is one-to-one;
    now
      let e9,v,w be object;
      assume A14: v in dom F9_V & w in dom F9_V;
      then A15: F9_V.v = F_V.v & F9_V.w = F_V.w
        by A1, FUNCT_1:47;
      assume A16: e9 Joins F9_V.v, F9_V.w, rng(F|H);
      then A17: e9 Joins F_V.v, F_V.w, G2 by A15, GLIB_000:72;
      A18: dom F9_V = dom F_V /\ the_Vertices_of H &
        dom F9_E = dom F_E /\ the_Edges_of H by A1, GLIB_010:59;
      A19: F|H is non empty by A1, A14;
      e9 in the_Edges_of rng(F|H) by A16, GLIB_000:def 13;
      then e9 in rng (F|H)_E by A19, GLIB_010:54;
      then consider e0 being object such that
        A20: e0 in dom (F|H)_E & (F|H)_E.e0 = e9 by FUNCT_1:def 3;
      v in dom F_V & w in dom F_V by A14, A18, XBOOLE_0:def 4;
      then consider e being object such that
        A21: e Joins v,w,G1 & e in dom F_E & F_E.e = e9
        by A13, A17, GLIB_010:def 16;
      take e;
      A22: e0 in dom F_E & e0 in the_Edges_of H by A1, A18, A20
, XBOOLE_0:def 4;
      F_E.e = F_E.e0 by A20, A21, FUNCT_1:49;
      then A23: e = e0 by A13, A21, A22, FUNCT_1:def 4;
      e0 is set & v is set & w is set by TARSKI:1;
      hence e Joins v,w,H by A21, A22, A23, GLIB_000:73;
      thus e in dom F9_E & F9_E.e = e9 by A1, A20, A23;
    end;
    hence F9 is continuous by GLIB_010:def 16;
  end;
  :: semi-Dcontinuous
  hereby
    assume A24: F is semi-Dcontinuous;
    now
      let e,v,w be object;
      assume A25: e in dom F9_E & v in dom F9_V & w in dom F9_V;
      then A26: F9_E.e = F_E.e & F9_V.v = F_V.v & F9_V.w = F_V.w
        by A1, FUNCT_1:47;
      assume F9_E.e DJoins F9_V.v, F9_V.w, rng(F|H);
      then A27: F_E.e DJoins F_V.v, F_V.w, G2 by A26, GLIB_000:72;
      dom F9_V = dom F_V /\ the_Vertices_of H &
        dom F9_E = dom F_E /\ the_Edges_of H by A1, GLIB_010:59;
      then e in dom F_E & v in dom F_V & w in dom F_V by A25, XBOOLE_0:def 4;
      then e DJoins v,w,G1 by A24, A27, GLIB_010:def 17;
      hence e DJoins v,w,H by A25, GLIB_000:73;
    end;
    hence F9 is semi-Dcontinuous by GLIB_010:def 17;
  end;
  :: Dcontinuous
  hereby
    assume A28: F is Dcontinuous & F_E is one-to-one;
    now
      let e9,v,w be object;
      assume A29: v in dom F9_V & w in dom F9_V;
      then A30: F9_V.v = F_V.v & F9_V.w = F_V.w
        by A1, FUNCT_1:47;
      assume A31: e9 DJoins F9_V.v, F9_V.w, rng(F|H);
      then A32: e9 DJoins F_V.v, F_V.w, G2 by A30, GLIB_000:72;
      A33: dom F9_V = dom F_V /\ the_Vertices_of H &
        dom F9_E = dom F_E /\ the_Edges_of H by A1, GLIB_010:59;
      A34: F|H is non empty by A1, A29;
      e9 in the_Edges_of rng(F|H) by A31, GLIB_000:def 14;
      then e9 in rng (F|H)_E by A34, GLIB_010:54;
      then consider e0 being object such that
        A35: e0 in dom (F|H)_E & (F|H)_E.e0 = e9 by FUNCT_1:def 3;
      v in dom F_V & w in dom F_V by A29, A33, XBOOLE_0:def 4;
      then consider e being object such that
        A36: e DJoins v,w,G1 & e in dom F_E & F_E.e = e9
        by A28, A32, GLIB_010:def 18;
      take e;
      A37: e0 in dom F_E & e0 in the_Edges_of H by A1, A33, A35
, XBOOLE_0:def 4;
      F_E.e = F_E.e0 by A35, A36, FUNCT_1:49;
      then A38: e = e0 by A28, A36, A37, FUNCT_1:def 4;
      e0 is set & v is set & w is set by TARSKI:1;
      hence e DJoins v,w,H by A36, A37, A38, GLIB_000:73;
      thus e in dom F9_E & F9_E.e = e9 by A1, A35, A38;
    end;
    hence F9 is Dcontinuous by GLIB_010:def 18;
  end;
end;
