Well, this then raises another issue: we have all of these different link types -- and there are so many of them, and so many of them are almost the same but are slightly different in ways that almost no one understands.
It seems to me that we have mixed together two different concepts: (a) the syntactic structure of links, and (b) the PLN semantics of links. Maybe we should un-mix them. So, to me, it seems like BindLink and ImplicationScopeLink are the same thing (at least as far as (a)-syntax is concerned), but Ben says no, they have different meanings in PLN -- one has one kind of truth value, the other has a different kind. Perhaps we need atoms with two different kinds of types -- a syntactic type, which indicates what their structure is, and a semantic type, which indicates what kind of TV formulas should be used? There are additional issues: for example: the page http://wiki.opencog.org/w/ExtensionalImplicationScopeLink#Remarks makes remarks like this: ExtensionalImplicationScopeLink <TV> <vardecl> <implicant-body> <implicand-body> is equivalent to ExtensionalImplicationLink <TV> LambdaLink <vardecl> <implicant-body> LambdaLink <vardecl> <implicand-body> Huh ? My head spins, I have no clue how to read or understand that. They seem to be two completely different kinds -- the second one is a pair of combinators, the first one is not a combinator at all -- they're not even of the same kind, so how can one convert one into the other? and then there's this: ExtensionalImplicationScopeLink <TV> X EvaluationLink P X EvaluationLink Q X is equivalent to ExtensionalImplicationLink <TV> P Q which cannot possibly be right -- They're not even of the same kind -- how can they possibly be convertible into one-another? The only part of that that does make sense to me is this: ExtensionalImplicationScopeLink <TV> is not equivalent to AverageLink <TV> Ahh!! Yes, OK, that makes sense. But this is exactly where it would be good to decouple syntax from PLN semantics. To recap: we seem to be using atom types to sometimes indicate (a) syntax and sometimes (b) PLN TV value formulas. I'm thinking that maybe there is a better way to indicate which is which. --linas On Tue, Nov 8, 2016 at 2:03 AM, Nil Geisweiller <[email protected]> wrote: > I've added some notes about that > > http://wiki.opencog.org/w/ExtensionalImplicationScopeLink#Remarks > > My feeling based is that the ImplicationScopeLink (I mean, either mixed, > extensional or intensional) is what we want in most cases, which is good > given that it's syntactically simpler than wrapping an AverageLink or > ForAllLink around an implication. > > Nil > > > On 11/08/2016 01:37 AM, Ben Goertzel wrote: > >> I think this may be what the >> >> AverageQuantifierLink >> >> used to do? >> >> Then we could say >> >> AverageQuantifierLink >> VariableNode x >> ImplicationLink >> P(x) >> Q(x) >> >> and this would do what PLN needs... and if Bob had a different kind of >> logic with its own formulas he could have >> >> BobsQuantifierLink >> VariableNode x >> ImplicationLink >> P(x) >> Q(x) >> >> But I'm not sure this would satisfy all Nil's current requirements? >> >> ben >> >> On Mon, Nov 7, 2016 at 11:28 PM, Linas Vepstas <[email protected]> >> wrote: >> >>> OK, that makes sense. In that case, though, why not invent a new >>> SpecialAllLink which has the desired properties? Inventing one new link >>> for >>> this would be more economical, and less confusing than having six new >>> links: >>> >>> ImplicationScope >>> IntentionalImplicationScope >>> ExtensionalImplicationScope >>> EquivalenceScope >>> IntensionalEquivalenceScope >>> ExtensionalEquivalenceScope >>> >>> which is what the current code does. >>> >>> Besides, come the day you want to change the PLN formula, or create yet >>> another one, you would just need a NewFormulaLink instead of six new >>> links. >>> >>> --linas >>> >>> On Mon, Nov 7, 2016 at 4:23 PM, Ben Goertzel <[email protected]> wrote: >>> >>>> >>>> If we have >>>> >>>> ImplicationScopeLink >>>>> VariableNode x >>>>> P(x) >>>>> Q(x) >>>>> >>>> >>>> then e.g. PLN can assign this a truth value equal to >>>> >>>> Sum_x ( max( P(x), Q(x)) ) / Sum_x P(x) >>>> >>>> or >>>> >>>> Sum_x ( P(x) * Q(x) ) / Sum_x P(x) >>>> >>>> but may assign a quite different truth value for >>>> >>>> ForAllLink >>>> VariableNode x >>>> ImplicationLink >>>> P(x) >>>> Q(x) >>>> >>>> >>>> PLN does assign these two constructs different uncertain truth values, >>>> so this is not just a theoretical difference... >>>> >>>> Other uncertain logic frameworks may also assign the two constructs >>>> different TVs, I would think... >>>> >>>> ben >>>> -- >>>> Ben Goertzel, PhD >>>> http://goertzel.org >>>> >>>> “I tell my students, when you go to these meetings, see what direction >>>> everyone is headed, so you can go in the opposite direction. Don’t >>>> polish the brass on the bandwagon.” – V. S. Ramachandran >>>> >>> >>> >>> >> >> >> -- 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 [email protected]. To post to this group, send email to [email protected]. 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/CAHrUA34rwZmf%2B%2BR1NN1ngxo33G69xWajA4Mr-oOhATfEc3JaqA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
