limboole | Check satisfiability and tautology | Apps library

 by   alescode C Version: Current License: Non-SPDX

kandi X-RAY | limboole Summary

kandi X-RAY | limboole Summary

limboole is a C library typically used in Apps applications. limboole has no bugs, it has no vulnerabilities and it has low support. However limboole has a Non-SPDX License. You can download it from GitHub.

This is a simple boolean calculator. It reads a boolean formula and checks whether it is valid. In case '-s' is specified satisfiability is checked instead of validity.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              limboole has a low active ecosystem.
              It has 7 star(s) with 0 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              limboole has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of limboole is current.

            kandi-Quality Quality

              limboole has 0 bugs and 0 code smells.

            kandi-Security Security

              limboole has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              limboole code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              limboole has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              limboole releases are not available. You will need to build from source code and install.
              Installation instructions are available. Examples and code snippets are not available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of limboole
            Get all kandi verified functions for this library.

            limboole Key Features

            No Key Features are available at this moment for limboole.

            limboole Examples and Code Snippets

            No Code Snippets are available at this moment for limboole.

            Community Discussions

            QUESTION

            Solve specific combination in propositional logic rule set (SAT Solver)
            Asked 2018-Feb-01 at 15:30

            In the car industry you have thousand of different variants of components available to choose from when you buy a car. Not every component is combinable, so for each car there exist a lot of rules that are expressed in propositional logic. In my case each car has between 2000 and 4000 rules.

            They look like this:

            1. A → B ∨ C ∨ D
            2. C → ¬F
            3. F ∧ G → D
            4. ...

            where "∧" = "and" / "∨" = "or" / "¬" = "not" / "→" = "implication".

            With the tool "limboole" (http://fmv.jku.at/limboole/) I am able to to convert the propositional logic expressions into conjunctive normal form (CNF). This is needed in case I have to use a SAT solver.

            Now, I would like to check the buildability feasibility for specific components within the rule set. For example, for each of the following expressions or combinations, I would like to check if the are feasible within the rule set.

            1. (A) ∧ (B)
            2. (A) ∧ (C ∨ F)
            3. (B ∨ G)
            4. ...

            My question is how to solve this problem. I asked a similar questions before (Tool to solve propositional logic / boolean expressions (SAT Solver?)), but with a different focus and now I am stuck again. Or I just do not understand it.

            One option is to calculate all solutions with an ALLSAT approach of the rule set. Then I could check if each combination is part of any solution. If yes, I can derive that this specific combination is feasible.

            Another option would be, that I add the combination to the rule set and then run a normal SAT solver. But I would have to do it for each expression I want to check.

            What do you think is the most elegant or rather easiest way to solve this problem?

            ...

            ANSWER

            Answered 2018-Feb-01 at 15:30

            The best method which is known to me is to use "incremental solving under assumptions" technique. It was motivated by the same problem you have: multiple SAT instances (CNF formulae) which have some common subformulae. Formally, you have some core Boolean formula C in CNF. And you have a set of assumptions {A_i}, i=1..n, where A_i is a Boolean formula in CNF also.

            On the step 0 you provide to the solver your core formula C. It tries to solve it, says a result to you and save its state (lets call this state as core-state). If formula C is satisfiable, on the step i you provide assumption A_i to the solver and it continues its execution from the core-state. Actually, it tries to solve a formula C ∧ A_i but not from the beginning.

            You can find a bunch of papers related to this topic easily, where much information is located. Also, you can check you favorite SAT-solver for the support of this technique.

            Source https://stackoverflow.com/questions/48559813

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install limboole

            Please get the 'limmat' SAT solver (version >= 1.2) and unpack it in the same directory where you have unpacked 'limboole'. Before you compile 'limboole' you have to generate 'liblimmat.a' in the 'limmat' subdirectory. Then change to the 'limboole' subdirectory and issue 'make' to compile it. This should also generate the test suite 'testlimboole'. Run it to check that everything works. There is also a small utility 'dimacs2boole' that can be used to translate CNF formulae in DIMACS format to the input format of 'limboole'. Armin Biere, Computer Systems Institute, ETH Zurich Die Nov 5 10:52:44 CET 2002.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/alescode/limboole.git

          • CLI

            gh repo clone alescode/limboole

          • sshUrl

            git@github.com:alescode/limboole.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link