reserve i for Nat,
  j for Element of NAT,
  X,Y,x,y,z for set;
reserve C for initialized ConstructorSignature,
  s for SortSymbol of C,
  o for OperSymbol of C,
  c for constructor OperSymbol of C;

theorem Th42:
  for o st len the_arity_of o = 1 for a being expression of C st
  ex s st s = (the_arity_of o).1 & a is expression of C, s
  holds
  [o, the carrier of C]-tree <*a*> is expression of C, the_result_sort_of o
proof
  let o be OperSymbol of C such that
A1: len the_arity_of o = 1;
  set X = MSVars C;
  set Y = X (\/) ((the carrier of C)-->{0});
  let a be expression of C;
  given s being SortSymbol of C such that
A2: s = (the_arity_of o).1 and
A3: a is expression of C, s;
  reconsider ta = a as Term of C,Y by MSAFREE3:8;
A4: dom <*ta*> = Seg 1 by FINSEQ_1:38;
A5: dom <*s*> = Seg 1 by FINSEQ_1:38;
A6: the_arity_of o = <*s*> by A1,A2,FINSEQ_1:40;
A7: the Sorts of Free(C, X) = C-Terms(X, Y) by MSAFREE3:24;
  now
    let i be Nat;
    assume i in dom <*ta*>;
    then
A8: i = 1 by A4,FINSEQ_1:2,TARSKI:def 1;
    let t be Term of C, Y;
    assume
A9: t = <*ta*>.i;
A10: the Sorts of Free(C, X) c= the Sorts of FreeMSA Y by A7,PBOOLE:def 18;
A11: t = a by A8,A9;
A12: (the Sorts of Free(C, X)).s c= (the Sorts of FreeMSA Y).s by A10;
    t in (the Sorts of Free(C, X)).s by A3,A11,Th41;
    hence the_sort_of t = (the_arity_of o).i by A2,A8,A12,MSAFREE3:7;
  end;
  then reconsider p = <*ta*> as ArgumentSeq of Sym(o, Y) by A4,A5,A6,MSATERM:25
;
A13: variables_in (Sym(o, Y)-tree p) c= X
  proof
    let s be object;
    assume s in the carrier of C;
    then reconsider s9 = s as SortSymbol of C;
    let x be object;
    assume x in (variables_in (Sym(o, Y)-tree p)).s;
    then consider t being DecoratedTree such that
A14: t in rng p and
A15: x in (C variables_in t).s9 by MSAFREE3:11;
A16: C variables_in a c= X by MSAFREE3:27;
A17: rng p = {a} by FINSEQ_1:38;
A18: (C variables_in a).s9 c= X.s9 by A16;
    t = a by A14,A17,TARSKI:def 1;
    hence thesis by A15,A18;
  end;
  set s9 = the_result_sort_of o;
A19: the_sort_of (Sym(o, Y)-tree p) = the_result_sort_of o by MSATERM:20;
  (the Sorts of Free(C, X)).s9 =
  {t where t is Term of C,Y: the_sort_of t = s9 & variables_in t c= X}
  by A7,MSAFREE3:def 5;
  then [o, the carrier of C]-tree <*a*> in (the Sorts of Free(C, X)).s9 by A13
,A19;
  hence thesis by Th41;
end;
