Abstract. We explore the expressive power of the formalism called Natural Operational Semantics, NOS, introduced by Burstall and Honsell for defining the operational semantics of programming languages. This formalism is derived from the Natural Semantics of Despeyroux and Kahn. It arises if we take seriously the possibility of deriving assertions in Natural Semantics under assumptions, i.e. using hypothetico-general premises in the sense of Martin-L¨of. We investigate to what extent we can reduce to hypothetical premises the notions of store and environment of Plotkin’s Structural Operational Semantics. We use this formalism to define the semantics of a functional language which features commands, procedures, complex declarations, structures and Abstract Data Types. We give the NOS together with the denotational semantics and prove the adequacy of the former w.r.t. the latter. We discuss some other difficulties which arose in the previous treatment of variables in connection with ...