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
  (Non a) at f = Non (a at f) proof per cases;
  suppose a is positive;
    then reconsider b = a as positive expression of C, an_Adj C;
    reconsider af = b at f as positive expression of C, an_Adj C;
    thus (Non a) at f = ((non_op C)term b) at f by Th59
      .= (non_op C)term af by Def60
      .= Non (a at f) by Th59;
  end;
  suppose a is non positive;
    then consider b being expression of C, an_Adj C such that
A1: a = (non_op C)term b and
A2: Non a = b by Th60;
A3: a at f = (non_op C)term(b at f) by A1,Def60;
    then a at f is non positive;
    then ex k being expression of C, an_Adj C st
    a at f = (non_op C)term k & Non(a at f) = k by Th60;
    hence thesis by A2,A3,Th44;
  end;
end;
