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

Reply via email to