Symbolic reasoning NAL-6

52 views
Skip to first unread message

Maxim Tarasov

unread,
Jan 25, 2023, 1:39:04 PM1/25/23
to open-nars
In the chapter on variable terms, there is an example given of how one would represent set theory in Narsese.

Screenshot 2023-01-25 at 10.32.37 AM.png

And later it says that

Screenshot 2023-01-25 at 10.35.07 AM.png

This makes sense on an intuitive level but I'm not able to replicate those examples in OpenNARS. Hope it's just a syntax issue that someone can help me out with. Thanks!

What I tried so far:

<{(*, C, subset)} --> represent>.

<(*, {(*, #x, C, #y)}, {<(*, #x, #y) --> subset>}) --> represent>.

<{(*, (*, dog, C, animal), ?)} --> represent>?


Pei Wang

unread,
Jan 25, 2023, 2:03:13 PM1/25/23
to open...@googlegroups.com
Hi Maxim,

There has been a syntax change since the book was published. Independent variable prefix has been changed to $, while # is used for dependent variable, and the dependency list is omitted.

Regards,

Pei

--
You received this message because you are subscribed to the Google Groups "open-nars" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-nars+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/open-nars/c3470ccf-3d48-41b1-9b3d-7eb0c707251cn%40googlegroups.com.

Maxim Tarasov

unread,
Jan 25, 2023, 2:14:11 PM1/25/23
to open-nars
Ok, thank you. Good to know.

However, even with the updated syntax, OpenNARS produces no result. Is there something else that's missing? Is it expected that OpenNARS should produce a result in this case?

<{(*, C, subset)} --> represent>.

<(*, {(*, $x, C, $y)}, {<(*, $x, $y) --> subset>}) --> represent>.

<{(*, (*, dog, C, animal), ?1)} --> represent>?


I tried it with ONA as well but similarly no result.

Patrick Hammer

unread,
Jan 25, 2023, 2:27:21 PM1/25/23
to open...@googlegroups.com
Hi Maxim!

Variables are only captured with conjunction and implication statements.

In ONA the following works:
<<(C * ($x * $y)) --> SetTheoryExpression> ==> <($x * $y) --> Subset>>.
<(C * (dog * animal)) --> SetTheoryExpression>.
<(dog * animal) --> Subset>?
//expected: Answer: <(dog * animal) --> Subset>. Truth: frequency=1.000000, confidence=0.810000

The same will also work in OpenNARS if you use the prefix-operation syntax with commas instead.

Best regards,
Patrick

Maxim Tarasov

unread,
Jan 25, 2023, 2:42:43 PM1/25/23
to open-nars
But is that equivalent to the previous statements? Seem like it is not the same semantically. There isn't an explicit REPRESENT relationship.
You're giving it explicit knowledge <(C * (dog * animal)) --> SetTheoryExpression>.
And a different question <(dog * animal) --> Subset>?


Patrick Hammer

unread,
Jan 25, 2023, 3:26:52 PM1/25/23
to open...@googlegroups.com
Hi Maxim!

To apply a REPRESENT relation it has to use it somehow by replacing one term with another.
This can happen on a term level, e.g. <cat <-> "animal"> or on a statement level like above using implication or potentially better, using equivalence.

The previous example seems valid to me but I agree the encoding is different than you originally intended.

Best regards,
Patrick

Maxim Tarasov

unread,
Jan 25, 2023, 5:59:13 PM1/25/23
to open-nars
If I try to translate your example into English it is something like "Sequence "C $x $y" is a SetTheoryExpression (in set theory) which implies a statement "($x * $y) --> Subset" in Narsese."
And then you give the system another statement "Sequence "C dog animal" is a SetTheoryExpression" and then ask if "Sequence "dog animal" is a Subset?".

This seems quite different from the "represent" relationship this portion of the book is describing. Is there some way to get the same abstract reasoning ability as described in the book where we can introduce abstract terms using "define" or "represent"?

Pei Wang

unread,
Jan 25, 2023, 6:13:09 PM1/25/23
to open...@googlegroups.com
Hi, Maxim,

In general, axiomatic/formal/mathematical reasoning is a function that is still under development in NARS. See a technical report Axiomatic Reasoning in NARS for some recent ideas, which are consistent with the 2013 book, but more up-to-date. There are still a lot of implementation details to be fixed.

Regards,

Pei


Maxim Tarasov

unread,
Jan 25, 2023, 6:34:13 PM1/25/23
to open-nars
That makes sense. thank you, Pei. I will take a look at the report you linked.

Also, out of curiosity, is the {} in the definition necessary and if so what does it mean? 
{C x subset} --> represent

I would have thought that it would just be a compound term without the extensional set. 

Pei Wang

unread,
Jan 25, 2023, 7:59:11 PM1/25/23
to open...@googlegroups.com
  {C x subset} is the same as ({C} x {subset}), which is different from (C x subset).

Maxim Tarasov

unread,
Jan 26, 2023, 12:15:11 PM1/26/23
to open-nars
So what is the meaning of using an instance in this context?

By analogy, if "Peter" refers to a general term, and "{Peter}" is a specific instance of something called "Peter", then why do we need to use a specific instance of "C" instead of the general "C" when we're defining a relationship? I see the same thing happening earlier in the book when defining a natural number:
{ (integer – [negative]) x natural-number } --> define

Pei Wang

unread,
Jan 26, 2023, 2:50:55 PM1/26/23
to open...@googlegroups.com
The intuition is similar to that of set theory, where "Peter" refers to an individual, and "{Peter}" to a group/set with "Peter" as an element.

Maxim Tarasov

unread,
Jan 27, 2023, 5:26:36 PM1/27/23
to open-nars
Interesting. So I might have had it backward the whole time :)
I always thought Peter is the general term while {Peter} is a specific instance.

Tony Lofthouse

unread,
Jan 28, 2023, 4:28:43 AM1/28/23
to open...@googlegroups.com
Hi Maxim,

You didn't have it wrong.

Peter is like a class and {Peter} is a specific instance. 

T



--
Tony Lofthouse
Founder, Reasoning Systems

Maxim Tarasov

unread,
Jan 28, 2023, 10:20:01 AM1/28/23
to open-nars
Hi Tony,
Now I’m back to confused :) You’re saying {Peter} is an instance. And Pei said Peter is an individual. So is individual not the same as instance? 
I am trying to understand why when defining a relationship we need to use a set which I thought represents a specific instance. 

Thanks for all your help by the way as I’m coming up with these questions while learning about NARS :) Whenever I post here people always respond. Thank you all!

Maxim Tarasov

unread,
Jan 28, 2023, 10:24:26 AM1/28/23
to open-nars

Pei,
In that report you linked there is mention of numeric terms and a new connector }apple{ to represent “an apple”. Is there another paper that has more details about this? Or is it one of the areas of current research? Thanks. 

Tony Lofthouse

unread,
Jan 28, 2023, 11:08:44 AM1/28/23
to open...@googlegroups.com
Hi Maxim,

The two following statements should help clarify the distinction.

{Tweety} --> bird 

Here {Tweety} is a specific instance, an extensional set with a single member.

raven --> bird

Here raven is a class as any raven can be a bird

Hope this helps

T

Reply all
Reply to author
Forward
0 new messages