Ben, that's fine, I don't care. But if that is what you want, then the unit test is wrong. I'm just asking for confirmation, before I change it, since Nil wrote the unit test.
--linas On Wed, Oct 12, 2016 at 11:01 AM, Ben Goertzel <b...@goertzel.org> wrote: > Potentially Atomspace could host other sorts of variables.... But, > since ImplicationLink is a PLN (or other formal logic) thing, it makes > sense to have the variables involved with implicationLink bound > somewhere, since that is how formal logic works, right? > > Potentially this quantification could be left implicit sometimes. But > I recall we decided a year or so ago that "implicit quantification" > was causing too much confusion, and we wanted all VariableNodes to be > bound somewhere or other in the Atomspace .... > > So I think the above is the backdrop for making ImplicationLink a kind > of ScopeLink... > > There may be some technical detail I am overlooking though... > > On Wed, Oct 12, 2016 at 8:55 AM, Linas Vepstas <linasveps...@gmail.com> > wrote: > > Well, yes, but Nil,, look at the core issue: the variable X in the > > Implication link is bound, but the unit test is pretending that its free. > > My question is: are you *sure* you really want the implicationLink to > > inherit from Scope Link (and thus, always bind it's variables)? > > > > --linas > > > > > > On Wed, Oct 12, 2016 at 10:39 AM, Nil Geisweiller < > ngeis...@googlemail.com> > > wrote: > >> > >> OK, when they fail again I guess you might feel free to push to the > >> master, as we're apparently using as a dev branch, and then I'll fix > that. > >> > >> Nil > >> > >> On 10/12/2016 06:17 PM, Linas Vepstas wrote: > >>> > >>> No, actually, I worked around that. > >>> > >>> The only reason that PutLinkUTest currently passes is because PutLink > >>> fails to treat ScopeLinks correctly. When that gets fixed, the unit > >>> test will fail ... the issue remains the same. > >>> > >>> --linas > >>> > >>> On Tue, Oct 11, 2016 at 11:57 PM, Nil Geisweiller > >>> <ngeis...@googlemail.com <mailto:ngeis...@googlemail.com>> wrote: > >>> > >>> Are these unit tests still failing? > >>> > >>> Nil > >>> > >>> > >>> On 10/11/2016 08:36 PM, Linas Vepstas wrote: > >>> > >>> 47 unit tests fail ... I'm not sure if they all fail for the > same > >>> reason, though. > >>> > >>> For example PutLink > >>> > >>> (PutLink > >>> (LambdaLink > >>> (VariableList > >>> (TypedVariableLink > >>> (VariableNode "$X") > >>> (TypeNode "PredicateNode") > >>> ) > >>> (TypedVariableLink > >>> (VariableNode "$Y") > >>> (TypeNode "PredicateNode") > >>> ) > >>> ) > >>> (AndLink > >>> (EvaluationLink > >>> (PredicateNode "acquainted") > >>> (ListLink > >>> (VariableNode "$X") > >>> (VariableNode "$Y") > >>> ) > >>> ) > >>> (ImplicationLink > >>> (VariableNode "$X") ; this is alpha-converted to > >>> $foo1233 > >>> (PredicateNode "is-human") > >>> ) > >>> (ImplicationLink > >>> (VariableNode "$X") ; this is alpha-converted to > >>> $bar456 > >>> (PredicateNode "is-human") > >>> ) > >>> ) > >>> ) > >>> (ListLink > >>> (PredicateNode "is-Self") > >>> (PredicateNode "is-Bob") > >>> ) > >>> ) > >>> > >>> So, because the implication link is scoped, the result of the > >>> variable > >>> substitution is > >>> > >>> (AndLink > >>> (ImplicationLink > >>> (VariableNode "$foo123") > >>> (PredicateNode "is-human") > >>> ) > >>> (ImplicationLink > >>> (VariableNode "$bar456") > >>> (PredicateNode "is-human") > >>> ) > >>> (EvaluationLink > >>> (PredicateNode "acquainted") > >>> (ListLink > >>> (PredicateNode "is-Self") > >>> (PredicateNode "is-Bob") > >>> ) > >>> ) > >>> ) > >>> > >>> which is not what the unit test expects. The problem with using > >>> either > >>> ScopeLink or LambdaLink is that it becomes impossible to have a > >>> stable > >>> variable name -- it can be alpha-converted to anything, so any > >>> algo that > >>> depends on having a fixed, well-known variable name will fail. > >>> > >>> In this case -- I am not sure -- if you want ImplicationLink to > >>> be > >>> scoped, then the unit test is wrong. But is the unit test is > >>> right, > >>> then implication link must not be scoped. I cannot tell which > >>> one is > >>> wanted. > >>> > >>> --linas > >>> > >>> > >>> > >>> On Tue, Oct 11, 2016 at 12:12 PM, Nil Geisweiller > >>> <ngeis...@googlemail.com <mailto:ngeis...@googlemail.com> > >>> <mailto:ngeis...@googlemail.com > >>> > >>> <mailto:ngeis...@googlemail.com>>> wrote: > >>> > >>> Linas, > >>> > >>> I don't have time to get into that right now. If you can > >>> point to > >>> where exactly it breaks (like a unit test on your branch) > >>> it would > >>> help. In any case I look carefully into that and reply > >>> tomorrow. > >>> > >>> Nil > >>> > >>> > >>> On 10/11/2016 06:55 PM, Linas Vepstas wrote: > >>> > >>> You made it inherit from ScopeLink, thus making the > >>> variables in it > >>> implicitly scoped. Then you added the file > >>> ImplicationLink.cc, > >>> and have > >>> notes in there, complaining about how variables are > >>> implcitly > >>> scoped. > >>> The wiki page for it, > >>> http://wiki.opencog.org/w/ImplicationLink > >>> <http://wiki.opencog.org/w/ImplicationLink> > >>> <http://wiki.opencog.org/w/ImplicationLink > >>> <http://wiki.opencog.org/w/ImplicationLink>> still > >>> says things that are wrong (re alpha conversion -- > each > >>> lambda gets > >>> alpha converted, so the "sugar syntax" section cannot > >>> possibly > >>> be right). > >>> > >>> I'm asking, because I'm trying to fix #910 by doing > the > >>> alpha > >>> conversion > >>> correctly, and the result of the fix is that unit > tests > >>> with > >>> implication > >>> links in them now fail. The whole thing smells bad. > >>> > >>> Either ImplicationLinks do inherit from ScopeLink, in > >>> which > >>> case, there > >>> should be no complaints about how the ScopeLink works: > >>> it does > >>> the right > >>> thing. If you don't like what the scopeLink does, > then > >>> ImplicationLinks > >>> should NOT inherit from it ... > >>> > >>> In either case, the wiki page needs fixing, because > the > >>> alpha > >>> conversion > >>> conversation we had recently renders that page > >>> incoherent. > >>> > >>> I don't really care, one way or the other, but I do > need > >>> to > >>> understand > >>> the intended design well enough to be able to fix > bugs, > >>> and > >>> right now, I > >>> don't understand what ImplicationLink is, or how its > >>> supposed to > >>> work. > >>> > >>> --linas > >>> > >>> > >>> > >>> > > > > -- > > You received this message because you are subscribed to the Google Groups > > "opencog" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to opencog+unsubscr...@googlegroups.com. > > To post to this group, send email to opencog@googlegroups.com. > > Visit this group at https://groups.google.com/group/opencog. > > To view this discussion on the web visit > > https://groups.google.com/d/msgid/opencog/CAHrUA35w5rCVqPgSYr8EcmJHGRKT- > g8P5%2BtoFfh2Fg2Hu06FnA%40mail.gmail.com. > > > > For more options, visit https://groups.google.com/d/optout. > > > > -- > Ben Goertzel, PhD > http://goertzel.org > > Super-benevolent super-intelligence is the thought the Global Brain is > currently struggling to form... > > -- > You received this message because you are subscribed to the Google Groups > "opencog" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to opencog+unsubscr...@googlegroups.com. > To post to this group, send email to opencog@googlegroups.com. > Visit this group at https://groups.google.com/group/opencog. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/opencog/CACYTDBd9QTQn2qdtrGh42-NnYHQQ2VvyP%3Dcurryfb_ > tMLsEUhg%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to opencog+unsubscr...@googlegroups.com. To post to this group, send email to opencog@googlegroups.com. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAHrUA35-O8_o7hr8gEx3Kjy_%3D46PGRJpTiUjFRUYPxEdQUX_aQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.