Ulrich Scholz wrote: > > [eclipse 2]: f('u_7_5', X), prove_formula(X). > > *** ECLiPSe fatal error: Fatal signal caught in emulator Dear Ulrich, the problem is caused by a missing occurs check, which leads to a cyclic structure, which eventually causes a stack overflow within a recursion. The reason the occurs check is missing is that the program uses member/2 from the lists library. This library is already compiled at the time the occur_check-flag gets switched on, and therefore member/2 and others are already compiled without occurs checks. You can fix it by compiling your own member/2 after switching the flag on. I.e. add this at the beginning of start.pl: :- set_flag(occur_check,on). :- local member/2. % a member/2 with occurs check member(X,[X]). member(X,[_|Xs]) :- member(X,Xs). Best regards, -- Joachim Schimpf / phone: +44 20 7594 8187 IC-Parc, Imperial College / mailto:J.Schimpf@ic.ac.uk London SW7 2AZ, UK / http://www.icparc.ic.ac.uk/eclipseReceived on Tue Jun 11 19:27:21 2002
This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:16 PM GMT GMT