reserve v,x for object;
reserve D,V,A for set;
reserve n for Nat;
reserve p,q for PartialPredicate of D;
reserve f,g for BinominativeFunction of D;
reserve D for non empty set;
reserve d for Element of D;
reserve f,g for BinominativeFunction of D;
reserve p,q,r,s for PartialPredicate of D;

theorem
  <*p,f,q*> is SFHT of D & <*q,g,r*> is SFHT of D & f,g coincide_with q,r
  implies <*p,PP_composition(f,g),r*> is SFHT of D
  proof
    assume that
A1: <*p,f,q*> is SFHT of D and
A2: <*q,g,r*> is SFHT of D and
A3: f,g coincide_with q,r;
    set F = PP_composition(f,g);
    for d holds d in dom p & p.d = TRUE & d in dom F & F.d in dom r implies
     r.(F.d) = TRUE
    proof
      let d;
      assume that
A4:   d in dom p and
A5:   p.d = TRUE and
A6:   d in dom F and
A7:   F.d in dom r;
A8:   F = g*f by PARTPR_2:def 1;
      then
A9:   F.d = g.(f.d) by A6,FUNCT_1:12;
      dom(g*f) c= dom f by RELAT_1:25;
      then
A10:  f.d is Element of D by A6,A8,PARTFUN1:4;
A11:  f.d in dom g by A6,A8,FUNCT_1:11;
A12:  d in dom f by A6,A8,FUNCT_1:11;
      then f.d in rng f by FUNCT_1:def 3;
      then
A13:  f.d in dom q by A3,A7,A9,A10;
      then q.(f.d) = TRUE by A1,A4,A5,A12,Th11;
      hence r.(F.d) = TRUE by A2,A7,A9,A11,A13,Th11;
    end;
    then <*p,F,r*> in SFHTs(D);
    hence thesis;
  end;
