Skip to content

[WIP]First Order Logic with Equality#17069

Open
ShubhamKJha wants to merge 23 commits intosympy:masterfrom
ShubhamKJha:FOL
Open

[WIP]First Order Logic with Equality#17069
ShubhamKJha wants to merge 23 commits intosympy:masterfrom
ShubhamKJha:FOL

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.

4 participants

Comments