
theorem Th19:
  for I1 being set, I2,I3 being non empty set,
  f being Function of I1,I2, g being Function of I2,I3,
  A being ManySortedSet of I1, B being ManySortedSet of I2,
  C being ManySortedSet of I3, F being MSUnTrans of f,A,B,
  G being MSUnTrans of g*f,B*f,C
  st for ii being set st ii in I1 & (B*f).ii = {}
  holds A.ii = {} or (C*(g*f)).ii = {}
  holds G**(F qua Function-yielding Function) is MSUnTrans of g*f,A,C
proof
  let I1 be set, I2,I3 be non empty set,
  f be Function of I1,I2, g be Function of I2,I3,
  A be ManySortedSet of I1, B be ManySortedSet of I2,
  C be ManySortedSet of I3, F be MSUnTrans of f,A,B,
  G be MSUnTrans of g*f,B*f,C such that
A1: for ii being set st ii in I1 & (B*f).ii = {}
  holds A.ii = {} or (C*(g*f)).ii = {};
  reconsider G as ManySortedFunction of B*f,C*(g*f) by Def4;
  reconsider F as ManySortedFunction of A,B*f by Def4;
A2: dom G = I1 by PARTFUN1:def 2;
A3: dom F = I1 by PARTFUN1:def 2;
A4: dom(G**F) = dom G /\ dom F by PBOOLE:def 19
    .= I1 by A2,A3;
  reconsider GF = G**F as ManySortedSet of I1;
  GF is ManySortedFunction of A,C*(g*f)
  proof
    let ii be object;
    assume
A5: ii in I1;
    then reconsider Fi = F.ii as Function of A.ii, (B*f).ii by PBOOLE:def 15;
    reconsider Gi = G.ii as Function of (B*f).ii, (C*(g*f)).ii
    by A5,PBOOLE:def 15;
    (B*f).ii = {} implies A.ii = {} or (C*(g*f)).ii = {} by A1,A5;
    then Gi*Fi is Function of A.ii, (C*(g*f)).ii by FUNCT_2:13;
    hence thesis by A4,A5,PBOOLE:def 19;
  end;
  hence thesis by Def4;
end;
