An asserted node with a certain set of arcs emanating from it implies another node with a subset of those arcs. Using this implication to derive new nodes is called ``reduction inference,'' and is implemented and used by deduce . For example,
* (describe (assert member (snoopy rover) class (dog animal))) (M1! (CLASS ANIMAL DOG) (MEMBER ROVER SNOOPY)) (M1!) CPU time : 0.08 * (describe (deduce member snoopy class dog)) (M2! (CLASS DOG) (MEMBER SNOOPY)) (M2!) CPU time : 0.05 * (describe (assert agent john act gives object book-1 recipient mary)) (M3! (ACT GIVES) (AGENT JOHN) (OBJECT BOOK-1) (RECIPIENT MARY)) (M3!) CPU time : 0.08 * (describe (deduce agent john act gives object book-1)) (M4! (ACT GIVES) (AGENT JOHN) (OBJECT BOOK-1)) (M4!) CPU time : 0.05
Warning:
According to Shapiro, 1991,
if you build a node that is implied via
reduction inference by an already asserted node, the
new node will automatically be asserted. This is not implemented in
the current version of SNePS 2.