reserve
  S for (4,1) integer bool-correct non empty non void BoolSignature,
  X for non-empty ManySortedSet of the carrier of S,
  T for vf-free integer all_vars_including inheriting_operations free_in_itself
  (X,S)-terms VarMSAlgebra over S,
  C for (4,1) integer bool-correct non-empty image of T,
  G for basic GeneratorSystem over S,X,T,
  A for IfWhileAlgebra of the generators of G,
  I for integer SortSymbol of S,
  x,y,z,m for pure (Element of (the generators of G).I),
  b for pure (Element of (the generators of G).the bool-sort of S),
  t,t1,t2 for Element of T,I,
  P for Algorithm of A,
  s,s1,s2 for Element of C-States(the generators of G);
reserve
  f for ExecutionFunction of A, C-States(the generators of G),
  (\falseC)-States(the generators of G, b);
reserve u for ManySortedFunction of FreeGen T, the Sorts of C;

theorem Th27:
  for S being non empty non void ManySortedSign
  for A,B being non-empty MSAlgebra over S
  for s1,s2,s3 being SortSymbol of S
  for a being Element of A,s1, b being Element of A,s2, c being Element of A,s3
  for h being ManySortedFunction of A,B
  for o being OperSymbol of S st the_arity_of o = <*s1,s2,s3*>
  for p being Element of Args(o,A)
  st p = <*a,b,c*> holds h#p = <*h.s1.a,h.s2.b,h.s3.c*>
  proof
    let S be non empty non void ManySortedSign;
    let A,B be non-empty MSAlgebra over S;
    let s1,s2,s3 be SortSymbol of S;
    let a be Element of A,s1;
    let b be Element of A,s2;
    let c be Element of A,s3;
    let h be ManySortedFunction of A,B;
    let o be OperSymbol of S such that
A1: the_arity_of o = <*s1,s2,s3*>;
    let p be Element of Args(o,A);
    assume A2: p = <*a,b,c*>;
A3: dom p = dom the_arity_of o & dom(h#p) = dom the_arity_of o by MSUALG_3:6;
    then
A4: dom(h#p) = Seg 3 by A2,FINSEQ_1:89;
    then
A5: len p = 3 & len (h#p) = 3 by A3,FINSEQ_1:def 3;
    1 in Seg 3;
    then
A6: (h#p).1 = h.((the_arity_of o)/.1).(p.1) by A3,A4,MSUALG_3:def 6
    .= h.s1.(p.1) by A1,FINSEQ_4:18 .= h.s1.a by A2;
    2 in Seg 3;
    then
A7: (h#p).2 = h.((the_arity_of o)/.2).(p.2) by A3,A4,MSUALG_3:def 6
    .= h.s2.(p.2) by A1,FINSEQ_4:18 .= h.s2.b by A2;
    3 in Seg 3;
    then (h#p).3 = h.((the_arity_of o)/.3).(p.3) by A3,A4,MSUALG_3:def 6
    .= h.s3.(p.3) by A1,FINSEQ_4:18 .= h.s3.c by A2;
    hence h#p = <*h.s1.a,h.s2.b,h.s3.c*> by A5,A6,A7,FINSEQ_1:45;
  end;
