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.

Reply via email to