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

[WIP]First Order Logic with Equality #17069

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

Conversation

ShubhamKJha
Copy link
Member

@ShubhamKJha ShubhamKJha commented Jun 22, 2019

References to other Issues or PRs

Built upon #7608.

Brief description of what is fixed or changed

Implementation of First Oder Logic.

TODO:

  • Inherit AssumptionsPredicate and AppliedAssumptionsPredicate from Predicate and AppliedPredicate classes resp. of FOL module.
  • Make sure tests pass.
  • Decide about the functions class in FOL.
  • Add Equality.
  • Add proper printers.

Other comments

Release Notes

NO ENTRY

@sympy-bot
Copy link

sympy-bot commented Jun 22, 2019

Hi, I am the SymPy bot (v147). I'm here to help you write a release notes entry. Please read the guide on how to write release notes.

  • No release notes entry will be added for this pull request.

Note: This comment will be updated with the latest check if you edit the pull request. You need to reload the page to see it.

Click here to see the pull request description that was parsed.

<!-- Your title above should be a short description of what
was changed. Do not include the issue number in the title. -->

#### References to other Issues or PRs
<!-- If this pull request fixes an issue, write "Fixes #NNNN" in that exact
format, e.g. "Fixes #1234". See
https://github.com/blog/1506-closing-issues-via-pull-requests . Please also
write a comment on that issue linking back to this pull request once it is
open. -->
Built upon #7608.


#### Brief description of what is fixed or changed
Implementation of **First Oder Logic**.

**TODO**:
- [X]  Inherit `AssumptionsPredicate `and `AppliedAssumptionsPredicate `from `Predicate `and `AppliedPredicate `classes resp. of **FOL** module.
- [ ]  Make sure tests pass.
- [ ]  Decide about the functions class in **FOL**.
- [ ]  Add Equality.
- [ ] Add proper printers.

#### Other comments


#### Release Notes

<!-- Write the release notes for this release below. See
https://github.com/sympy/sympy/wiki/Writing-Release-Notes for more information
on how to write release notes. The bot will check your release notes
automatically to see if they are formatted correctly. -->

<!-- BEGIN RELEASE NOTES -->
NO ENTRY
<!-- END RELEASE NOTES -->

@ShubhamKJha
Copy link
Member Author

  1. With this PR the Predicate and AppliedPredicate classes of assumptions module are renamed AssumptionsPredicate and AppliedAsssumptionsPredicate resp. and they inherit from the classes in FOL.
  2. Currently, tests are failing for this PR. These failures are localized to FOL module ( none from assumptions). The code of original PR requires some refactoring to make them pass.
  3. The FOLFunction is equivalent to UndefinedFunction class. Contrary to the original PR, the function in FOL is not boolean in nature. Expressions like FATHER(X) >> FATHER(Y) shouldn't make sense when FATHER() is a function. Also, I have changed the class structure.

@asmeurer
Copy link
Member

What is the purpose of FOLFunction?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants