![]() |
Given a triple (property subject value), a Frame Meta Information proof step derives information for use by JTP's frame system, including that subject is a frame, property is a slot, and the frame subject has property as one of its slots.
Given the literal (subClassOf CRAB SHELLFISH)
derive the literal (:has-slot CRAB subClassOf)
This proof step indicates that, in JTP's frame system, a specific Value Collection contains the value in question.
A Value Collection can be thought of as the set of values of ?x that satisfy a triple of the form (property subject ?x), or of the form (property ?x value).
Given a triple (property subject value) this proof step could represent the inference that ?x=value belongs to the Value Collection (property subject ?x), or the inference that ?x=subject belongs to the Value Collection (property ?x value).
Given the triple (subClassOf SHELLFISH SEAFOOD) derive that ?x=SEAFOOD is a member of the Value Collection (subClassOf SHELLFISH ?x).
This proof step is a special case of the Membership Rule, wherein membership in a Value Collection is inferred using a Value Link. For more information on Value Links, see the Value Link Creation rule description.
Given that ?x=SEAFOOD is a member of the Value Collection (subClassOf SHELLFISH ?x), and given a Value Link represented by
(<= (subClassOf CRAB ?y)
(subClassOf SHELLFISH ?y))
derive that ?z=SEAFOOD is also a member of the Value Collection represented by (subClassOf CRAB ?z).
This proof step is a forward-chaining resolution reasoning step implemented with Value Collections and listeners in JTP's frame system.
Given a Horn clause with one positive literal and N>=3 negative literals, and given another positive triple P that unifies with one of the negative literals in the Horn clause, derive a shorter Horn clause with N-1 negative literals as would occur in a resolution step.
Note: some implementation detail is useful here to motivate the name of the rule. Negative literals in the clause that are triples with one unbound variable correspond to Value Collections in JTP's frame system. Recall that a Value Collection can be viewed as the set of values of ?x that satisfy a triple of the form (property subject ?x), or of the form (property ?x value). A listener is created for one of those Value Collections to await new values, so that when one arrives (represented by triple P in the description above), this triggers the creation of new Value Collection listeners that correspond to triples with one unbound variable in the resultant shorter clause, thereby enabling future resolution involving the shorter clause.
Note: regarding the restriction to N>=3 above, note that when N=2 the resulting clause would have only one antecedent and can be viewed as a Value Link between the Value Collections corresponding to its positive and negative triples, so the Value Link Creation proof step would instead be invoked to create such a Value Link. For more information refer to the Value Link Creation rule description.
Example 1:
Given the horn clause corresponding to a Value Collection Listener Creation step:
(<= (holds ?prop ?w ?x)
(and (type ?prop TransitiveProperty)
(holds ?prop ?w ?y)
(holds ?prop ?y ?x)))
wherein a listener has been set up awaiting new values for the Value Collection (type ?prop TransitiveProperty), and given the triple (type subClassOf TransitiveProperty), derive a new horn clause
(<= (subClassOf ?w ?x)
(and (subClassOf ?w ?y)
(subClassOf ?y ?x)))
with variable binding ?prop=subClassOf, and create a listener for Value Collection (:has-slot ?z subClassOf) to enable future resolution; this is what happens when the resultant clause has no literals corresponding to Value Collections.
Example 2:
Given the resultant clause above, and the triple (:has-slot CRAB subClassOf), derive a new clause:
(<= (subClassOf CRAB ?x)
(and (subClassOf CRAB ?y) (subClassOf ?y ?x)))
with variable binding ?w=CRAB, and create a listener for Value Collection (subClassOf CRAB ?y) to enable future resolution.
This proof step is a forward-chaining resolution reasoning step implemented with Value Collections, listeners, and Value Links in JTP's frame system.
Given a Horn clause with one positive literal and N=2 negative literals, and given another positive triple P that unifies with one of the negative literals in the Horn clause, derive a shorter Horn clause with one antecedent as would occur in a resolution step. (For the case of N>=3 negative literals refer to the Value Collection Listener Creation rule description.
Note: some implementation detail is useful here to motivate the name of the rule. Negative literals in the clause that are triples with one unbound variable correspond to Value Collections in JTP's frame system. Recall that a Value Collection can be viewed as the set of values of ?x that satisfy a triple of the form (property subject ?x), or of the form (property ?x value). A listener is created for one of those Value Collections to await new values, so that when one arrives (represented by triple P in the description above), this triggers the creation of a Value Link.
A ValueLink represents the inclusion of one Value Collection, the source, into another Value Collection, the target. A Value Link from source collection (p1 s1 ?x) to target collection (p2 s2 ?y) asserts that all values of ?x in the source are also values for ?y in the target. A Value Link can thus be viewed as implementing the implication:
(<= (p2 s2 ?x)
(p1 s1 ?x))
Example 1:
Consider the Value Collections (type Rover ?x) and (subClassOf Dog ?y), and suppose we know that (type Rover Dog). Then a Value Link from the source Value Collection (subClassOf Dog ?y) to the target Value Collection (type Rover ?x) asserts that all superclasses of Dog are also types for Rover. This ValueLink can be viewed as implementing the implication:
(<= (type Rover ?x)
(subClassOf Dog ?x))
Example 2:
Given the clause corresponding to a Value Collection Listener Creation step:
(<= (subClassOf CRAB ?x)
(and (subClassOf CRAB ?y) (subClassOf ?y ?x)))
wherein a listener has been set up awaiting new values for the Value Collection (subClassOf CRAB ?y), and given the triple (subClassOf CRAB SHELLFISH), a Value Link Creation proof step derives using variable binding ?y=SHELLFISH a new clause:
(<= (subClassOf CRAB ?x)
(subClassOf SHELLFISH ?x))
by setting up a Value Link from the Value Collection (subClassOf SHELLFISH ?x) to the Value Collection (subClassOf CRAB ?x).
Copyright 2009 Inference Web group.
All Rights Reserved.
