- From: Joachim Peer <joachim.peer@unisg.ch>
- Date: Thu, 3 Apr 2003 17:16:54 +0200
- To: www-rdf-logic@w3.org
- Cc: joachim.peer@unisg.ch
(sorry for re-posting - my first email was cut off for some reason..) Hi all, could you please take a look at the following problem: assume we have a horn program (set of horn clauses) and we want to determine IF 2 of these clauses are "logically equivalent". Let's assume that there are NO outer-logic extensions (cut, arithmetic evaluation etc.) An example: goal1(x,y) <- foo(x,y), helper(x). helper(x) <- bar(x). goal2(x,y) <- foo(x,y), bar(y). Is there an alogrithm to find out wether 2 goals (e.g. "goal1" and "goal2") are logically equivalent ? In the example above, the two rules look equivalent (especially after substituting helper/1 by bar/1), but they aren't, since "bar" uses the varibale "x" in one case and "y" in the other case. The two clauses would be "logically equivalent", if goal2 would be defined as "goal2(x,y) <- foo(x,y), bar(x)" I need such an algorithm for a prototyp i am currently planning, a semantic web service matchmaking engine. The Horn Clauses would serve as Pre- and Postconditions assigned to service operations. I have the feeling there MUST be some algorithm (or some proof why such an algorithm does NOT exist), but i don't know where I should start to look. thanks for any hints !! joachim -- Joachim Peer, Research Assistant, MCM institute, University of St. Gallen, Blumenbergplatz 9, 9000 St. Gallen, Switzerland Phone: 0041-71-224-3441, Fax: 0041-71-224-2771 joachim.peer@unisg.ch http://sws.mcm.unisg.ch/jpeer
Received on Thursday, 3 April 2003 10:39:39 UTC