On 12/14/18 5:49 PM, Johannes Castner wrote:
How is the negation-introduction-rule invoked?

I'm doing the following:

(define p (PredicateNode "p" (stv 0.6 0.8)))

(negation-introduction-rule p)

A rule, in its given form cannot be applied on a given source (or target), rather it is applied over the entire atomspace (or possibly its attentional). Thus

(cog-execute! negation-introduction-rule)

The following methods

https://github.com/opencog/atomspace/blob/master/opencog/rule-engine/Rule.h#L230-L266

can be used to unify a rule with a given source or target and thus restrict its applying to that given source or target, however it hasn't been exposed to scheme yet.

Nil


and then I'm getting this error:

ERROR: Wrong type to apply: (BindLink
    (TypedVariableLink
       (VariableNode "$X")
       (TypeChoice
          (TypeNode "EvaluationLink")
          (TypeNode "InheritanceLink")
          (TypeNode "PredicateNode")
          (TypeNode "ConceptNode")
       )
    )
    (AndLink
       (VariableNode "$X")
       (EvaluationLink
          (GroundedPredicateNode "scm: gt-zero-confidence")
          (VariableNode "$X")
       )
    )
    (ExecutionOutputLink
       (GroundedSchemaNode "scm: negation-introduction-formula")
       (ListLink
          (NotLink
             (VariableNode "$X")
          )
          (VariableNode "$X")
       )
    )
)


On Friday, December 14, 2018 at 6:59:41 AM UTC, Nil wrote:

    Hi Johannes,

    On 12/13/18 6:08 PM, Johannes Castner wrote:
     > I have a question about predicates and truth values:  How is it
    said in
     > PLN that if predicate p has (stv 0.6 1) then Not p should
    obviously have
     > (stv 0.4 1) right ...if it is true that being fast has certain
     > probability 0.6 then not being fast should automatically be assigned
     > certain probability 0.4 right?  Or am I wrong?

    Correct.

    See

    
https://github.com/opencog/opencog/blob/master/opencog/pln/rules/wip/negation-introduction.scm
    
<https://github.com/opencog/opencog/blob/master/opencog/pln/rules/wip/negation-introduction.scm>


    Soon you'll be able to use pln by loading the pln module in say scheme

    ```
    (use-modules (opencog pln))
    ```

    and choose amongst some predefined rule sets.

    It's not there yet however, the Not rule would not be loaded for
    instance, the best is to configure your rule base yourself. See
    https://wiki.opencog.org/w/URE_Configuration_Format
    <https://wiki.opencog.org/w/URE_Configuration_Format> for more
    information (it's a bit outdated but still mostly relevant). See also
    examples

    https://github.com/opencog/atomspace/tree/master/examples/rule-engine 
<https://github.com/opencog/atomspace/tree/master/examples/rule-engine>

    https://github.com/opencog/opencog/tree/master/examples/pln
    <https://github.com/opencog/opencog/tree/master/examples/pln>

    Nil

     >
     > Johannes
     >
     > On Thursday, December 13, 2018 at 11:00:25 AM UTC, Nil wrote:
     >
     >     On 12/13/18 9:18 AM, Linas Vepstas wrote:
     >      > So maybe use GPN's, but then "hide" them behind "well-known"
     >      > DefinedPredicateNodes.
     >      > Since they're defined, they could be used for reasoning.  I
     >     dunno.  I
     >      > still don't really
     >      > know how to do reasoning ...
     >
     >     In principle reasoning can be performed on anything, even
     >     GroundedPredicateNodes. All you need is to "axiomatize" them,
    for
     >     instance if you want to say that `near` is symmetric you'd write
     >
     >     ImplicationScope (stv 1 1)
     >         VariableList
     >           Variable "$X"
     >           Variable "$Y"
     >         Evaluation
     >           GroundedPredicate "near"
     >           List
     >             Variable "$X"
     >             Variable "$Y"
     >         Evaluation
     >           GroundedPredicate "near"
     >           List
     >             Variable "$Y"
     >             Variable "$X"
     >
     >     or if you already have higher knowledge about symmetry, maybe
    you'd
     >     just write
     >
     >     Member (stv 1 1)
     >         GroundedPredicate "near"
     >         Concept "symmetric"
     >
     >     In practice I don't know how well the URE would chew on
     >     GroundedPredicate though, as they have a special meaning to the
     >     pattern matcher, as virtual clauses. Would need to try and
    fix what
     >     needs to be fixed, quote what needs to be quoted, etc. Alexey
    and his
     >     team have already stumbled on that kind of problems when
    trying to
     >     incorporate neural nets to the URE.
     >
     >     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 [email protected] <javascript:>
     > <mailto:[email protected] <javascript:>>.
     > To post to this group, send email to [email protected]
    <javascript:>
     > <mailto:[email protected] <javascript:>>.
     > 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/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com
    
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com>

     >
    
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.com?utm_medium=email&utm_source=footer
    
<https://groups.google.com/d/msgid/opencog/217bfe32-13e2-4bc8-9b6d-8973350e0877%40googlegroups.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 [email protected] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[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/a43ca4cd-12e0-4b30-b4bb-9b9924da46e4%40googlegroups.com <https://groups.google.com/d/msgid/opencog/a43ca4cd-12e0-4b30-b4bb-9b9924da46e4%40googlegroups.com?utm_medium=email&utm_source=footer>.
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 [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/b22f9814-07d7-443f-e1f1-3a9232613ebd%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to