
theorem Th33:
  for f being Function for x1,x2,x3,x4 being set st
  x1 in dom f & x2 in dom f & x3 in dom f & x4 in dom f holds
  f*<*x1,x2,x3,x4*> = <*f.x1,f.x2,f.x3,f.x4*>
proof
  let f be Function;
  let x1,x2,x3,x4 be set;
  assume that
A1: x1 in dom f and
A2: x2 in dom f & x3 in dom f & x4 in dom f;
  reconsider D = dom f, E = rng f as non empty set by A1,FUNCT_1:3;
  rng <*x1,x2,x3,x4*> c= D
  proof
    let a be object;
    assume a in rng <*x1,x2,x3,x4*>;
    then a in {x1,x2,x3,x4} by Th13;
    hence thesis by A1,A2,ENUMSET1:def 2;
  end;
  then reconsider p=<*x1,x2,x3,x4*> as FinSequence of D by FINSEQ_1:def 4;
  reconsider g = f as Function of D,E by FUNCT_2:def 1,RELSET_1:4;
A3: dom(g*p) = dom p by FINSEQ_3:120;
A4: now
    let k be Nat;
    assume
A5: k in dom (g*p);
    then
A6: k in Seg 4 by A3,FINSEQ_1:89;
    per cases by A6,ENUMSET1:def 2,FINSEQ_3:2;
    suppose
A7:   k=1;
      then p.k=x1;
      then (g*p).k = g.x1 by A5,FINSEQ_3:120;
      hence (g*p).k = <*f.x1,f.x2,f.x3,f.x4*>.k by A7;
    end;
    suppose
A8:   k=2;
      then p.k=x2;
      then (g*p).k = g.x2 by A5,FINSEQ_3:120;
      hence (g*p).k = <*f.x1,f.x2,f.x3,f.x4*>.k by A8;
    end;
    suppose
A9:   k=3;
      then p.k=x3;
      then (g*p).k = g.x3 by A5,FINSEQ_3:120;
      hence (g*p).k = <*f.x1,f.x2,f.x3,f.x4*>.k by A9;
    end;
    suppose
A10:  k=4;
      then p.k=x4;
      then (g*p).k = g.x4 by A5,FINSEQ_3:120;
      hence (g*p).k = <*f.x1,f.x2,f.x3,f.x4*>.k by A10;
    end;
  end;
  dom (g*p) = Seg 4 by A3,FINSEQ_1:89
    .= dom <*f.x1,f.x2,f.x3,f.x4*> by FINSEQ_1:89;
  hence thesis by A4,FINSEQ_1:13;
end;
