process-geometry 0.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. process_geometry-0.0.3/LICENSE +24 -0
  2. process_geometry-0.0.3/PKG-INFO +305 -0
  3. process_geometry-0.0.3/README.md +255 -0
  4. process_geometry-0.0.3/pyproject.toml +45 -0
  5. process_geometry-0.0.3/setup.cfg +4 -0
  6. process_geometry-0.0.3/src/aeg_shakespeare/__init__.py +52 -0
  7. process_geometry-0.0.3/src/aeg_shakespeare/_legacy_api.py +299 -0
  8. process_geometry-0.0.3/src/aeg_shakespeare/analysis/__init__.py +12 -0
  9. process_geometry-0.0.3/src/aeg_shakespeare/analysis/abelian.py +69 -0
  10. process_geometry-0.0.3/src/aeg_shakespeare/analysis/algebraic.py +11 -0
  11. process_geometry-0.0.3/src/aeg_shakespeare/analysis/am.py +19 -0
  12. process_geometry-0.0.3/src/aeg_shakespeare/analysis/connection.py +74 -0
  13. process_geometry-0.0.3/src/aeg_shakespeare/analysis/decomposition.py +37 -0
  14. process_geometry-0.0.3/src/aeg_shakespeare/analysis/module.py +5 -0
  15. process_geometry-0.0.3/src/aeg_shakespeare/central.py +20 -0
  16. process_geometry-0.0.3/src/aeg_shakespeare/constraints.py +121 -0
  17. process_geometry-0.0.3/src/aeg_shakespeare/construction.py +303 -0
  18. process_geometry-0.0.3/src/aeg_shakespeare/core.py +59 -0
  19. process_geometry-0.0.3/src/aeg_shakespeare/cost.py +51 -0
  20. process_geometry-0.0.3/src/aeg_shakespeare/discovery/__init__.py +53 -0
  21. process_geometry-0.0.3/src/aeg_shakespeare/discovery/coefficient_extension.py +75 -0
  22. process_geometry-0.0.3/src/aeg_shakespeare/discovery/polynomial.py +342 -0
  23. process_geometry-0.0.3/src/aeg_shakespeare/discovery/selection.py +146 -0
  24. process_geometry-0.0.3/src/aeg_shakespeare/discovery/structured.py +201 -0
  25. process_geometry-0.0.3/src/aeg_shakespeare/families.py +31 -0
  26. process_geometry-0.0.3/src/aeg_shakespeare/frame.py +5 -0
  27. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/__init__.py +100 -0
  28. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/abel_jacobi.py +246 -0
  29. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/abelian.py +129 -0
  30. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/algebraic.py +105 -0
  31. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/am.py +266 -0
  32. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/intersection.py +321 -0
  33. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/module.py +118 -0
  34. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/period_matrix.py +155 -0
  35. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/periods.py +216 -0
  36. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/real_branch_cycles.py +286 -0
  37. process_geometry-0.0.3/src/aeg_shakespeare/function_theory/weierstrass.py +136 -0
  38. process_geometry-0.0.3/src/aeg_shakespeare/grammar.py +225 -0
  39. process_geometry-0.0.3/src/aeg_shakespeare/history_geometry.py +276 -0
  40. process_geometry-0.0.3/src/aeg_shakespeare/linear.py +70 -0
  41. process_geometry-0.0.3/src/aeg_shakespeare/presentation/__init__.py +23 -0
  42. process_geometry-0.0.3/src/aeg_shakespeare/presentation/budget.py +27 -0
  43. process_geometry-0.0.3/src/aeg_shakespeare/presentation/canonicalization.py +143 -0
  44. process_geometry-0.0.3/src/aeg_shakespeare/presentation/constraints.py +5 -0
  45. process_geometry-0.0.3/src/aeg_shakespeare/presentation/construction.py +19 -0
  46. process_geometry-0.0.3/src/aeg_shakespeare/presentation/grammar.py +15 -0
  47. process_geometry-0.0.3/src/aeg_shakespeare/presentation/history.py +45 -0
  48. process_geometry-0.0.3/src/aeg_shakespeare/presentation/morphism.py +66 -0
  49. process_geometry-0.0.3/src/aeg_shakespeare/presentation/relations.py +31 -0
  50. process_geometry-0.0.3/src/aeg_shakespeare/presentation/search.py +31 -0
  51. process_geometry-0.0.3/src/aeg_shakespeare/process/__init__.py +16 -0
  52. process_geometry-0.0.3/src/aeg_shakespeare/process/finite/__init__.py +43 -0
  53. process_geometry-0.0.3/src/aeg_shakespeare/process/finite/cocycle.py +166 -0
  54. process_geometry-0.0.3/src/aeg_shakespeare/process/finite/families.py +318 -0
  55. process_geometry-0.0.3/src/aeg_shakespeare/process/history.py +53 -0
  56. process_geometry-0.0.3/src/aeg_shakespeare/process/local/__init__.py +7 -0
  57. process_geometry-0.0.3/src/aeg_shakespeare/process/local/direction.py +88 -0
  58. process_geometry-0.0.3/src/aeg_shakespeare/process/local/frame.py +73 -0
  59. process_geometry-0.0.3/src/aeg_shakespeare/process/local/system.py +43 -0
  60. process_geometry-0.0.3/src/aeg_shakespeare/relations.py +374 -0
  61. process_geometry-0.0.3/src/aeg_shakespeare/rewrite.py +157 -0
  62. process_geometry-0.0.3/src/aeg_shakespeare/search.py +286 -0
  63. process_geometry-0.0.3/src/aeg_shakespeare/signature.py +155 -0
  64. process_geometry-0.0.3/src/process_geometry.egg-info/PKG-INFO +305 -0
  65. process_geometry-0.0.3/src/process_geometry.egg-info/SOURCES.txt +90 -0
  66. process_geometry-0.0.3/src/process_geometry.egg-info/dependency_links.txt +1 -0
  67. process_geometry-0.0.3/src/process_geometry.egg-info/requires.txt +6 -0
  68. process_geometry-0.0.3/src/process_geometry.egg-info/top_level.txt +1 -0
  69. process_geometry-0.0.3/tests/test_abelian_function_theory.py +54 -0
  70. process_geometry-0.0.3/tests/test_am_function_theory.py +150 -0
  71. process_geometry-0.0.3/tests/test_benchmarks.py +161 -0
  72. process_geometry-0.0.3/tests/test_canonical_observer_essay_hygiene.py +121 -0
  73. process_geometry-0.0.3/tests/test_central.py +92 -0
  74. process_geometry-0.0.3/tests/test_coefficient_extension.py +34 -0
  75. process_geometry-0.0.3/tests/test_construction.py +140 -0
  76. process_geometry-0.0.3/tests/test_discovery.py +64 -0
  77. process_geometry-0.0.3/tests/test_discovery_selection.py +27 -0
  78. process_geometry-0.0.3/tests/test_families.py +83 -0
  79. process_geometry-0.0.3/tests/test_generated_grammar.py +88 -0
  80. process_geometry-0.0.3/tests/test_history_geometry.py +80 -0
  81. process_geometry-0.0.3/tests/test_intersection.py +18 -0
  82. process_geometry-0.0.3/tests/test_namespace_hygiene.py +35 -0
  83. process_geometry-0.0.3/tests/test_period_matrix.py +29 -0
  84. process_geometry-0.0.3/tests/test_periods.py +22 -0
  85. process_geometry-0.0.3/tests/test_physical_api_layout.py +35 -0
  86. process_geometry-0.0.3/tests/test_presentation_morphism.py +36 -0
  87. process_geometry-0.0.3/tests/test_public_api_smoke.py +62 -0
  88. process_geometry-0.0.3/tests/test_rewrite.py +56 -0
  89. process_geometry-0.0.3/tests/test_search.py +106 -0
  90. process_geometry-0.0.3/tests/test_signature.py +91 -0
  91. process_geometry-0.0.3/tests/test_source_semantic_hygiene.py +93 -0
  92. process_geometry-0.0.3/tests/test_structured_observers.py +102 -0
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <https://unlicense.org>
@@ -0,0 +1,305 @@
1
+ Metadata-Version: 2.4
2
+ Name: process-geometry
3
+ Version: 0.0.3
4
+ Summary: A process-first mathematical library for task-relative presentations, discovery, and analysis.
5
+ Author: Process Geometry contributors
6
+ License: This is free and unencumbered software released into the public domain.
7
+
8
+ Anyone is free to copy, modify, publish, use, compile, sell, or
9
+ distribute this software, either in source code form or as a compiled
10
+ binary, for any purpose, commercial or non-commercial, and by any
11
+ means.
12
+
13
+ In jurisdictions that recognize copyright laws, the author or authors
14
+ of this software dedicate any and all copyright interest in the
15
+ software to the public domain. We make this dedication for the benefit
16
+ of the public at large and to the detriment of our heirs and
17
+ successors. We intend this dedication to be an overt act of
18
+ relinquishment in perpetuity of all present and future rights to this
19
+ software under copyright law.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27
+ OTHER DEALINGS IN THE SOFTWARE.
28
+
29
+ For more information, please refer to <https://unlicense.org>
30
+
31
+ Project-URL: Repository, https://github.com/mountain/process-geometry
32
+ Classifier: Development Status :: 2 - Pre-Alpha
33
+ Classifier: License :: Public Domain
34
+ Classifier: Programming Language :: Python :: 3
35
+ Classifier: Programming Language :: Python :: 3.10
36
+ Classifier: Programming Language :: Python :: 3.11
37
+ Classifier: Programming Language :: Python :: 3.12
38
+ Classifier: Programming Language :: Python :: 3.13
39
+ Classifier: Programming Language :: Python :: 3.14
40
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
41
+ Requires-Python: >=3.10
42
+ Description-Content-Type: text/markdown
43
+ License-File: LICENSE
44
+ Requires-Dist: sympy>=1.13
45
+ Provides-Extra: dev
46
+ Requires-Dist: build>=1.2; extra == "dev"
47
+ Requires-Dist: pytest>=8; extra == "dev"
48
+ Requires-Dist: twine>=5; extra == "dev"
49
+ Dynamic: license-file
50
+
51
+ # Process Geometry
52
+
53
+ **Process Geometry** is an experimental process-first mathematical library for constructing, comparing, and discovering task-sufficient presentations of processes, and for developing the analytic language supported by those presentations.
54
+
55
+ The project does not assume that a process arrives with a preferred coordinate system, vector space, Fourier basis, eigenmode decomposition, or special-function vocabulary. It starts from primitive process structure and asks:
56
+
57
+ 1. what histories or compositions can occur;
58
+ 2. which distinctions matter to an observer or task;
59
+ 3. what quotient, local, topological, or higher-rank structure those distinctions induce;
60
+ 4. how that structure can be materialized as an economical **Presentation**;
61
+ 5. what analysis becomes natural once a successful presentation is found.
62
+
63
+ The current research foundation has two complementary axes:
64
+
65
+ ```text
66
+ horizontal:
67
+ distinguishability
68
+ -> exact quotient / topology
69
+ -> entropy / metric / differential structure when justified
70
+ -> task-sufficient presentations
71
+
72
+ vertical:
73
+ free process
74
+ -> semantic compression
75
+ -> objectification
76
+ -> new primitive / higher rank
77
+ -> free higher-rank composition
78
+ -> compositional rank lowering
79
+ ```
80
+
81
+ The vertical axis is constrained by a strong semantic requirement: every legal higher-rank composition must admit a coherent interpretation back into lower-rank process semantics. Where topology or analysis exists, stronger continuity and analytic-closure questions can be asked across ranks.
82
+
83
+ AEG remains the first major model organism for this program because the arithmetic/hyperoperation tower naturally exhibits objectification and rank raising while also supporting function theory and analysis. The stronger conjecture that arithmetic-generated geometries provide universal or standard models is **not** assumed by the package.
84
+
85
+ ## Status
86
+
87
+ Current release target: **`process-geometry==0.0.3`**, a pre-alpha research preview.
88
+
89
+ Historical releases `0.0.1` and `0.0.2` were published on PyPI under the distribution name **`aeg-shakespeare`**. Starting with `0.0.3`, the release identity is **`process-geometry`**.
90
+
91
+ The package is intended to be installable and useful as an experimental mathematical toolkit, but `0.0.x` APIs are not covered by backward-compatibility guarantees. Exact certificates, explicit failure modes, conceptual layer separation, and research traceability take priority over interface stability during this phase.
92
+
93
+ See [`docs/46-release-0.0.3.md`](docs/46-release-0.0.3.md) for the current release contract, [`docs/GOVERNANCE.md`](docs/GOVERNANCE.md) for research-to-API promotion rules, and [`CHANGELOG.md`](CHANGELOG.md) for release summaries.
94
+
95
+ ## Install
96
+
97
+ ```bash
98
+ python -m pip install process-geometry
99
+ ```
100
+
101
+ For development:
102
+
103
+ ```bash
104
+ python -m pip install -e '.[dev]'
105
+ ```
106
+
107
+ Distribution identity and import identity are intentionally separated in `0.0.3`:
108
+
109
+ ```text
110
+ PyPI distribution: process-geometry
111
+ GitHub repository: mountain/process-geometry
112
+ Python import package: aeg_shakespeare (temporary compatibility namespace)
113
+ ```
114
+
115
+ So current imports remain:
116
+
117
+ ```python
118
+ import aeg_shakespeare as pg
119
+ ```
120
+
121
+ Do not install historical `aeg-shakespeare` releases side-by-side with `process-geometry==0.0.3`: both currently provide the same `aeg_shakespeare` import tree. Existing environments should uninstall the historical distribution before installing the new one.
122
+
123
+ Supported CPython versions: **3.10 through 3.14**.
124
+
125
+ SymPy is an algebra/discovery backend. Process Geometry keeps its own process-level semantics and does not define process equality by `sympy.simplify()`.
126
+
127
+ ## Public API direction
128
+
129
+ The public surface is organized as a mathematical pipeline rather than a flat catalog of symbols:
130
+
131
+ ```text
132
+ Process -> Presentation -> Discovery -> Analysis
133
+ ```
134
+
135
+ ### `aeg_shakespeare.process`
136
+
137
+ What the process **is**.
138
+
139
+ - `process.history` — literal ordered histories and caller-supplied semantics;
140
+ - `process.finite` — finite parameterized families, characters, actions, and additive process cocycles;
141
+ - `process.local` — local/infinitesimal realizations such as `ProcessSystem` and `ProcessFrame`.
142
+
143
+ ### `aeg_shakespeare.presentation`
144
+
145
+ How process history is **objectified, quotiented, compressed, transformed, and compared**.
146
+
147
+ - `presentation.history` — explicit rewriting, task signatures, and finite history geometry;
148
+ - `presentation.construction` — construction-history-preserving primitive proposals;
149
+ - `presentation.constraints` — exact algebraic quotient constraints;
150
+ - `presentation.grammar` — generated finite process grammars;
151
+ - `presentation.relations` — exact process relations, factors, kernels, and decompositions;
152
+ - `presentation.morphism` — task-relative, certificate-carrying transformations between possibly heterogeneous presentations;
153
+ - `presentation.search` — budgets, representation cost, Pareto filtering, and presentation search.
154
+
155
+ The first `PresentationMorphism` API is intentionally minimal: it records source, target, declared task semantics, a caller-defined certificate, and optional construction provenance. It does not yet define universal verification, composition, inverses, normal forms, or a category/groupoid structure.
156
+
157
+ ### `aeg_shakespeare.discovery`
158
+
159
+ How alternative presentations are **searched**.
160
+
161
+ The current discovery package contains bounded polynomial invariant/quotient search, structured observer proposals, first-order quotient selection, and explicit coefficient-language extension experiments. These are search procedures, not process ontology.
162
+
163
+ ### `aeg_shakespeare.analysis`
164
+
165
+ What analytic or geometric language a successful presentation **supports**.
166
+
167
+ - `analysis.module` — finite process-function modules;
168
+ - `analysis.am` — the Addition/Multiplication process calculus;
169
+ - `analysis.algebraic` — algebraic quotient profiles and Weierstrass calibration;
170
+ - `analysis.abelian` — lifted histories, Abelian integrals, cycle systems, periods, and normalized history quotients.
171
+
172
+ A representative import therefore looks like:
173
+
174
+ ```python
175
+ from aeg_shakespeare.process.history import ProcessWord
176
+ from aeg_shakespeare.presentation.grammar import discover_generated_presentation
177
+ from aeg_shakespeare.presentation.morphism import PresentationMorphism
178
+ from aeg_shakespeare.discovery import discover_polynomial_invariants
179
+ from aeg_shakespeare.analysis.am import AMFunctionTheory
180
+ ```
181
+
182
+ The package root is intentionally only a namespace router:
183
+
184
+ ```python
185
+ import aeg_shakespeare as pg
186
+
187
+ pg.process
188
+ pg.presentation
189
+ pg.discovery
190
+ pg.analysis
191
+ ```
192
+
193
+ Legacy root-level imports from the early `0.0.x` research-preview surface remain available lazily and emit `DeprecationWarning`; they are no longer part of the declared public root surface. See [`docs/API.md`](docs/API.md) for the detailed map and migration notes.
194
+
195
+ ## Why “Process Geometry”
196
+
197
+ The name is not shorthand for “put a manifold on a dynamical system.” The current foundation distinguishes several levels.
198
+
199
+ At the exact discrete level, future or task distinguishability can induce a continuation-stable quotient. Myhill–Nerode provides the canonical calibration: future-equivalence classes of a regular language are exactly the states of its unique minimal DFA.
200
+
201
+ Topology enters only when observer-relative neighborhoods admit coherent local refinement and are compatible with process evolution. It then supplies robustness, boundary, convergence, continuity, connectedness, compactness, quotient/covering/homotopy structure, and the substrate for topological entropy.
202
+
203
+ Across ranks, semantic compression may objectify a stable lower-rank process into a new primitive. That primitive can participate in a new free composition language, but the new language is grounded only if arbitrary legal composites admit **compositional rank lowering** back to lower-rank semantics.
204
+
205
+ This gives Process Geometry both a horizontal and a vertical structure: geometry of distinctions within a process level, and geometry of objectification and semantic interpretation across process levels.
206
+
207
+ See:
208
+
209
+ - [`docs/42-process-geometry-from-distinguishability.md`](docs/42-process-geometry-from-distinguishability.md)
210
+ - [`docs/43-myhill-nerode-and-the-topological-threshold.md`](docs/43-myhill-nerode-and-the-topological-threshold.md)
211
+ - [`docs/44-objectification-semantic-compression-and-rank-lowering.md`](docs/44-objectification-semantic-compression-and-rank-lowering.md)
212
+ - [`docs/45-lineage-objectification-and-analytic-closure.md`](docs/45-lineage-objectification-and-analytic-closure.md)
213
+
214
+ ## Shakespeare and Sonnets
215
+
216
+ **Shakespeare** is retained as the repository's problem-driven research program, not as the software distribution identity.
217
+
218
+ `sonnet/` contains sustained investigations of difficult or open problems. A Sonnet may freely prototype problem-local mathematics and interfaces, but it does not standardize the public API. Reusable structures move through the governance lifecycle:
219
+
220
+ ```text
221
+ Sonnet
222
+ -> extraction candidate
223
+ -> Experimental
224
+ -> maturing
225
+ -> Public API
226
+ ```
227
+
228
+ The purpose is to let real problems force common structure without freezing the first successful local abstraction.
229
+
230
+ ## Quick start
231
+
232
+ The smallest runnable examples are deliberately problem-independent:
233
+
234
+ ```bash
235
+ python examples/quickstart.py
236
+ python examples/constraint_quickstart.py
237
+ python examples/grammar_quickstart.py
238
+ ```
239
+
240
+ They demonstrate, respectively:
241
+
242
+ 1. literal process history, an explicit presentation relation, and A/M resonance;
243
+ 2. exact equality modulo algebraic presentation constraints;
244
+ 3. generated process grammars and return-relation discovery from a seed.
245
+
246
+ The examples are entry points, not mathematical proofs. Complete classical and research arguments live under `tests/classical/` and `tests/research/` as cited executable essays.
247
+
248
+ ## Reading the source
249
+
250
+ Process Geometry uses a **literate-programming** discipline. Mathematically substantial Python modules and tests should explain the mathematical pressure that created an abstraction before presenting its implementation.
251
+
252
+ ```text
253
+ classical historical path:
254
+ analytic difficulty -> special construction -> geometry/algebra
255
+
256
+ process-first reconstruction:
257
+ primitive process -> history/constraint/invariant -> quotient geometry
258
+ -> adequate function language -> classical formula as a shadow
259
+ ```
260
+
261
+ The canonical pendulum calibration therefore begins from constrained position/velocity dynamics rather than from `theta`, `sin(theta)`, or a preselected elliptic function. Likewise, the A/M layer begins from **Addition and Multiplication** and their finite/noncommutative process relations before logarithms or familiar harmonic-analysis names are introduced.
262
+
263
+ A substantial test in `tests/classical/` or `tests/research/` is expected to be a complete mathematical vignette: question, primitive data, classical lineage, Process Geometry reconstruction, calibration statement, proof map, claim boundary, and bibliographic references.
264
+
265
+ See:
266
+
267
+ - [`docs/09-literate-programming-and-mathematical-lineage.md`](docs/09-literate-programming-and-mathematical-lineage.md)
268
+ - [`docs/11-references-and-test-essays.md`](docs/11-references-and-test-essays.md)
269
+ - [`docs/REFERENCES.md`](docs/REFERENCES.md)
270
+
271
+ ## Current research boundary
272
+
273
+ The current implementation supports a bounded loop from declared process structure to evaluated presentations, plus concrete routes from successful presentations toward process-adapted function theory and global geometry.
274
+
275
+ Recent calibrations have established several deliberately limited layers:
276
+
277
+ - finite families, scalar characters, family actions, and additive process cocycles live in the **process** layer;
278
+ - rewriting, task quotients, construction histories, grammars, relations, task-relative presentation morphisms, and Pareto cost live in the **presentation** layer;
279
+ - invariant/observer/quotient/language proposals live in **discovery**;
280
+ - A/M calculus, algebraic quotient profiles, Abelian integrals, lifted cycles, period matrices, and normalized history quotients live in **analysis**.
281
+
282
+ `PresentationMorphism` was promoted only after independent KdV, resistor-network, and braid/Markov calibrations forced different aspects of the same role: cross-presentation completeness, task-semantic rather than syntactic confluence, and transformations between presentation spaces of different dimensions. The public object remains only an evidence-bearing record; composition and a universal verification semantics are still outside the API.
283
+
284
+ The separation is intentional. Current foundation notes about generic `ProcessGeometry`, observer topology, objectification, rank lowering, and analytic closure are research programs, **not** newly promoted public classes. Under [`docs/GOVERNANCE.md`](docs/GOVERNANCE.md), such structures must survive independent domains and red teams before entering the public API.
285
+
286
+ Physical and mathematical calibration problems do not define the package API. Pendulum, oscillator, Galilean mechanics, magnetic translations, KdV, resistor networks, braid/Markov systems, and Sonnets are probes of common machinery.
287
+
288
+ ## Development and release checks
289
+
290
+ ```bash
291
+ python -m pip install -e '.[dev]'
292
+ pytest
293
+ python -m build
294
+ python -m twine check dist/*
295
+ ```
296
+
297
+ CI tests the same release gate on CPython 3.10 through 3.14, installs the built wheel into a fresh virtual environment, verifies `importlib.metadata.version("process-geometry")`, and imports the package from outside the repository source tree. See [`docs/RELEASE_CHECKLIST.md`](docs/RELEASE_CHECKLIST.md).
298
+
299
+ The evolving mathematical story is indexed in [`docs/README.md`](docs/README.md).
300
+
301
+ ## License and citation
302
+
303
+ Process Geometry is dedicated to the **public domain** using the Unlicense public-domain dedication text in [`LICENSE`](LICENSE). The intent is unrestricted use, modification, publication, redistribution, and reuse of both the software and its accompanying mathematical exposition.
304
+
305
+ Scholarly attribution is separate from software licensing. Mathematical and historical sources are cited in the literate tests and [`docs/REFERENCES.md`](docs/REFERENCES.md); software citation metadata is provided in [`CITATION.cff`](CITATION.cff).
@@ -0,0 +1,255 @@
1
+ # Process Geometry
2
+
3
+ **Process Geometry** is an experimental process-first mathematical library for constructing, comparing, and discovering task-sufficient presentations of processes, and for developing the analytic language supported by those presentations.
4
+
5
+ The project does not assume that a process arrives with a preferred coordinate system, vector space, Fourier basis, eigenmode decomposition, or special-function vocabulary. It starts from primitive process structure and asks:
6
+
7
+ 1. what histories or compositions can occur;
8
+ 2. which distinctions matter to an observer or task;
9
+ 3. what quotient, local, topological, or higher-rank structure those distinctions induce;
10
+ 4. how that structure can be materialized as an economical **Presentation**;
11
+ 5. what analysis becomes natural once a successful presentation is found.
12
+
13
+ The current research foundation has two complementary axes:
14
+
15
+ ```text
16
+ horizontal:
17
+ distinguishability
18
+ -> exact quotient / topology
19
+ -> entropy / metric / differential structure when justified
20
+ -> task-sufficient presentations
21
+
22
+ vertical:
23
+ free process
24
+ -> semantic compression
25
+ -> objectification
26
+ -> new primitive / higher rank
27
+ -> free higher-rank composition
28
+ -> compositional rank lowering
29
+ ```
30
+
31
+ The vertical axis is constrained by a strong semantic requirement: every legal higher-rank composition must admit a coherent interpretation back into lower-rank process semantics. Where topology or analysis exists, stronger continuity and analytic-closure questions can be asked across ranks.
32
+
33
+ AEG remains the first major model organism for this program because the arithmetic/hyperoperation tower naturally exhibits objectification and rank raising while also supporting function theory and analysis. The stronger conjecture that arithmetic-generated geometries provide universal or standard models is **not** assumed by the package.
34
+
35
+ ## Status
36
+
37
+ Current release target: **`process-geometry==0.0.3`**, a pre-alpha research preview.
38
+
39
+ Historical releases `0.0.1` and `0.0.2` were published on PyPI under the distribution name **`aeg-shakespeare`**. Starting with `0.0.3`, the release identity is **`process-geometry`**.
40
+
41
+ The package is intended to be installable and useful as an experimental mathematical toolkit, but `0.0.x` APIs are not covered by backward-compatibility guarantees. Exact certificates, explicit failure modes, conceptual layer separation, and research traceability take priority over interface stability during this phase.
42
+
43
+ See [`docs/46-release-0.0.3.md`](docs/46-release-0.0.3.md) for the current release contract, [`docs/GOVERNANCE.md`](docs/GOVERNANCE.md) for research-to-API promotion rules, and [`CHANGELOG.md`](CHANGELOG.md) for release summaries.
44
+
45
+ ## Install
46
+
47
+ ```bash
48
+ python -m pip install process-geometry
49
+ ```
50
+
51
+ For development:
52
+
53
+ ```bash
54
+ python -m pip install -e '.[dev]'
55
+ ```
56
+
57
+ Distribution identity and import identity are intentionally separated in `0.0.3`:
58
+
59
+ ```text
60
+ PyPI distribution: process-geometry
61
+ GitHub repository: mountain/process-geometry
62
+ Python import package: aeg_shakespeare (temporary compatibility namespace)
63
+ ```
64
+
65
+ So current imports remain:
66
+
67
+ ```python
68
+ import aeg_shakespeare as pg
69
+ ```
70
+
71
+ Do not install historical `aeg-shakespeare` releases side-by-side with `process-geometry==0.0.3`: both currently provide the same `aeg_shakespeare` import tree. Existing environments should uninstall the historical distribution before installing the new one.
72
+
73
+ Supported CPython versions: **3.10 through 3.14**.
74
+
75
+ SymPy is an algebra/discovery backend. Process Geometry keeps its own process-level semantics and does not define process equality by `sympy.simplify()`.
76
+
77
+ ## Public API direction
78
+
79
+ The public surface is organized as a mathematical pipeline rather than a flat catalog of symbols:
80
+
81
+ ```text
82
+ Process -> Presentation -> Discovery -> Analysis
83
+ ```
84
+
85
+ ### `aeg_shakespeare.process`
86
+
87
+ What the process **is**.
88
+
89
+ - `process.history` — literal ordered histories and caller-supplied semantics;
90
+ - `process.finite` — finite parameterized families, characters, actions, and additive process cocycles;
91
+ - `process.local` — local/infinitesimal realizations such as `ProcessSystem` and `ProcessFrame`.
92
+
93
+ ### `aeg_shakespeare.presentation`
94
+
95
+ How process history is **objectified, quotiented, compressed, transformed, and compared**.
96
+
97
+ - `presentation.history` — explicit rewriting, task signatures, and finite history geometry;
98
+ - `presentation.construction` — construction-history-preserving primitive proposals;
99
+ - `presentation.constraints` — exact algebraic quotient constraints;
100
+ - `presentation.grammar` — generated finite process grammars;
101
+ - `presentation.relations` — exact process relations, factors, kernels, and decompositions;
102
+ - `presentation.morphism` — task-relative, certificate-carrying transformations between possibly heterogeneous presentations;
103
+ - `presentation.search` — budgets, representation cost, Pareto filtering, and presentation search.
104
+
105
+ The first `PresentationMorphism` API is intentionally minimal: it records source, target, declared task semantics, a caller-defined certificate, and optional construction provenance. It does not yet define universal verification, composition, inverses, normal forms, or a category/groupoid structure.
106
+
107
+ ### `aeg_shakespeare.discovery`
108
+
109
+ How alternative presentations are **searched**.
110
+
111
+ The current discovery package contains bounded polynomial invariant/quotient search, structured observer proposals, first-order quotient selection, and explicit coefficient-language extension experiments. These are search procedures, not process ontology.
112
+
113
+ ### `aeg_shakespeare.analysis`
114
+
115
+ What analytic or geometric language a successful presentation **supports**.
116
+
117
+ - `analysis.module` — finite process-function modules;
118
+ - `analysis.am` — the Addition/Multiplication process calculus;
119
+ - `analysis.algebraic` — algebraic quotient profiles and Weierstrass calibration;
120
+ - `analysis.abelian` — lifted histories, Abelian integrals, cycle systems, periods, and normalized history quotients.
121
+
122
+ A representative import therefore looks like:
123
+
124
+ ```python
125
+ from aeg_shakespeare.process.history import ProcessWord
126
+ from aeg_shakespeare.presentation.grammar import discover_generated_presentation
127
+ from aeg_shakespeare.presentation.morphism import PresentationMorphism
128
+ from aeg_shakespeare.discovery import discover_polynomial_invariants
129
+ from aeg_shakespeare.analysis.am import AMFunctionTheory
130
+ ```
131
+
132
+ The package root is intentionally only a namespace router:
133
+
134
+ ```python
135
+ import aeg_shakespeare as pg
136
+
137
+ pg.process
138
+ pg.presentation
139
+ pg.discovery
140
+ pg.analysis
141
+ ```
142
+
143
+ Legacy root-level imports from the early `0.0.x` research-preview surface remain available lazily and emit `DeprecationWarning`; they are no longer part of the declared public root surface. See [`docs/API.md`](docs/API.md) for the detailed map and migration notes.
144
+
145
+ ## Why “Process Geometry”
146
+
147
+ The name is not shorthand for “put a manifold on a dynamical system.” The current foundation distinguishes several levels.
148
+
149
+ At the exact discrete level, future or task distinguishability can induce a continuation-stable quotient. Myhill–Nerode provides the canonical calibration: future-equivalence classes of a regular language are exactly the states of its unique minimal DFA.
150
+
151
+ Topology enters only when observer-relative neighborhoods admit coherent local refinement and are compatible with process evolution. It then supplies robustness, boundary, convergence, continuity, connectedness, compactness, quotient/covering/homotopy structure, and the substrate for topological entropy.
152
+
153
+ Across ranks, semantic compression may objectify a stable lower-rank process into a new primitive. That primitive can participate in a new free composition language, but the new language is grounded only if arbitrary legal composites admit **compositional rank lowering** back to lower-rank semantics.
154
+
155
+ This gives Process Geometry both a horizontal and a vertical structure: geometry of distinctions within a process level, and geometry of objectification and semantic interpretation across process levels.
156
+
157
+ See:
158
+
159
+ - [`docs/42-process-geometry-from-distinguishability.md`](docs/42-process-geometry-from-distinguishability.md)
160
+ - [`docs/43-myhill-nerode-and-the-topological-threshold.md`](docs/43-myhill-nerode-and-the-topological-threshold.md)
161
+ - [`docs/44-objectification-semantic-compression-and-rank-lowering.md`](docs/44-objectification-semantic-compression-and-rank-lowering.md)
162
+ - [`docs/45-lineage-objectification-and-analytic-closure.md`](docs/45-lineage-objectification-and-analytic-closure.md)
163
+
164
+ ## Shakespeare and Sonnets
165
+
166
+ **Shakespeare** is retained as the repository's problem-driven research program, not as the software distribution identity.
167
+
168
+ `sonnet/` contains sustained investigations of difficult or open problems. A Sonnet may freely prototype problem-local mathematics and interfaces, but it does not standardize the public API. Reusable structures move through the governance lifecycle:
169
+
170
+ ```text
171
+ Sonnet
172
+ -> extraction candidate
173
+ -> Experimental
174
+ -> maturing
175
+ -> Public API
176
+ ```
177
+
178
+ The purpose is to let real problems force common structure without freezing the first successful local abstraction.
179
+
180
+ ## Quick start
181
+
182
+ The smallest runnable examples are deliberately problem-independent:
183
+
184
+ ```bash
185
+ python examples/quickstart.py
186
+ python examples/constraint_quickstart.py
187
+ python examples/grammar_quickstart.py
188
+ ```
189
+
190
+ They demonstrate, respectively:
191
+
192
+ 1. literal process history, an explicit presentation relation, and A/M resonance;
193
+ 2. exact equality modulo algebraic presentation constraints;
194
+ 3. generated process grammars and return-relation discovery from a seed.
195
+
196
+ The examples are entry points, not mathematical proofs. Complete classical and research arguments live under `tests/classical/` and `tests/research/` as cited executable essays.
197
+
198
+ ## Reading the source
199
+
200
+ Process Geometry uses a **literate-programming** discipline. Mathematically substantial Python modules and tests should explain the mathematical pressure that created an abstraction before presenting its implementation.
201
+
202
+ ```text
203
+ classical historical path:
204
+ analytic difficulty -> special construction -> geometry/algebra
205
+
206
+ process-first reconstruction:
207
+ primitive process -> history/constraint/invariant -> quotient geometry
208
+ -> adequate function language -> classical formula as a shadow
209
+ ```
210
+
211
+ The canonical pendulum calibration therefore begins from constrained position/velocity dynamics rather than from `theta`, `sin(theta)`, or a preselected elliptic function. Likewise, the A/M layer begins from **Addition and Multiplication** and their finite/noncommutative process relations before logarithms or familiar harmonic-analysis names are introduced.
212
+
213
+ A substantial test in `tests/classical/` or `tests/research/` is expected to be a complete mathematical vignette: question, primitive data, classical lineage, Process Geometry reconstruction, calibration statement, proof map, claim boundary, and bibliographic references.
214
+
215
+ See:
216
+
217
+ - [`docs/09-literate-programming-and-mathematical-lineage.md`](docs/09-literate-programming-and-mathematical-lineage.md)
218
+ - [`docs/11-references-and-test-essays.md`](docs/11-references-and-test-essays.md)
219
+ - [`docs/REFERENCES.md`](docs/REFERENCES.md)
220
+
221
+ ## Current research boundary
222
+
223
+ The current implementation supports a bounded loop from declared process structure to evaluated presentations, plus concrete routes from successful presentations toward process-adapted function theory and global geometry.
224
+
225
+ Recent calibrations have established several deliberately limited layers:
226
+
227
+ - finite families, scalar characters, family actions, and additive process cocycles live in the **process** layer;
228
+ - rewriting, task quotients, construction histories, grammars, relations, task-relative presentation morphisms, and Pareto cost live in the **presentation** layer;
229
+ - invariant/observer/quotient/language proposals live in **discovery**;
230
+ - A/M calculus, algebraic quotient profiles, Abelian integrals, lifted cycles, period matrices, and normalized history quotients live in **analysis**.
231
+
232
+ `PresentationMorphism` was promoted only after independent KdV, resistor-network, and braid/Markov calibrations forced different aspects of the same role: cross-presentation completeness, task-semantic rather than syntactic confluence, and transformations between presentation spaces of different dimensions. The public object remains only an evidence-bearing record; composition and a universal verification semantics are still outside the API.
233
+
234
+ The separation is intentional. Current foundation notes about generic `ProcessGeometry`, observer topology, objectification, rank lowering, and analytic closure are research programs, **not** newly promoted public classes. Under [`docs/GOVERNANCE.md`](docs/GOVERNANCE.md), such structures must survive independent domains and red teams before entering the public API.
235
+
236
+ Physical and mathematical calibration problems do not define the package API. Pendulum, oscillator, Galilean mechanics, magnetic translations, KdV, resistor networks, braid/Markov systems, and Sonnets are probes of common machinery.
237
+
238
+ ## Development and release checks
239
+
240
+ ```bash
241
+ python -m pip install -e '.[dev]'
242
+ pytest
243
+ python -m build
244
+ python -m twine check dist/*
245
+ ```
246
+
247
+ CI tests the same release gate on CPython 3.10 through 3.14, installs the built wheel into a fresh virtual environment, verifies `importlib.metadata.version("process-geometry")`, and imports the package from outside the repository source tree. See [`docs/RELEASE_CHECKLIST.md`](docs/RELEASE_CHECKLIST.md).
248
+
249
+ The evolving mathematical story is indexed in [`docs/README.md`](docs/README.md).
250
+
251
+ ## License and citation
252
+
253
+ Process Geometry is dedicated to the **public domain** using the Unlicense public-domain dedication text in [`LICENSE`](LICENSE). The intent is unrestricted use, modification, publication, redistribution, and reuse of both the software and its accompanying mathematical exposition.
254
+
255
+ Scholarly attribution is separate from software licensing. Mathematical and historical sources are cited in the literate tests and [`docs/REFERENCES.md`](docs/REFERENCES.md); software citation metadata is provided in [`CITATION.cff`](CITATION.cff).
@@ -0,0 +1,45 @@
1
+ [build-system]
2
+ requires = ["setuptools>=70", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "process-geometry"
7
+ version = "0.0.3"
8
+ description = "A process-first mathematical library for task-relative presentations, discovery, and analysis."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = {file = "LICENSE"}
12
+ authors = [
13
+ {name = "Process Geometry contributors"}
14
+ ]
15
+ dependencies = [
16
+ "sympy>=1.13"
17
+ ]
18
+ classifiers = [
19
+ "Development Status :: 2 - Pre-Alpha",
20
+ "License :: Public Domain",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
27
+ "Topic :: Scientific/Engineering :: Mathematics",
28
+ ]
29
+
30
+ [project.optional-dependencies]
31
+ dev = [
32
+ "build>=1.2",
33
+ "pytest>=8",
34
+ "twine>=5",
35
+ ]
36
+
37
+ [project.urls]
38
+ Repository = "https://github.com/mountain/process-geometry"
39
+
40
+ [tool.setuptools.packages.find]
41
+ where = ["src"]
42
+
43
+ [tool.pytest.ini_options]
44
+ pythonpath = ["src"]
45
+ testpaths = ["tests"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+