reserve B,C,D,C9,D9 for Category;
reserve E for Subcategory of C;

theorem
  for O being non empty Subset of the carrier of C, M being non empty
  set , d,c being Function of M,O, p being PartFunc of [:M,M:],M
  st CatStr(#O,M,d,c,p#) is full Subcategory of C
  holds M =
union{Hom(a,b) where a is Object of C,b is Object of C: a in O & b in O} & d =
(the Source of C)|M & c = (the Target of C)|M & p = (the Comp of C)||M
proof
  let O be non empty Subset of the carrier of C, M be non empty set, d,c be
  Function of M,O, p be PartFunc of [:M,M:],M;
  set H = {Hom(a,b) where a is Object of C, b is Object of C: a in O & b in O};
  set B = CatStr(#O,M,d,c,p#);
  assume
A1: B is full Subcategory of C;
A2: for f being Morphism of B holds d.f = (the Source of C).f & c.f = (the
  Target of C).f
  proof
    let f be Morphism of B;
    reconsider f9 = f as Morphism of C by A1,Th4;
    dom f = dom f9 & cod f = cod f9 by A1,Th5;
    hence thesis;
  end;
  now
    let x be object;
    thus x in M implies x in union H
    proof
      assume x in M;
      then reconsider f = x as Morphism of B;
      reconsider f9 = f as Morphism of C by A1,Th4;
      set a9 = dom f9, b9 = cod f9;
      (the Source of B).f = (the Source of C).f9 & (the Target of B).f = (
      the Target of C).f9 by A2;
      then f in Hom(a9,b9) & Hom(a9,b9) in H;
      hence thesis by TARSKI:def 4;
    end;
    assume x in union H;
    then consider X being set such that
A3: x in X and
A4: X in H by TARSKI:def 4;
    consider a9,b9 being Object of C such that
A5: X = Hom(a9,b9) and
A6: a9 in O & b9 in O by A4;
    reconsider a = a9, b = b9 as Object of B by A6;
    Hom(a,b) = Hom(a9,b9) by A1,Def6;
    hence x in M by A3,A5;
  end;
  hence
 M = union H by TARSKI:2;
  then reconsider
  d9 = (the Source of C)|M, c9 = (the Target of C)|M as Function of
  M,O by Th16;
  set p9 = (the Comp of C)||M;
  now
    let f be Element of M;
    d.f = (the Source of C).f by A2;
    hence d.f = d9.f by FUNCT_1:49;
  end;
  hence d = (the Source of C)|M by FUNCT_2:63;
  now
    let f be Element of M;
    c.f = (the Target of C).f by A2;
    hence c.f = c9.f by FUNCT_1:49;
  end;
  hence c = (the Target of C)|M by FUNCT_2:63;
  now
A7: dom p c= [:M,M:] by RELAT_1:def 18;
A8: dom p9 = (dom the Comp of C) /\ [:M,M:] by RELAT_1:61;
    the Comp of B c= the Comp of C by A1,Def4;
    then dom p c= dom the Comp of C by GRFUNC_1:2;
    then
A9: dom p c= dom p9 by A7,A8,XBOOLE_1:19;
    dom p9 c= dom p
    proof
      let x be object;
      assume
A10:  x in dom p9;
      then x in [:M,M:] by A8,XBOOLE_0:def 4;
      then consider g,f being Element of M such that
A11:  x = [g,f] by DOMAIN_1:1;
      reconsider f,g as Morphism of B;
      reconsider f9 = f,g9 = g as Morphism of C by A1,Th4;
      [g,f] in dom the Comp of C by A8,A10,A11,XBOOLE_0:def 4;
      then
A12:  dom g9 = cod f9 by CAT_1:15;
      cod f = cod f9 & dom g = dom g9 by A1,Th5;
      hence thesis by A1,A11,A12,CAT_1:15;
    end;
    hence dom p = dom p9 by A9,XBOOLE_0:def 10;
    let x be object;
    assume
A13: x in dom p;
    then consider g,f being Element of M such that
A14: x = [g,f] by A7,DOMAIN_1:1;
    reconsider f,g as Morphism of B;
A15: dom g = cod f by A1,A13,A14,CAT_1:15;
    reconsider f9 = f,g9 = g as Morphism of C by A1,Th4;
A16: cod f = cod f9 & dom g = dom g9 by A1,Th5;
    p.x = p.(g,f) by A14;
    hence p.x = g(*)f by A1,A15,CAT_1:16
      .= g9(*)f9 by A1,A15,Th7
      .= (the Comp of C).(g9,f9) by A16,A1,A13,A14,CAT_1:15,16
      .= p9.x by A9,A13,A14,FUNCT_1:47;
  end;
  hence p = (the Comp of C)||M by FUNCT_1:2;
end;
