From my understanding of the code, the validate methods don't actually
check the order of < L2, L1 > is invalid. Just that the types are
correct since it only checks one handle/Vertex at a time and I don't
see how it would share any binding information between calls to
weak_atom...
Correct.
[1] whereas the o2iMeta functions DO ensure that the
shared atoms of links are correct, but I could be completely wrong.
I'm confused about whether these output-to-input functions can be used
for forward chaining too.
o2i function do check the variable consistency, but the method for doing
that is rather tightly integrated with the whole binding scheme.
Basically, you don't actually check for consistency in the o2i approach
at all; instead, you start out with the correct formula with variables
(eg. DeductionRule($1=>$2, $2->$3) and then create a new instance of the
whole Rule (or rather, the BITNode that embodies the Rule) by binding
one of the variables to some Atom, eg. resulting in
DeductionRule($1=>MyAtom, MyAtom->$3). This way, consistency is
guaranteed. This does cost space and time for cloning the BITNodes, but
then again ensuring consistency across large trees by other means is a
hairy problem.
I believe an analogic solution can be used for fw chaining, but it's
possible you can find something else, too, which is simpler and works
for fw chaining only.
-A
--
Ari Heljakka
CTO
Dream Broker Ltd
Tekniikantie 14 [EMAIL PROTECTED]
02150 Espoo +358 40 568 2420
Finland www.dreambroker.fi
_______________________________________________
Mailing list: https://launchpad.net/~opencog-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~opencog-dev
More help : https://help.launchpad.net/ListHelp