{ "info": { "author": "Matthew Peveler", "author_email": "matt.peveler@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "forseti\n=======\n\n.. image:: https://travis-ci.org/MasterOdin/forseti.svg?branch=master\n :target: https://travis-ci.org/MasterOdin/forseti\n :alt: Build Status\n.. image:: https://coveralls.io/repos/MasterOdin/forseti/badge.svg?branch=master\n :target: https://coveralls.io/r/MasterOdin/forseti?branch=master\n :alt: Coverage Status\n.. image:: https://landscape.io/github/MasterOdin/forseti/master/landscape.svg?style=flat\n :target: https://landscape.io/github/MasterOdin/forseti/master\n :alt: Code Health\n\nA Formal Logic framework for a variety of applications.\n\nInstallation\n------------\n\nFrom PyPI\n~~~~~~~~~\nforseti is available on `PyPI `_.\n\n::\n\n $ pip install forseti\n\nFrom source\n~~~~~~~~~~~\n* Download the source code:\n\n::\n\n $ git clone git@github.com:MasterOdin/forseti.git\n $ python setup.py install\n\nUsage\n-----\n\nforseti comes with an internal representation of propositional calculus formulas (atomic, not, and, or, implication, and equivalance).\nIt can generate this from a functional representation of any formula. Interally, it holds everything as formula objects, which\ncan take in other formulas as appropriate (Symbols can only hold one string).\n\nAn example:\n\n.. code-block:: python\n\n from forseti import parser\n from forseti.predicate import Atomic, And\n assert parser.parse(\"and(a, b)\") == And(Atomic('a'), Atomic('b'))\n\nAdditionally, it also comes with a builtin prover that can validate a propositional calculus argument\n\n.. code-block:: python\n\n from forseti.prover import Prover\n prover = Prover()\n prover.add_formula(\"if(A,and(B,C))\")\n prover.add_formula(\"iff(C,B)\")\n prover.add_formula(\"not(C)\")\n prover.add_goal(\"not(A)\")\n assert_true(prover.run_prover())\n\nRoadmap\n-------\n1. First Order Logic Prover\n2. Optimizations\n\nUsages\n------\nThese projects use forseti at their core:\n\n1. `Truth Tables `_\n\nGoals\n-----\nUsing forseti to implement the following programs/applications\n\n1. Automated Theorem Prover (done in forseti core)\n2. `Implement Davis-Putnam Algorithm `_\n3. `Truth Trees `_\n4. `Slate `_ / `Fitch `_", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/forseti", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MasterOdin/forseti", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "forseti", "package_url": "https://pypi.org/project/forseti/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/forseti/", "project_urls": { "Download": "https://pypi.python.org/pypi/forseti", "Homepage": "https://github.com/MasterOdin/forseti" }, "release_url": "https://pypi.org/project/forseti/0.8.1/", "requires_dist": null, "requires_python": "", "summary": "Formal Logic Framework", "version": "0.8.1" }, "last_serial": 2078477, "releases": { "0.5.0": [], "0.6.0": [ { "comment_text": "", "digests": { "md5": "499a897169da1fc8ac52cb696894aa19", "sha256": "60eb8d63273961ec943d12eb6847c68e5c6c6efabca02ff892125b6ddd34ea70" }, "downloads": -1, "filename": "forseti-0.6.0.tar.gz", "has_sig": false, "md5_digest": "499a897169da1fc8ac52cb696894aa19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5999, "upload_time": "2015-04-22T17:17:12", "url": "https://files.pythonhosted.org/packages/27/c7/292dd3cb3771aef977865443885e245c9344177e866c73403d8f933faa6b/forseti-0.6.0.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "e732ed8e1d59b1bd13c3e1b8779dd2e5", "sha256": "1946017ce2a43403a2cf1537d2cd7d67a1594bcfe27728fd68118de6ea2b6431" }, "downloads": -1, "filename": "forseti-0.6.5.tar.gz", "has_sig": false, "md5_digest": "e732ed8e1d59b1bd13c3e1b8779dd2e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6619, "upload_time": "2015-04-22T21:37:59", "url": "https://files.pythonhosted.org/packages/bc/72/1d1601ac09cef87d3545dbbfbdaf60699669b221cfc7d8d35dfeedb798ac/forseti-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "030f6ab59213828482a574edab2d051a", "sha256": "18d5896d04b5e177ad69128eebb5374c93da5a75bbd55e888b9ec17e05dc717e" }, "downloads": -1, "filename": "forseti-0.6.6.tar.gz", "has_sig": false, "md5_digest": "030f6ab59213828482a574edab2d051a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6557, "upload_time": "2015-04-23T01:28:46", "url": "https://files.pythonhosted.org/packages/a6/83/df9bd3ef84f41c38e1fd31ad770e79d226ec64d702bba3d3ece9032bde10/forseti-0.6.6.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "0f03bfebc2fa5591d00996454000bbe9", "sha256": "d0a2523609755938da63b350081ce3425a88c95084926fe3d4a8db4c71837724" }, "downloads": -1, "filename": "forseti-0.7.0.tar.gz", "has_sig": false, "md5_digest": "0f03bfebc2fa5591d00996454000bbe9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9717, "upload_time": "2015-05-15T21:06:19", "url": "https://files.pythonhosted.org/packages/c1/97/0f9ffeb4ddc5595685a4373a4bd180bb6fe99ad9fe71627c93cfa2bc409b/forseti-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "07751e329addcb05dd8aa4074e39d623", "sha256": "d4a94d40b4f3735b289a85fa6c9a3828e44aee3f6d372f604eb3f6789ae6e139" }, "downloads": -1, "filename": "forseti-0.8.0.tar.gz", "has_sig": false, "md5_digest": "07751e329addcb05dd8aa4074e39d623", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10312, "upload_time": "2016-02-26T16:12:19", "url": "https://files.pythonhosted.org/packages/bb/f3/385d0b5945401e238b412dc2346e7104216ddd377089eede3d06da779b2a/forseti-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "8bd15afe9c2b04e647929aa4d4a15d25", "sha256": "ce8f59329adf36b86ac9efff4fbc5ce2cc406e22d35bcb9b5fc33bc236735eab" }, "downloads": -1, "filename": "forseti-0.8.1.tar.gz", "has_sig": false, "md5_digest": "8bd15afe9c2b04e647929aa4d4a15d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10363, "upload_time": "2016-04-22T14:44:58", "url": "https://files.pythonhosted.org/packages/b8/ad/686d5420e0a799a4ffae63a63a76df31a5b605984ceaab8a91656ef8c24a/forseti-0.8.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8bd15afe9c2b04e647929aa4d4a15d25", "sha256": "ce8f59329adf36b86ac9efff4fbc5ce2cc406e22d35bcb9b5fc33bc236735eab" }, "downloads": -1, "filename": "forseti-0.8.1.tar.gz", "has_sig": false, "md5_digest": "8bd15afe9c2b04e647929aa4d4a15d25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10363, "upload_time": "2016-04-22T14:44:58", "url": "https://files.pythonhosted.org/packages/b8/ad/686d5420e0a799a4ffae63a63a76df31a5b605984ceaab8a91656ef8c24a/forseti-0.8.1.tar.gz" } ] }