Constructor
Constructor is a Python library designed to facilitate the simulation and exploration of Constructor Theory, a novel framework that reimagines the fundamental principles of physics. Rather than focusing on the dynamics of how systems evolve over time, Constructor Theory emphasizes what transformations (or "tasks") are possible or impossible within the physical laws of the universe.
With Constructor, researchers and enthusiasts can model and simulate abstract "constructors"—entities capable of performing tasks on physical systems without undergoing any net change themselves. The library allows users to define tasks, substrates, and conditions under which transformations can occur, enabling the exploration of fundamental questions about the nature of possibility and impossibility in physics.
Based on the theory developed by David Deutsch and Chiara Marletto
Key Features
-
Constructor Modeling: Define constructors, abstract machines that can perform specific tasks without being degraded by the process. Constructors are central to the framework and can be customized to fit a variety of scenarios.
-
Task Definition: Represent physical transformations as tasks that can be performed on substrates. Tasks define both the initial and final states of a system, as well as the conditions required for their execution.
-
Substrate Representation: Model substrates as physical systems with defined states and properties. Substrates are the objects upon which tasks operate, and their states can be modified by constructors.
-
Condition Constraints: Implement conditions that must be met for tasks to be possible. These can involve the state or properties of substrates, environmental factors, or probabilistic elements.
-
Simulation Engine: Run simulations that apply constructors to substrates according to the tasks defined. The engine determines which tasks are possible or impossible under the given conditions, allowing users to explore the boundaries of physical transformations.
-
Extensibility: Easily extend the library with more complex substrates, probabilistic tasks, quantum operations, or environmental conditions. The modular design allows for flexibility and growth as your research progresses.
-
Visualization and Analysis: (Planned feature) Tools for visualizing the results of simulations, including state transitions and the network of possible transformations.
Use Cases
-
Theoretical Physics Research: Explore fundamental questions about what can or cannot be done within the laws of physics, testing hypotheses related to information theory, thermodynamics, and quantum mechanics.
-
Educational Tools: Provide students with a hands-on way to understand the principles of Constructor Theory, allowing them to simulate and visualize abstract concepts.
-
Interdisciplinary Applications: Apply the principles of Constructor Theory to other fields, such as biology (evolution of life), computer science (computation theory), and engineering (design of resilient systems).
Installation
pip install constructor-lib
Usage
Take a look at a simple example or one of the sample implementations:
Metadata
Release files for constructor-lib 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| constructor_lib-0.0.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| constructor_lib-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.9 kB
Release files / constructor_lib-0.0.1.tar.gz
| Download URL | constructor_lib-0.0.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9974ff2e04fb4d7949418dd8f9c4ee0b0a0d64ad4edd9b97eb9b9ed5bc5ab89
|
|
BLAKE2b-256 checksum How to use checksums |
cccbea13166d0c679c5ce9e2b40e4d4075a2f328f267a3bada31a20cb7a16cd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|
Release files / constructor_lib-0.0.1-py3-none-any.whl
| Download URL | constructor_lib-0.0.1-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b749c31279cb29154e845aae3e8898f1f3ab637ba0da98d30fbcc3fa96dc68ea
|
|
BLAKE2b-256 checksum How to use checksums |
29f3fbd74e1b69c3af65941ec9f31624f672bba92deb630196e64b17b9ca0755
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.19
|