npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

first-order-logic

v1.3.0

Published

First order logic library.

Downloads

104

Readme

Description

This library allows to make some first order logic calculations providing specific classes and methods.

Base classes

There are three base classes used to create the logic expressions: Individual, Function and Sentence.

Individual

It represents a particular element in the world, an instance.

Function

It is a representation of a trait, relation or fact about the world. Can accept up to two variables which can be represented by individuals. It can receive each of its accepted variables mapped with an individual of the world representation and it becomes an evaluable Sentence.

Sentence

It is a Function with its variables mapped with individuals. It can be evaluated in the world to determine if it is true or not.

Operations

Operations can be used to make formulations with functions and calculations with sentences. All boolean operations are accepted (Negation, AND, OR, Implication and Equivalence) and can be used with Functions to create any complex formula. A formula can also receive mappings for all its variables with Individuals and then become an evaluable formula which can be true or false.

Axioms

Axioms are specifically shaped formulas formed by a list of premises separated by AND operations that lead to a conclusion formula through an Implication operation.

Containers

Containers host all the basic elements of the library to represent the world. There are four types: Population, Functionality, TruthTable and Rules.

Population

It is the container for Individuals, and represents all the elements in the world that can be mapped in the variables of the existing Functions.

Functionality

It is the container of Functions. Together with the Individuals represent all the available Sentences in the world.

TruthTable

It is the container of Sentences. All the Sentences that can be found in the TruthTable represent what is true in the world.

Rules

It is the container of Axioms. The combination of the axioms analysed with a proper algorithm can lead to deduce conclusions.

Quantifiers

The library provides two quantifiers: universal and existencial. They can be used combined with a world representation to derermine if all the elements in the world fulfill a condition, or if almost one element in the world fulfills a condition.

Reasoners

The library provides an implementation of the Modus Ponens that can be uses together with a world representation to deduce new conclusions.