reserve i,j,n,k,m for Nat,
     a,b,x,y,z for object,
     F,G for FinSequence-yielding FinSequence,
     f,g,p,q for FinSequence,
     X,Y for set,
     D for non empty set;

theorem Th25:
  for f,g be Function holds Ext(f,x,y)*g = Ext(f*g,x,y)
proof
  let f,g be Function;set E=Ext(f,x,y),Eg=Ext(f*g,x,y);
A1: dom E = dom f & dom Eg = dom (f*g) by Def5;
A2: dom (E*g) c= dom (f*g)
  proof
    let a be object;
    assume a in dom (E*g);
    then a in dom g & g.a in dom E by FUNCT_1:11;
    hence thesis by A1,FUNCT_1:11;
  end;
  dom (f*g) c= dom (E*g)
  proof
    let a be object;
    assume a in dom (f*g);
    then a in dom g & g.a in dom f by FUNCT_1:11;
    hence thesis by A1,FUNCT_1:11;
  end;
  then
A3: dom Eg = dom (E*g) by A2,Def5;
  for a st a in dom Eg holds Eg.a = (E*g).a
  proof
    let a such that
A4:   a in dom Eg;
A5:   a in dom (f*g) by A4,Def5;
    then
A6:   (f*g).a = f.(g.a) by FUNCT_1:12;
A7:   (E*g).a = E.(g.a) & g.a in dom E by A4,A3,FUNCT_1:11,12;
    per cases;
    suppose
A8:     x in (f*g).a;
      then Eg.a = ((f*g).a)\/{y} by A5,Def5;
      hence thesis by A8,A6,A7,A1,Def5;
    end;
    suppose
A9:     not x in (f*g).a;
      then Eg.a = (f*g).a by A5,Def5;
      hence thesis by A9,A6,A7,A1,Def5;
    end;end;
    hence thesis by A3;
  end;
