A tool to improve Boolean satisfiability (SAT) solver user's life

Overview

SatHelper

This is a tool to improve the Boolean satisfiability (SAT) and MaxSAT solver user's life.

It helps you model various problems as SAT and MaxSAT.

See the examples in the 'examples' folder to learn how to use it.

Install

pip install .

or (without downloading)

pip install git+https://github.com/biotomas/SatHelper

Usage

Simply use the public instance sh of the module.

from SatHelper import sh

sh.declareVariable('A')
sh.printFormula()

In order to use the solveSat and solveMaxSat methods you need to download a SAT and MaxSAT solver and place it in the folder from where you execute the python script.

For SAT solving we recommend Glucose. Download it, compile it, and rename it to glucose

For MaxSAT solving we recommend Open-WBO. You can get it from the MaxSAT Competition homepage. Download it, compile it, and rename it to open-wbo

Other SAT and MaxSAT solver that follow the standard input and output format should work as well.

Owner
Tomas Balyo
Tomas Balyo
JSEngine is a simple wrapper of Javascript engines.

JSEngine This is a simple wrapper of Javascript engines, it wraps the Javascript interpreter for Python use. There are two ways to call interpreters,

11 Dec 18, 2022
A Python3 script to decode an encoded VBScript file, often seen with a .vbe file extension

vbe-decoder.py Decode one or multiple encoded VBScript files, often seen with a .vbe file extension. Usage usage: vbe-decoder.py [-h] [-o output] file

John Hammond 147 Nov 15, 2022
Ningyu Jia(nj2459)/Mengyin Ma(mm5937) Call Analysis group project(Group 36)

Group and Section Group 36 Section 001 name and UNI Name UNI Ningyu Jia nj2459 Mengyin Ma mm5937 code explanation Parking.py (1) Calculate the rate of

1 Dec 04, 2021
Python flexible slugify function

Python flexible slugify function

Dmitry Voronin 471 Dec 20, 2022
Exploiting Linksys WRT54G using a vulnerability I found.

Exploiting Linksys WRT54G Exploit # Install the requirements. pip install -r requirements.txt ROUTER_HOST=192.169.1.1 ROUTER_USERNAME=admin ROUTER_P

Elon Gliksberg 31 May 29, 2022
Personal Assistant Tessa

Personal Assistant Tessa Introducing our all new personal assistant Tessa..... An intelligent virtual assistant (IVA) or intelligent personal assistan

Anusha Joseph 4 Mar 08, 2022
A basic layout of atm working of my local database

Software for working Banking service ๐Ÿ˜„ This project was developed for Banking service. mysql server is required To have mysql server on your system u

satya 1 Oct 21, 2021
Movie recommend community

README 0. ์ดˆ๋ก 1) ๋ชฉ์  ์‚ฌ์šฉ์ž์˜ Needs๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜ํ™”๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค ๊ตฌํ˜„ 2) p!ck ์„œ๋น„์Šค๋ž€? "pick your taste!" ์ทจํ–ฅ๋Œ€๋กœ ์˜ํ™” ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ(์ดํ•˜ ์„œ๋น„์Šค ๋‚ด์—์„œ์˜ ๋ช…์นญ์ธ '๋ฐ”์Šค์ผ“'์ด๋ผ ํ•จ)๋ฅผ ๋งŒ๋“ค๊ณ , ๋น„์Šทํ•œ ์ทจํ–ฅ์„ ๊ฐ€์ง„

2 Dec 08, 2021
Python program to start your zoom meetings

zoomstarter Python programm to start your zoom meetings More about Initially this was a bash script for starting zoom meetings, but as i started devel

Viktor Cvetanovic 2 Nov 24, 2021
Grade 8 Version of Space Invaders

Space-Invaders Grade 8 Version of Space Invaders Compatability This program is Python 3 Compatable, and not Python 2 Compatable because i haven't test

Space64 0 Feb 16, 2022
Collection of tools to be more productive in your work environment and to avoid certain repetitive tasks. ๐Ÿ’›๐Ÿ’™๐Ÿ’š

Collection of tools to be more productive in your work environment and to avoid certain repetitive tasks. ๐Ÿ’›๐Ÿ’™๐Ÿ’š

Raja Rakotonirina 2 Jan 10, 2022
Wannier & vASP Postprocessing module

WASPP module Wannier90 & vASP Postprocessing module with functionalities I needed during my PhD. Being updated Version: 0.5 Main functions: Wannier90

Iriรกn Sรกnchez Ramรญrez 4 Dec 27, 2022
Expose multicam options in the Blender VSE headers.

Multicam Expose multicam options in the Blender VSE headers. Install Download space_sequencer.py and swap it with the one that comes with the Blender

4 Feb 27, 2022
Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems.

Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems. Packer supports Python ๐Ÿ , C ๐Ÿ’ป and C++ ๐Ÿ’ป libraries.

mirnanoukari 31 Sep 15, 2022
OWASP Foundation Web Respository

WWWGrep OWASP Foundation Web Respository Author: Mark Deen & Aditi Mohan Introduction WWWGrep is a rapid search โ€œgreppingโ€ mechanism that examines HTM

OWASP 34 Jun 15, 2022
dta Convert Dict To Attributes!

dta (Dict to Attributes) dta is very small dict (or json) to attributes converter. It is only have 1 files and applied to every python versions.

Rukchad Wongprayoon 0 Dec 31, 2021
Mannaggia is a python application to praise or more likely to curse the saints

Mannaggia-py ๐Ÿ‘ผ Remember Mannaggia? This is a Python remake of it, with new features. mannaggia is a python application to praise or more likely to cu

Christian Visintin 9 Aug 12, 2022
This synchronizes my appearances with my calendar

Josh's Schedule Synchronizer Here's the "problem:" I use a Google Sheets spreadsheet to maintain all my public appearances.

Developer Advocacy 2 Oct 18, 2021
Delayed iteration for polling and retries.

Does Python need yet another retry / poll library? It needs at least one that isn't coupled to decorators and functions. Decorators prevent the caller

A. Coady 22 Dec 29, 2022
Jarvis Python BOT acts like Google-assistance

Jarvis-Python-BOT Jarvis Python BOT acts like Google-assistance Setup Add Mail ID (Gmail) in the file at line no 82.

Ishan Jogalekar 1 Jan 08, 2022