Is automatic alpha-conversion evil?

79 views
Skip to first unread message

Nil Geisweiller

unread,
Oct 21, 2016, 11:55:37 AM10/21/16
to opencog
Hi,

I start to think that automatic alpha-conversion is evil.

First let me recall what it does. Say you've added

(Scope (VariableList (Variable "$X") (Variable "$Y"))
(And (Variable "$X") (Variable "$Y")))

and you subsequently add

(Scope (And (Variable "$gold") (Variable "$silver")))

then recalling the handle of that last addition, you'd get the first
alpha-equivalent scope, which is

(Scope (VariableList (Variable "$X") (Variable "$Y"))
(And (Variable "$X") (Variable "$Y")))

This is rather confusing to the user, but even worse the pattern matcher
behaves differently with the former or the latter. If you use the former
to match grounds containing variables "$X" and "$Y" it may not work due
to the pattern matcher discarding self-matches. The latter would match
UNLESS the former has been previously added, because the variables
"$gold" and "$silver" would be silently replaced by "$X" and "$Y". This
is horribly confusing to the user!

Second, it seems rather arbitrary to try to detect this kind of
equivalence while there's an infinity of others. For instance

(And (Variable "$X") (And (Variable "$Y"))

is equivalent to

(And (Variable "$X") (Variable "$Y"))

For these reasons I think semantic equivalence detection shouldn't be
incorporated into the AtomSpace. The AtomSpace should take care of the
syntax only (OK, with the exception of unordered links), as it's always
been, and this task should differed to another process working above the
AtomSpace.

It was suggested a while ago to have a normal form reduction engine for
the AtomSpace, similar to MOSES', and such an engine could be used to
reduce while adding atoms, if the user chooses so. This is a much
cleaner way to handle that. Also since semantic equivalence is
undecidable, there will always be a battle between completeness and
performance. Another reason to have this ever growing monster above the
AtomSpace rather than in it.

OK, I don't know if I've convinced you, or even if I've convinced
myself, but it's really a discussion we need to have.

Opinions welcome.

Nil

Matt Chapman

unread,
Oct 21, 2016, 2:04:11 PM10/21/16
to opencog
Id dint know the atomspace did this, and I would be annoyed to find it showing up in results unexpectedly. I agree, determining semantic equivalence is the job of a Mind Agent.

There's my semi-annual 2 cents. 

All the Best,

Matt

--
Standard Disclaimer:
Please interpret brevity as me valuing your time, and not as any negative intention.



Nil

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Ben Goertzel

unread,
Oct 21, 2016, 8:34:26 PM10/21/16
to opencog
Nil,

Just brainstorming here, but perhaps the command for adding an Atom
should have an option that the user can set, which determines whether
the results would be alpha-converted or not

The default would be to do the alpha-conversion (which would be
appropriate if the variable names are say randomly generated, and thus
of no particular importance to the user -- the alpha conversion is
then just preventing odd collisions between randomly generated
variable names created by two different processes)

However, if the user wants they can override this default and specify
"no alpha conversion", and then it is their responsibility to check
and be sure their chosen VariableNode names are not going to be used
in a way that creates some conflict ...

This option would need to be added to Scheme, python, Haskell
bindings, but also to the core API for adding scoped links, I guess...

I am only about 83.456% sure I understand the problem here...

-- Ben
> --
> 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+u...@googlegroups.com.
> To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.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...

Nil Geisweiller

unread,
Nov 16, 2016, 6:34:42 AM11/16/16
to ope...@googlegroups.com
I'm back to this issue.

The notion of LocalQuote is indeed incompatible with systematic
alpha-conversion.

Consider this pattern

(Get
(VariableList
(TypedVariable
(Variable "$X")
(Type "TypedVariableLink"))
(TypedVariable
(Variable "$P")
(Type "PredicateNode"))
(TypedVariable
(Variable "$Q")
(Type "PredicateNode"))
(LocalQuote
(ImplicationScope
(Variable "$X")
(Variable "$P")
(Variable "$Q"))))

This fetches ImplicationScope links.

If the following

(ImplicationScope
(Variable "$X")
(Variable "$P")
(Variable "$Q"))

happen to be alpha-equivalent to something with different variable names
it will render the Bind link invalid.

Indeed alpha-conversion shouldn't be triggered in that case, the right
idea is that the ImplicationScope, when quoted corresponds to a
DIFFERENT atom than the one not being quoted. Also of course if we
decide to not perform systematic alpha-conversion then this problem
doesn't arise.

I'm re-iterating my question. Do we really want automatic
alpha-conversion to begin with?

If the answer is yes then I suppose we need a way to tell that the
quoted version is different than then unquoted version.

Nil

Nil Geisweiller

unread,
Nov 16, 2016, 6:43:52 AM11/16/16
to ope...@googlegroups.com
Another option would be to defined quoted atom types corresponding to
all scope links, like

QuotedImplicationScopeLink

Or

ImplicationScopeLocalQuoteLink

which would inherit a LocalQuoteLink.

It has the advantage of being compact, unambiguous and circumvent the
alpha-conversion issue altogether.

What do you think?

Nil

Ben Goertzel

unread,
Nov 16, 2016, 6:44:47 AM11/16/16
to opencog

Too ugly...

More later...



To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.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+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.

Linas Vepstas

unread,
Nov 16, 2016, 12:50:18 PM11/16/16
to opencog
On Wed, Nov 16, 2016 at 5:34 AM, 'Nil Geisweiller' via opencog <ope...@googlegroups.com> wrote:
I'm back to this issue.

The notion of LocalQuote is indeed incompatible with systematic alpha-conversion.

Consider this pattern

(Get
   (VariableList
      (TypedVariable
         (Variable "$X")
         (Type "TypedVariableLink"))
      (TypedVariable
         (Variable "$P")
         (Type "PredicateNode"))
      (TypedVariable
         (Variable "$Q")
         (Type "PredicateNode"))
   (LocalQuote
      (ImplicationScope
         (Variable "$X")
         (Variable "$P")
         (Variable "$Q"))))

This fetches ImplicationScope links. 

Well, no, it throws an error:

 ERROR: Throw to key `C++-EXCEPTION' with args `("cog-new-link" "Expected a VariableNode or a TypedVariableLink, got: LocalQuoteLink (/home/linas/src/novamente/src/atomspace-git/opencog/atoms/core/VariableList.cc:61)")'.

That's with a pull from just now.

anyway, it is designed to fetch  ImplicationScopeLinks that are ill-formed.  It's declared to find links like this:

(ImplicationScope
   (TypedVariableLink
       (TypeNode "ConceptNode")
       (VariableNode "vvv"))
   (PredicateNode "pa")
   (PredicateNode "qa"))

the variable never appears anywhere. Its -- well, the variable can be completely discarded, and you'd get an equivalent ImplicationScope that does not have any variables in it.


If the following

(ImplicationScope
   (Variable "$X")
   (Variable "$P")
   (Variable "$Q"))

happen to be alpha-equivalent to something with different variable names it will render the Bind link invalid.

? I don't understand what you're saying. Why would it be "invalid"? Is there a bug?  What do you mean by "happens to be alpha-equivalent"? It is, by definition, alpha-equivalent to an infinite number of other links. 

 

Indeed alpha-conversion shouldn't be triggered in that case,

In which case? Alpha conversion of what? 
 
the right idea is that the ImplicationScope, when quoted corresponds to a DIFFERENT atom than the one not being quoted.

Can you clarify?
 
Also of course if we decide to not perform systematic alpha-conversion then this problem doesn't arise.

You want to eliminate ScopeLink and Lambda Link ?  That's a very serious change.
 

I'm re-iterating my question. Do we really want automatic alpha-conversion to begin with?

What do you mean when you say "automatic"?  Either there is alpha conversion, or there is not.   What else can it be?
 

If the answer is yes then I suppose we need a way to tell that the quoted version is different than then unquoted version.

 what is different from what?  A better example is needed.

--linas
 

Nil

To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.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+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.

Linas Vepstas

unread,
Nov 16, 2016, 12:56:28 PM11/16/16
to opencog
Ah, the exception was due to a bug in the original email.  After fixing that, it the code works just fine, I don't see what the problem is.  Cut n paste of the works-for-me version below.

--linas

(use-modules (opencog) (opencog query) (opencog exec))

(define g
(Get
   (VariableList
      (TypedVariable
         (Variable "$X")
         (Type "TypedVariableLink"))
      (TypedVariable
         (Variable "$P")
         (Type "PredicateNode"))
      (TypedVariable
         (Variable "$Q")
         (Type "PredicateNode")))
   (LocalQuote
      (ImplicationScope
         (Variable "$X")
         (Variable "$P")
         (Variable "$Q")))))

;; except to find this
(ImplicationScope
   (TypedVariableLink
       (VariableNode "vvv")
       (TypeNode "ConceptNode")
   )
   (PredicateNode "ppp")
   (PredicateNode "qqq"))


(cog-execute! g)

;; returns the expected result. What is the problem?


Ben Goertzel

unread,
Nov 16, 2016, 9:27:56 PM11/16/16
to opencog
Nil,

I just reviewed our dialogue on this from a year ago...

It seems what we provisionally concluded there was that the chainer
should do alpha-conversion on the fly in the course of pattern
matching ... but that the Atomspace shouldn't do alpha-conversion
"automatically" in any other sense [unless we want to add some Reduct
type engine on the Atomspace, which could do alpha-conversion along
with other normalizations, but that becomes a separate issue]

We also discussed a cog-new-var command that could be used to minimize
the complexities of alpha-conversions... (via reducing the incidence
of redundant variable names)

In this case, the alpha-conversion done by the chainer in the course
of doing its business, would need to handle LocalQuoteLink
correctly...

The choice of the chainer to do alpha-conversion but not (yet) more
general types of reduction, would be made because alpha-conversion is
cheaper and easier and of such broad utility. Later versions of the
chainer might do more general reductions as part of their ordinary
business, as well...

I may be missing something; a year ago when William and I were talking
about this, my head was fully immersed in the problem, but it's less
the case right now...

-- Ben




On Wed, Nov 16, 2016 at 8:34 PM, 'Nil Geisweiller' via opencog
> https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.



--
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

Linas Vepstas

unread,
Nov 16, 2016, 10:14:06 PM11/16/16
to opencog
Look, if there is a bug, open a bug report. I'm nervous about these kind of blanket statements about what's best and what is not best.  The atomspace is already complicated, adding more complexity to it is not a solution.

--linas


>>> To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.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

> To post to this group, send email to ope...@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/582C444E.4030706%40gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.



--
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 opencog+unsubscribe@googlegroups.com.

To post to this group, send email to ope...@googlegroups.com.
Visit this group at https://groups.google.com/group/opencog.

Ben Goertzel

unread,
Nov 17, 2016, 12:29:08 AM11/17/16
to opencog
Opening a GitHub issue may be a good idea, but I want to clarify that
what Nil is talking about may be a "missing, potentially useful
feature" rather than a bug per se..
>> >>> email to opencog+u...@googlegroups.com.
>> >>> To post to this group, send email to ope...@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/580A3A75.1020708%40gmail.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+u...@googlegroups.com.
>> > To post to this group, send email to ope...@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/582C444E.4030706%40gmail.com.
>> >
>> > For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> 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 opencog+u...@googlegroups.com.
>> To post to this group, send email to ope...@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/CACYTDBfsGxXbowYoxEe0zeqcBmabJXUyqG0dTy%2B1-MmO7sGfHA%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+u...@googlegroups.com.
> To post to this group, send email to ope...@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/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com.

Nil Geisweiller

unread,
Nov 17, 2016, 1:42:32 AM11/17/16
to ope...@googlegroups.com
Oh, my query was idiotic, $P and $Q wouldn't be typed PredicateNode, I
meant something like EvaluationLink as to let a change to have the
variables appear in them.

Nil
> <ope...@googlegroups.com <mailto:ope...@googlegroups.com>>
> email to opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> To post to this group, send email to
> ope...@googlegroups.com <mailto:ope...@googlegroups.com>.
> <https://groups.google.com/group/opencog>.
> <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>.
> For more options, visit
> https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> <https://groups.google.com/group/opencog>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com
> <https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com>.
>
> For more options, visit https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@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/CAHrUA36wu5Kv7PtyCPn2crbsqyu8C3rgMR49_nqLLgYSFZ4TCg%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CAHrUA36wu5Kv7PtyCPn2crbsqyu8C3rgMR49_nqLLgYSFZ4TCg%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Nil Geisweiller

unread,
Nov 17, 2016, 1:54:43 AM11/17/16
to ope...@googlegroups.com
The reason I didn't want to open a bug report just yet is because I
wanted to discuss whether we really want to check alpha-equivalence
whenever a new scope link is added to the atomspace (and subsequently
consider both equal and return the previous one to the user).

Nil
> >>> email to opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> >>> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> >>> Visit this group at https://groups.google.com/group/opencog
> <https://groups.google.com/group/opencog>.
> >>> To view this discussion on the web visit
> >>>
> https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
> <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>.
> >>> For more options, visit https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> > To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> <https://groups.google.com/group/opencog>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com
> <https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com>.
> >
> > For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
>
>
> --
> 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 opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> <https://groups.google.com/group/opencog>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/CACYTDBfsGxXbowYoxEe0zeqcBmabJXUyqG0dTy%2B1-MmO7sGfHA%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CACYTDBfsGxXbowYoxEe0zeqcBmabJXUyqG0dTy%2B1-MmO7sGfHA%40mail.gmail.com>.
> For more options, visit https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@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/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Ben Goertzel

unread,
Nov 17, 2016, 2:09:26 AM11/17/16
to opencog

I think our conclusion in 2015 was that processes like the chainer should do alpha conversion on the fly... so we should supply a utility function making it easy for anyone to invoke alpha conversion in a particular set of atoms..



    >>> To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.

    >>> Visit this group at https://groups.google.com/group/opencog
    <https://groups.google.com/group/opencog>.
    >>> To view this discussion on the web visit
    >>>
    https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
    <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>.
    >>> For more options, visit https://groups.google.com/d/optout
    <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

    > To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.

    > Visit this group at https://groups.google.com/group/opencog
    <https://groups.google.com/group/opencog>.
    > To view this discussion on the web visit
    >
    https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com
    <https://groups.google.com/d/msgid/opencog/582C444E.4030706%40gmail.com>.
    >
    > For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.



    --
    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,

    To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.

    Visit this group at https://groups.google.com/group/opencog
    <https://groups.google.com/group/opencog>.
    To view this discussion on the web visit
    https://groups.google.com/d/msgid/opencog/CACYTDBfsGxXbowYoxEe0zeqcBmabJXUyqG0dTy%2B1-MmO7sGfHA%40mail.gmail.com
    <https://groups.google.com/d/msgid/opencog/CACYTDBfsGxXbowYoxEe0zeqcBmabJXUyqG0dTy%2B1-MmO7sGfHA%40mail.gmail.com>.
    For more options, visit https://groups.google.com/d/optout
    <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

To post to this group, send email to ope...@googlegroups.com
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Linas Vepstas

unread,
Nov 17, 2016, 2:14:11 AM11/17/16
to opencog
On Thu, Nov 17, 2016 at 12:54 AM, 'Nil Geisweiller' via opencog <ope...@googlegroups.com> wrote:
The reason I didn't want to open a bug report just yet is because I wanted to discuss whether we really want to check alpha-equivalence whenever a new scope link is added to the atomspace (and subsequently consider both equal and return the previous one to the user).

At the moment, I don't see any reasonable alternative.  

You're suggesting that something is missing or that there's a problem, but I haven't yet inferred what it is.   I did notice a comment in Rule.h talking about a work-around to ScopeLinks -- perhaps that is a good starting point.  What is it that you want to do, and why is the scope link preventing you from doing it?

--linas


    >>> To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.

    >>
    >>
    >>
    >>
    >
    > --
    > 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

    > To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.




    --
    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,

    To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.



--
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

To post to this group, send email to ope...@googlegroups.com
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.

Nil Geisweiller

unread,
Nov 17, 2016, 2:51:14 AM11/17/16
to ope...@googlegroups.com


On 11/17/2016 09:09 AM, Ben Goertzel wrote:
> I think our conclusion in 2015 was that processes like the chainer
> should do alpha conversion on the fly... so we should supply a utility
> function making it easy for anyone to invoke alpha conversion in a
> particular set of atoms..

The URE does alpha-conversion whenever necessary as to avoid name
capture, there's no problem here. The problem comes from the fact that
the atomspace may silently perform alpha-conversion when a scope link is
added, ultimately there are solutions to address any problem resulting
from such implicit conversions, but I can't help it, there's a part of
me that feels ambivalent about it...

Anyway, I'll open a github issue whenever I encounter the problem I'm
trying to describe in real life situation.

Nil

>
>
> On Nov 17, 2016 3:54 PM, "'Nil Geisweiller' via opencog"
> <ope...@googlegroups.com <mailto:ope...@googlegroups.com>> wrote:
>
> The reason I didn't want to open a bug report just yet is because I
> wanted to discuss whether we really want to check alpha-equivalence
> whenever a new scope link is added to the atomspace (and
> subsequently consider both equal and return the previous one to the
> user).
>
> Nil
>
> On 11/17/2016 05:13 AM, Linas Vepstas wrote:
>
> Look, if there is a bug, open a bug report. I'm nervous about
> these kind
> of blanket statements about what's best and what is not best. The
> atomspace is already complicated, adding more complexity to it
> is not a
> solution.
>
> --linas
>
> On Wed, Nov 16, 2016 at 8:27 PM, Ben Goertzel <b...@goertzel.org
> <mailto:b...@goertzel.org>
> <ope...@googlegroups.com <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com
> >>> email to opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>
> <mailto:opencog%2Bunsu...@googlegroups.com
> <mailto:opencog%252Buns...@googlegroups.com>>.
> >>> To post to this group, send email to
> ope...@googlegroups.com <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>>.
> >>> Visit this group at
> https://groups.google.com/group/opencog
> <https://groups.google.com/group/opencog>
> <https://groups.google.com/group/opencog
> <https://groups.google.com/group/opencog>>.
> >>> To view this discussion on the web visit
> >>>
>
> https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
> <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>
>
> <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
> <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>>.
> >>> For more options, visit
> https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>
> <https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>
> <mailto:opencog%2Bunsu...@googlegroups.com
> <mailto:opencog%252Buns...@googlegroups.com>>.
> > To post to this group, send email to
> ope...@googlegroups.com <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>>.
> send an email to opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>
> <mailto:opencog%2Bunsu...@googlegroups.com
> <mailto:opencog%252Buns...@googlegroups.com>>.
> To post to this group, send email to
> ope...@googlegroups.com <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>>.
> <https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>
> <mailto:opencog+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>
> <mailto:ope...@googlegroups.com <mailto:ope...@googlegroups.com>>.
> Visit this group at https://groups.google.com/group/opencog
> <https://groups.google.com/group/opencog>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com>
> <https://groups.google.com/d/msgid/opencog/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/opencog/CAHrUA35ACzeiX-KYndrdW28ZoCBXFEG34qmJN3dpwS9Ht4L1Gw%40mail.gmail.com?utm_medium=email&utm_source=footer>>.
> For more options, visit https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog%2Bunsu...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog
> <https://groups.google.com/group/opencog>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/d54abf5e-73a1-7837-a4af-7cbd36af21cd%40gmail.com
> <https://groups.google.com/d/msgid/opencog/d54abf5e-73a1-7837-a4af-7cbd36af21cd%40gmail.com>.
> For more options, visit https://groups.google.com/d/optout
> <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+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@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/CACYTDBfyAZELNnhMjbxqUcj9%3Dq2Uej-qVGuujezQwNU-%3D0yNqQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/opencog/CACYTDBfyAZELNnhMjbxqUcj9%3Dq2Uej-qVGuujezQwNU-%3D0yNqQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Ben Goertzel

unread,
Nov 17, 2016, 3:54:59 AM11/17/16
to opencog
If the Atomspace does silently perform alpha-conversion upon Atom
insertion, I don't see why any technical problem would occur as a
result of this?

If a human inserts some VariableNodes with names that she likes, it's
obnoxious for the Atomspace to automagically rename these ... for this
reason it seems that automatic alpha-conversion on insertion is
somewhat problematic .... Though I guess one could create a
workaround like

NamedVariableNode "F"

which allows creation of VariableNodes whose names won't be changed..
or we could just accept that VariableNodes may get renamed by the
system and do stuff like

ReferenceLink
LabelNode "F"
VariableNode "12345"

where the "12345" name can be revised by the system if it wants to...

ben
> email to opencog+u...@googlegroups.com.
> To post to this group, send email to ope...@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/f589bc5c-c39e-e40c-bdd2-6eefea9ec954%40gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.



Linas Vepstas

unread,
Nov 18, 2016, 3:30:41 PM11/18/16
to opencog

I think we are mis-communicating about something.  Whatever it is that the URE is doing, it isn't alpha-conversion, its something else.  There's no code outside of the atomspace that is algorithmically capable of performing alpha-conversion.  It's literally impossible to accomplish, it simply has no access to those atoms.

--linas

On Thu, Nov 17, 2016 at 1:51 AM, 'Nil Geisweiller' via opencog <ope...@googlegroups.com> wrote:


On 11/17/2016 09:09 AM, Ben Goertzel wrote:
I think our conclusion in 2015 was that processes like the chainer
should do alpha conversion on the fly... so we should supply a utility
function making it easy for anyone to invoke alpha conversion in a
particular set of atoms..

The URE does alpha-conversion whenever necessary as to avoid name capture, there's no problem here. The problem comes from the fact that the atomspace may silently perform alpha-conversion when a scope link is added, ultimately there are solutions to address any problem resulting from such implicit conversions, but I can't help it, there's a part of me that feels ambivalent about it...

Anyway, I'll open a github issue whenever I encounter the problem I'm trying to describe in real life situation.

Nil



On Nov 17, 2016 3:54 PM, "'Nil Geisweiller' via opencog"
        <mailto:opencog@googlegroups.com
        <mailto:opencog@googlegroups.com>
        <mailto:opencog@googlegroups.com
            >>> email to opencog+unsubscribe@googlegroups.com
        <mailto:opencog%2Bunsubscribe@googlegroups.com>
            <mailto:opencog%2Bunsubscribe@googlegroups.com
        <mailto:opencog%252Bunsubscribe...@googlegroups.com>>.

            >>> To post to this group, send email to
        ope...@googlegroups.com <mailto:opencog@googlegroups.com>
            <mailto:opencog@googlegroups.com

        <mailto:opencog@googlegroups.com>>.

            >>> Visit this group at
        https://groups.google.com/group/opencog
        <https://groups.google.com/group/opencog>
            <https://groups.google.com/group/opencog
        <https://groups.google.com/group/opencog>>.
            >>> To view this discussion on the web visit
            >>>

        https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
        <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>

        <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com
        <https://groups.google.com/d/msgid/opencog/580A3A75.1020708%40gmail.com>>.
            >>> For more options, visit
        https://groups.google.com/d/optout
        <https://groups.google.com/d/optout>
            <https://groups.google.com/d/optout
        <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

            > To post to this group, send email to
        ope...@googlegroups.com <mailto:opencog@googlegroups.com>
            <mailto:opencog@googlegroups.com
        <mailto:opencog@googlegroups.com>>.
            send an email to opencog+unsubscribe@googlegroups.com
        <mailto:opencog%2Bunsubscribe@googlegroups.com>
            <mailto:opencog%2Bunsubscribe@googlegroups.com
        <mailto:opencog%252Bunsubscribe...@googlegroups.com>>.

            To post to this group, send email to
        ope...@googlegroups.com <mailto:opencog@googlegroups.com>
            <mailto:opencog@googlegroups.com
        <mailto:opencog@googlegroups.com>>.

            Visit this group at https://groups.google.com/group/opencog
        <https://groups.google.com/group/opencog>
            <https://groups.google.com/d/optout
        <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

        To post to this group, send email to ope...@googlegroups.com
        <mailto:opencog@googlegroups.com>
        <mailto:opencog@googlegroups.com <mailto:opencog@googlegroups.com>>.

        For more options, visit https://groups.google.com/d/optout
        <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,

    To post to this group, send email to ope...@googlegroups.com
    <mailto:opencog@googlegroups.com>.

    Visit this group at https://groups.google.com/group/opencog
    <https://groups.google.com/group/opencog>.
    To view this discussion on the web visit

    For more options, visit https://groups.google.com/d/optout
    <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

To post to this group, send email to ope...@googlegroups.com

Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
--
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+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages