Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have the URE fully support formula premises wrapped in SetLink #16

Open
ngeiswei opened this issue Feb 3, 2019 · 0 comments
Open

Have the URE fully support formula premises wrapped in SetLink #16

ngeiswei opened this issue Feb 3, 2019 · 0 comments

Comments

@ngeiswei
Copy link
Member

ngeiswei commented Feb 3, 2019

Problem

When a rule formula has a set of unordered premises they can be wrapped in a SetLink. For instance a conjunction rule can be expressed as follows

Bind
  And
    X
    Y
  ExecutionOutput
    GroundedPredicate "conjunction-formula"
    And
      X
      Y
    Set
      X
      Y

Wrapping X and Y in a SetLink allows the URE to not create multiple versions of inference trees with different permutations of X and Y. For instance without SetLink, when unifying this rule with some target And Z W it would create 2 inference trees

Bind
  And
    Z
    W
  ExecutionOutput
    GroundedPredicate "conjunction-formula"
    And
      Z
      W
    Z
    W

and

Bind
  And
    Z
    W
  ExecutionOutput
    GroundedPredicate "conjunction-formula"
    And
      Z
      W
    ;; Z and W have been swapped
    W
    Z

Motivation

Wrapping unordered formula premises in SetLink avoids over-representing semantically equivalent inference trees, which ultimately speeds up reasoning.

Task

Currently the URE only supports wrapping all formula premises in SetLink, but in some case only a subset of premises are unordered. So the task here would be to have the URE support wrapping a subset of formula premises in a SetLink.

@linas linas transferred this issue from opencog/atomspace Jul 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant