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 T being quasi-type of C for f1,f2 being valuation of C
  holds (T at f1) at f2 = T at (f1 at f2)
proof
  let T be quasi-type of C;
  let f1,f2 be valuation of C;
  thus (T at f1) at f2
  = (((adjs T) at f1) at f2)ast((the_base_of (T at f1))at f2)
    .= ((adjs T) at (f1 at f2))ast((the_base_of (T at f1))at f2) by Th150
    .= ((adjs T) at (f1 at f2))ast(((the_base_of T) at f1)at f2)
    .= T at (f1 at f2) by Th149;
end;
