SPASS & FLOTTER Version 0.42

System Description FLOTTER 1 and SPASS 2 are a clause normal form translator for rst-order logic and a theorem prover for rst-order logic with equality, respectively. The algorithm implemented by FLOTTER includes an improved form of the renaming technique developed by Thierry Boy de la Tour 2], the optimized Skolemization technique by Ohlbach and Weidenbach 7] and some improvements leading to smaller Skolem function. SPASS is based on the superposition calculus developed by Bachmair and Ganzinger 1] extended with the sort techniques developed by Weidenbach 14, 15]. The superposition calculus relies on a reduction ordering which is total on ground terms. For SPASS we chose an extension of the well known Knuth-Bendix ordering, rst presented by Peterson 10]. In addition to the usual inference and reduction rules, SPASS includes a rule for case analysis, called splitting. 1 SPASS 1.1 Calculus A clause in SPASS has the form sort constraint atoms || antecedent atoms-> succedent atoms. with the semantics sort constraint atoms ^ antecedent atoms succedent atoms The inference rules equality resolution, equality factoring, superposition left and superposition right are applied to the antecedent and succedent literals with respect to the usual ordering restrictions 1]. However, their application is limited to clauses with a solved sort constraint. The sort constraint represents the sort restrictions on the variables. There are two extra inference rules which transform the sort constraint into solved form: Sort resolution and empty sort. These rules 1 The name is the result of a lunch break, FLOTTER means \faster", in German.