opencog/opencog — pull request #732 by cosmoharrigan (2014-05-11 07:12:27+00:00)
Title: Partial update on PLN SatisfyingSetLink example for Relex2Logic

This is a partial update for the functionality added by @AmeBel in #637 that was manually merged by @linas to address the next steps discussed with @sebastianruder [here](https://github.com/opencog/opencog/issues/603#issuecomment-42602092).

It partially works now, producing the following from the DeductionRule after transforming the representation of the predicate using EvaluationToMemberRule and MemberToInheritanceRule:

(Given the initial knowledge that "Socrates is a man" and "Men breathe air", which will later come from Relex2Logic, running "evaluation_to_member_agent.py" from the command line produces...)
```
(InheritanceLink (stv 1.000000 1.000000)
(ConceptNode "Socrates") ; [1]
(SatisfyingSetLink (stv 1.000000 1.000000)
(VariableNode "$X0") ; [91]
(EvaluationLink (stv 1.000000 0.000000)
(PredicateNode "breathe") ; [5]
(ListLink (stv 1.000000 0.000000)
(VariableNode "$X0") ; [91]
(ConceptNode "air") ; [3]
) ; [93]
) ; [94]
) ; [95]
) ; [199]
```

Full output:
https://gist.github.com/cosmoharrigan/acd36f94e451dd1b81b7

This representation still needs to be reduced to the following form:
```
(EvaluationLink
(PredicateNode "breathe")
(ListLink
(ConceptNode "Socrates")
(ConceptNode "air")))
```

which was the purpose of #603 and needs to be tested further to see if it works.

Additionally, there also appear to be some bugs in the other outputs produced by the new rules from #637 included in the link above, which I will post issues for.