SymDFA2AIGER


NameSymDFA2AIGER JSON
Version 1.1.6 PyPI version JSON
download
home_pageNone
SummaryThis package takes a symbolic DFA and produces an AIGER file of type aag
upload_time2024-08-22 13:36:09
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SymDFA2Aiger

## Description

SymDFA2Aiger is a tool for converting a symbolic deterministic finite automaton (SDFA) into an AIGER file (.aag). The main function provided is `SymDFA2Aiger`. 
An example input file is included in this directory to illustrate the expected format for the function.

#### Personal Note
This tool was created by Daniel Bachmann Aisen as part of his master’s thesis. 
In 2024, amidst challenging times, this project is dedicated to the safe return of all hostages, to the soldiers safeguarding my friends, family, and me, and in memory of those who have fallen. 
May we look forward to better days.

## Inputs

The tool requires five inputs corresponding to SDFA properties:

- `sigma_controlled`: `set[Formula]`
- `sigma_environment`: `set[Formula]`
- `state_variables`: `set[Formula]`
- `initial_state`: `PLTLAnd`
- `transition_system`: `dict`

### Optional Inputs

- `file_name`: `str` (default: `"SymbDFA_AIGER.aag"`)
- `state_variables_return_dict`: `dict` (default: `None`)

### Example Usage

```python
from SymDFA2AIGER import SymDFA2AIGER

a = parse_pltl("a")
b = parse_pltl("b")
c = parse_pltl("c")
d = parse_pltl("d")
_x1 = parse_pltl("x_var1")
_x2 = parse_pltl("x_var2")
_x3 = parse_pltl("x_var3")
_x4 = parse_pltl("x_var4")

sigma_controlled = {a, c}
sigma_environment = {b, d}

initial_state_input = PLTLAnd(_x1, PLTLNot(_x2), _x3, _x4)
final_state_variable = PLTLAnd(_x1, _x2, PLTLNot(_x3), PLTLNot(_x4))
state_variables_input = [_x1, _x2, _x3, _x4]

transition_system_input = {}
transition_system_input["x_var1_prime"] = parse_pltl("a")
transition_system_input["x_var2_prime"] = parse_pltl("b")
transition_system_input["x_var3_prime"] = parse_pltl("(false|a|(b&d)|!c)")
transition_system_input["x_var4_prime"] = parse_pltl(" ((! a) & ! c )")

SymDFA2AIGER(sigma_controlled, sigma_environment, state_variables_input, initial_state_input, transition_system_input, final_state_variable, "experiment_aiger.aag")
```


## Installation and Dependencies

This tool requires two external libraries: [pylogics_modalities](https://github.com/danielaisen/pylogics_modalities) and `multipledispatch`.

- **pylogics_modalities**: This library extends the pylogics library by whitemech. To install it, use the `.whl` file provided in the `dependencies` folder:

`pip install dependencies/pylogics_modalities-0.2.2-py3-none-any.whl`

```bash
pip install SymDFA2Aiger

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "SymDFA2AIGER",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Daniel Bachmann Aisen <danielmaxaisen@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/81/2b/db54f2272d3bfe4544e6f8ac6ec225cae7a74eb237877617b70b53cbbf6c/symdfa2aiger-1.1.6.tar.gz",
    "platform": null,
    "description": "# SymDFA2Aiger\n\n## Description\n\nSymDFA2Aiger is a tool for converting a symbolic deterministic finite automaton (SDFA) into an AIGER file (.aag). The main function provided is `SymDFA2Aiger`. \nAn example input file is included in this directory to illustrate the expected format for the function.\n\n#### Personal Note\nThis tool was created by Daniel Bachmann Aisen as part of his master\u2019s thesis. \nIn 2024, amidst challenging times, this project is dedicated to the safe return of all hostages, to the soldiers safeguarding my friends, family, and me, and in memory of those who have fallen. \nMay we look forward to better days.\n\n## Inputs\n\nThe tool requires five inputs corresponding to SDFA properties:\n\n- `sigma_controlled`: `set[Formula]`\n- `sigma_environment`: `set[Formula]`\n- `state_variables`: `set[Formula]`\n- `initial_state`: `PLTLAnd`\n- `transition_system`: `dict`\n\n### Optional Inputs\n\n- `file_name`: `str` (default: `\"SymbDFA_AIGER.aag\"`)\n- `state_variables_return_dict`: `dict` (default: `None`)\n\n### Example Usage\n\n```python\nfrom SymDFA2AIGER import SymDFA2AIGER\n\na = parse_pltl(\"a\")\nb = parse_pltl(\"b\")\nc = parse_pltl(\"c\")\nd = parse_pltl(\"d\")\n_x1 = parse_pltl(\"x_var1\")\n_x2 = parse_pltl(\"x_var2\")\n_x3 = parse_pltl(\"x_var3\")\n_x4 = parse_pltl(\"x_var4\")\n\nsigma_controlled = {a, c}\nsigma_environment = {b, d}\n\ninitial_state_input = PLTLAnd(_x1, PLTLNot(_x2), _x3, _x4)\nfinal_state_variable = PLTLAnd(_x1, _x2, PLTLNot(_x3), PLTLNot(_x4))\nstate_variables_input = [_x1, _x2, _x3, _x4]\n\ntransition_system_input = {}\ntransition_system_input[\"x_var1_prime\"] = parse_pltl(\"a\")\ntransition_system_input[\"x_var2_prime\"] = parse_pltl(\"b\")\ntransition_system_input[\"x_var3_prime\"] = parse_pltl(\"(false|a|(b&d)|!c)\")\ntransition_system_input[\"x_var4_prime\"] = parse_pltl(\" ((! a) & ! c )\")\n\nSymDFA2AIGER(sigma_controlled, sigma_environment, state_variables_input, initial_state_input, transition_system_input, final_state_variable, \"experiment_aiger.aag\")\n```\n\n\n## Installation and Dependencies\n\nThis tool requires two external libraries: [pylogics_modalities](https://github.com/danielaisen/pylogics_modalities) and `multipledispatch`.\n\n- **pylogics_modalities**: This library extends the pylogics library by whitemech. To install it, use the `.whl` file provided in the `dependencies` folder:\n\n`pip install dependencies/pylogics_modalities-0.2.2-py3-none-any.whl`\n\n```bash\npip install SymDFA2Aiger\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This package takes a symbolic DFA and produces an AIGER file of type aag",
    "version": "1.1.6",
    "project_urls": {
        "Homepage": "https://github.com/danielaisen/SymDFA2Aiger",
        "Issues": "https://github.com/danielaisen/SymDFA2Aiger/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "64955ed38a4e509d24073e22b2207c51fe44006fda8a5055e94fd45a0b716dcf",
                "md5": "60e8f142a0d7022d49cc85603cabc2c4",
                "sha256": "48217c3f0430c506082e0a9735e2eca7f8fa50ccd75f9fcfbaa0a2872e0bf312"
            },
            "downloads": -1,
            "filename": "symdfa2aiger-1.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "60e8f142a0d7022d49cc85603cabc2c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6200,
            "upload_time": "2024-08-22T13:36:07",
            "upload_time_iso_8601": "2024-08-22T13:36:07.441706Z",
            "url": "https://files.pythonhosted.org/packages/64/95/5ed38a4e509d24073e22b2207c51fe44006fda8a5055e94fd45a0b716dcf/symdfa2aiger-1.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "812bdb54f2272d3bfe4544e6f8ac6ec225cae7a74eb237877617b70b53cbbf6c",
                "md5": "3e53b35cdf40febee07b08b1c817213e",
                "sha256": "32ca88d33c497d90fe864613f39d07578b1688315de79a591f4cf764cc4df9f0"
            },
            "downloads": -1,
            "filename": "symdfa2aiger-1.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "3e53b35cdf40febee07b08b1c817213e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 80111,
            "upload_time": "2024-08-22T13:36:09",
            "upload_time_iso_8601": "2024-08-22T13:36:09.276380Z",
            "url": "https://files.pythonhosted.org/packages/81/2b/db54f2272d3bfe4544e6f8ac6ec225cae7a74eb237877617b70b53cbbf6c/symdfa2aiger-1.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-22 13:36:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "danielaisen",
    "github_project": "SymDFA2Aiger",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "symdfa2aiger"
}
        
Elapsed time: 0.43122s