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;
reserve a,b for expression of C, an_Adj C;
reserve t, t1,t2 for expression of C, a_Type C;
reserve p for FinSequence of QuasiTerms C;
reserve e for expression of C;
reserve a,a9 for expression of C, an_Adj C;
reserve q for pure expression of C, a_Type C,
  A for finite Subset of QuasiAdjs C;
reserve T for quasi-type of C;
reserve f for valuation of C;
reserve x for variable;

theorem
  for X being Subset of Vars
  holds (C idval X)# = id Union the Sorts of Free(C, MSVars C)
proof
  let X be Subset of Vars;
  set f = C idval X;
A1: dom (f# ) = Union the Sorts of Free(C, MSVars C) by FUNCT_2:def 1;
  now
    let x be object;
    assume x in Union the Sorts of Free(C, MSVars C);
    then reconsider t = x as expression of C;
    thus (f# ).x = t at f .= x by Th137;
  end;
  hence thesis by A1,FUNCT_1:17;
end;
