Skip to main content

py-aiger-past-ltl

Library for generating (p)ast (t)ense (l)inear (t)emporal (l)ogic monitors as aiger circuits. Builds on the py-aiger project.

Build Status codecov PyPI version License: MIT

Table of Contents

Installation

If you just need to use aiger_ptltl, you can just run:

$ pip install py-aiger-ptltl

For developers, note that this project uses the poetry python package/dependency management tool. Please familarize yourself with it and then run:

$ poetry install

Usage

The primary entry point for using aiger_ptltl is the PTLTLExpr class which is a simple extension of aiger.BoolExpr to support the temporal operators, historically, past (once), (variant) yesterday, and since.

import aiger_ptltl as ptltl

# Atomic Propositions
x = ptltl.atom('x')
y = ptltl.atom('y')
z = ptltl.atom('z')

# Propositional logic
expr1 = ~x
expr2 = x & (y | z)
expr3 = (x & y) | ~z
expr4 = ~(x & y & z)

# Temporal Logic
expr5 = x.historically()  #  (H x) ≡ x has held for all previous cycles (inclusive).
expr6 = x.once()  #  (P x) ≡ x once held in a past cycle (inclusive).
expr7 = x.vyest()  #  (Z x) ≡ x held in the previous cycle (true at time = 0).
expr8 = x.yest()  #  (Y x) ≡ x held in the previous cycle (false at time = 0).
expr9 = x.since(y)  #  [x S y] ≡ x has held since the cycle after y last held.

# Composition
expr9 = expr7.since(expr9.vyest().vyest())

Metadata

Release files for py-aiger-ptltl 3.1.2

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

Source distribution (sdist)

Source distribution for py-aiger-ptltl 3.1.2
File Size Uploaded
py-aiger-ptltl-3.1.2.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-aiger-ptltl 3.1.2
File Interpreter ABI Platform
py_aiger_ptltl-3.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 10.2 kB

Release files / py-aiger-ptltl-3.1.2.tar.gz

Download URL py-aiger-ptltl-3.1.2.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
84f383c740603414ca1194497b43302ac18e524ae3d2ba63e829b1221be46728
BLAKE2b-256 checksum
How to use checksums
874a8b74056e7d2731ba4f15d0ae71e26226f74616418dbce6e47f5428add199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.14 CPython/3.9.13 Linux/6.0.0

Release files / py_aiger_ptltl-3.1.2-py3-none-any.whl

Download URL py_aiger_ptltl-3.1.2-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb64d2a1699cbb1a8940d619912303079a958726c59b9862f469f896387247ae
BLAKE2b-256 checksum
How to use checksums
69804d5397997131299ac4c44a4370c7a90e91bff16f9ecaa6bd14871002a789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.14 CPython/3.9.13 Linux/6.0.0

Release history Release notifications | RSS feed

This release

3.1.2 This release

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.1

2 release files

0.0.0

1 release file

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