Acta Informatica 36, 375–403 (1999) c Springer-Verlag 1999 Reasoning with first order nondeterministic specifications Beata Konikowska, Marcin Bial ´ asik Institute of Computer Science, Polish Academy of Sciences, ul. Ordona 21, Warsaw, Poland (e-mail: {beatak,marcinb}@ipipan.waw.pl) Received: 4 March 1997 / 25 May 1999 Summary. The paper presents a variant of first order logic for specify- ing nondeterministic software. Models of the logics are multialgebras, i.e. multi-sorted algebras with set-valued operations, together with multi-sorted valuations of variables. We allow empty carrier sets but the valuations are kept total. Terms are interpreted as sets and the usual set of algebraic terms is extended by an additional let construct used for limiting nondeterminism. Atomic formulae are of the form t 1 t 2 where is a rewrite operator, corresponding semantically to inclusion. For the above logic, we develop two complete deduction systems in the natural deduction style: a Rasiowa-Sikorski system for sequences of formulae, and a cut-free Gentzen-style sequent calculus. We also consider the issues of determinism and partiality, proposing alternate solutions to defining the respective predicates in our logic. 1 Introduction Algebraic specifications provide a very general software specification and development methodology. One of their major advantages is that they allow us to specify software in an abstract manner. Moreover, at any stage of the development process we can decide how abstract we want to remain and hide details that are irrelevant at the given stage. Also, we have such notions as behavioural equivalence which facilitates a correct substitution of modules that do not satisfy the specification exactly but only with respect to some observable behaviour. The paper was partially supported by a KBN grant 8T11C01811