NAL-5 question

44 views
Skip to first unread message

Robert Johansson

unread,
Jul 25, 2024, 9:59:13 AM7/25/24
to open...@googlegroups.com
Hello everyone,

If NARS has learned the following:

<(X * Y) --> (a * a)>.
<(Y * X) --> (a * a)>.
// Derived: <<($1 * $2) --> (a * a)> <=> <($2 * $1) --> (a * a)>>

And also this:
<<(X * Y) --> (a * a)> <=> <(A * B) --> (b * b)>>.

Is there any chance that <(B * A) --> (b * b)> would be derived?

Robert 

Pei Wang

unread,
Jul 25, 2024, 6:56:53 PM7/25/24
to open...@googlegroups.com
Probably not. I don’t see evidence for that conclusion.

--


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/CADxbj-NhP4dsR8T6Qhod2N4iH%2BAz%3DqzUmOmPCea_9bVZ27d_Dw%40mail.gmail.com.


Tessergon Ng

unread,
Aug 16, 2024, 2:26:54 AM8/16/24
to open-nars
TLDR: According to the NAL-4 and NAL-5 rules, it probably would be derived.

In the one hand,  by the premise
<(X * Y) --> (a * a)>.
NARS can get <X --> a>. and <Y --> a>. by compositional rules.
(The definition of products in NAL-4 also supports it)

In the other hand,
we have
<(X * Y) --> (a * a)>.
<<(X * Y) --> (a * a)> <=> <(A * B) --> (b * b)>>.
so NARS can get <(A * B) --> (b * b)>. by NAL-5 detachment.
(Maybe during NAL-1 convertion to get implication <<(X * Y) --> (a * a)> ==> <(A * B) --> (b * b)>> first)

BTW, like the derivation of
<X --> Y>. and <Y --> X>.
NARS can uses premise <(A * B) --> (b * b)> to get conclusion <A --> b> and <B --> b>,
then uses them directly to compose <(B * A) --> (b * b)> directly,
which is not actually related to  <<($1 * $2) --> (a * a)> <=> <($2 * $1) --> (a * a)>>.
(Some detailed steps:
1. begins from common term b, uses <A --> b>. and relation of b-B to compose <(B * A) --> (B * b)first,
2. and also combine it with relation of b-B to get <(B * b) --> (b * b)>
3. then uses NAL-1 deduction to get <(B * A) --> (b * b)> by reducing common term (B * b)
)

Snipaste_2024-08-16_14-09-14.png
Snipaste_2024-08-16_14-09-14.png
The whole progress just like this.
(The upper task is derived from the downer tasks; Image 2 shows the backward inferencing of NARS)

It can be represented in 2 narsese phrases:

<(*,X,Y) --> (*,a,a)>.
<X --> a>?
<Y --> a>?

<A --> b>.
<B --> b>.
<(*,B,A)-->(*,b,b)>?

And, maybe the processing of NAL in ONA is much simplified, perhaps you can try some alternative versions of NARS such as OpenNARS or PyNARS...

Pei Wang

unread,
Aug 16, 2024, 10:26:05 AM8/16/24
to open...@googlegroups.com
Yes, it makes sense, though the following inference is not currently implemented:
    {<A --> a>, <B --> b>} |-  <(B * A) --> (a * b)>
This is because of control and cost issues, as such a rule can be applied to two arbitrary inheritance statements without a shared term (the shared b in the original example is accidental).

If there is a strong practical need for such a rule, it can be implemented as a special "Structural Rule", using the existence of (B * A) or (a * b) as an additional pre-condition. Anyway, it should be done to two arbitrary inheritance statements, even though it is logically valid.

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.
Reply all
Reply to author
Forward
0 new messages