Hi! TME2X is a little program to convert PROTEIN input files into one of the formats ores ;; M. Kuehns famous LISP prover setheo ;; Even more famous SETHEO prover satchmo ;; Maybe even more famous SATCHMO prover otter ;; Most famous OTTER prover spass ;; C. Weidenbachs also very famous ;; superposition prover with sorts tmedomain ;; Converts to domain restricted form, similar ;; as is needed for satchmo tmeequax ;; add equality axioms to tme input files tme= ;; dumb replacement of 'equal' by '=', needed ;; for Benno's equality transformation ;; programm (which is suspected to become famous). tmeeqax ;; add equality axioms renamed ;; build in 'semantics' into the clause set ;; by renaming the predicates according to an ;; initial interpretation. ;; SEE BELOW FOR WHAT THIS MEANS .... ;; and some more. Invoke tme2X without argumemts ;; to see more options The programm is run by invoking the shell script 'tme2X'. After INSTALLATION, call 'tme2X' to get an idea of how to use. INSTALLATION: - unpack all files into one single directory. Let be that directory. Obviously, you did this already. - Be sure to have a running Eclipse in your $path. - Edit the shell script tme2X and let TME2XHOME at the beginning point to . - I recommend to make make a symbolic link from /tme2X to somewhere in your $path. - Test: call 'tme2X'. Ot should give you usage information. call e.g. 'tme2X setheo MSC006-1' to actually test the conversion. That's it. The 'renamed' transformation ---------------------------- This transforms FILE.tme into FILE-renamed.tme . FILE.tme should include a line like initial_interpretation([p(a,b),q(b,c)]). where the elements of the list are ground atoms. The clauses in FILE.tme are renamed according to this initial interpretation. For instance (see MSC006-1.tme, which is included in the package) % q_symmetry, hypothesis. q(B, A) :- q(A, B). becomes % q_symmetry, hypothesis. false :- neg_q(b, c), q(c, b). q(c, b); neg_q(b, c). q(B, A) :- unequal(q(B, A), q(b, c)), q(A, B), unequal(q(A, B), q(b, c)). What happens here: for every clause H :- B and every atom L in H \cup B see if L unifies with an atom A from the initial interpretation; If so, let \sigma be the MGU, and (1) move L to the other side of the implication as neg_L and add (H :- B)\sigma to the clause; (2) replace H :- L by H :- L, unequal(A,L) (this is the complementary case). Thus, your prover should build-in the 'unequal' predicate, which means 'non-unifiability'. The transformation obviously preserves (un)satisfiability but can lead to exponential growth of the clause set; on the other hand, the set of ground isntances of the transformed set which satisfies the constraints is _exactly_ the same as the set of ground instances of the original clause set. In case of trouble ask Peter Baumgartner peter@informatik.uni-koblenz.de