Skip to main content

forseti

Build Status Coverage Status Code Health

A Formal Logic framework for a variety of applications.

Installation

From PyPI

forseti is available on PyPI.

$ pip install forseti

From source

  • Download the source code:

$ git clone git@github.com:MasterOdin/forseti.git
$ python setup.py install

Usage

forseti comes with an internal representation of propositional calculus formulas (atomic, not, and, or, implication, and equivalance). It can generate this from a functional representation of any formula. Interally, it holds everything as formula objects, which can take in other formulas as appropriate (Symbols can only hold one string).

An example:

from forseti import parser
from forseti.predicate import Atomic, And
assert parser.parse("and(a, b)") == And(Atomic('a'), Atomic('b'))

Additionally, it also comes with a builtin prover that can validate a propositional calculus argument

from forseti.prover import Prover
prover = Prover()
prover.add_formula("if(A,and(B,C))")
prover.add_formula("iff(C,B)")
prover.add_formula("not(C)")
prover.add_goal("not(A)")
assert_true(prover.run_prover())

Roadmap

  1. First Order Logic Prover

  2. Optimizations

Usages

These projects use forseti at their core:

  1. Truth Tables

Goals

Using forseti to implement the following programs/applications

  1. Automated Theorem Prover (done in forseti core)

  2. Implement Davis-Putnam Algorithm

  3. Truth Trees

  4. Slate / Fitch

Metadata

Release files for forseti 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forseti 0.8.1
File Size Uploaded Provenance Actions
forseti-0.8.1.tar.gz 10.4 kB Without provenance Details for forseti-0.8.1.tar.gz

Release files / forseti-0.8.1.tar.gz

Download URL forseti-0.8.1.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ce8f59329adf36b86ac9efff4fbc5ce2cc406e22d35bcb9b5fc33bc236735eab
BLAKE2b-256 checksum
How to use checksums
b8ad686d5420e0a799a4ffae63a63a76df31a5b605984ceaab8a91656ef8c24a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for forseti 0.8.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page