Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!purdue!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!news.mathworks.com!zombie.ncsc.mil!simtel!harbinger.cc.monash.edu.au!bunyip.cc.uq.oz.au!marlin.jcu.edu.au!geoff
From: geoff@cs.jcu.edu.au (Geoff Sutcliffe)
Subject: Re: Help: subsumption test
Message-ID: <geoff.810252203@coral.cs.jcu.edu.au>
Sender: news@marlin.jcu.edu.au (USENET News System)
Organization: James Cook University
References: <199508200506.WAA03041@usc.edu>
Date:  4 Sep 95 22:03:23 GMT
Lines: 26

In <199508200506.WAA03041@usc.edu> luutran@dragon.sci.csupomona.edu (Luu Tran) writes:

>Hello,

>1) I vaguely remember seeing somewhere a clever way to perform the
>subsumption test in Prolog.  (P subsumes Q if P is a "more general" instance
>of Q).  But now I've forgotten it.  Can someone help?

Here's my best, extracted from more general clause subsumption code, to
appear in the AAR newsletter soon (I think).

%----------------------------------------------------------------------
subsumes(Subsuming,Subsumed):-
%----Verify to avoid instiating variables
    \+ \+ (
        numbervars(Subsumed,0,_),
        Subsuming = Subsumed).
%----------------------------------------------------------------------

Geoff

--
Geoff Sutcliffe
Department of Computer Science    Email : geoff@cs.jcu.edu.au
James Cook University             Phone : +61 77 815085/814622
Townsville, Australia, 4811.      FAX   : +61 77 814029
