Skip to content

Fix for unify algorithm in logic.py - #1101

Merged
antmarakis merged 5 commits into
aimacode:masterfrom
alessandrocuda:unify-fix
Aug 19, 2019
Merged

Fix for unify algorithm in logic.py#1101
antmarakis merged 5 commits into
aimacode:masterfrom
alessandrocuda:unify-fix

Conversation

@alessandrocuda

Copy link
Copy Markdown
Contributor

These commits should resolve issue (#1053)
It seems that this bug is well known in the aima-java repo but was not corrected in the aima-python repo. In the unify_var(var, x, s) method a cascade_substitution must be perform after adding a new mapping var/x to the substitution set 's' as can be seen from the unification algorithm developed in java in the aima-java repo.

Unify algorithm fixed by performing a perform a cascade substitution when a new mapping is added
This issue was already known and fixed in the aima-java repo.
updated documentation for cascade_substitution function in logic.py
Comment thread logic.py Outdated
Comment thread logic.py Outdated
Comment thread logic.py Outdated
Comment thread logic.py Outdated
Comment thread logic.py Outdated
@antmarakis
antmarakis merged commit e5204f6 into aimacode:master Aug 19, 2019
dj5x5 pushed a commit to dj5x5/aima-python that referenced this pull request Jul 17, 2025
* Fix issue aimacode#1053

Unify algorithm fixed by performing a perform a cascade substitution when a new mapping is added
This issue was already known and fixed in the aima-java repo.

* added two more test in test_logic.py
updated documentation for cascade_substitution function in logic.py

* Fixed brackets missing in test_logic.py for the new test

* Fixed typo error, missing space and double quotes for docstrings

* comments changed to cascade_substitution function in logic.py
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

Successfully merging this pull request may close these issues.

2 participants