process-geometry 0.0.3__py3-none-any.whl

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 (63) hide show
  1. aeg_shakespeare/__init__.py +52 -0
  2. aeg_shakespeare/_legacy_api.py +299 -0
  3. aeg_shakespeare/analysis/__init__.py +12 -0
  4. aeg_shakespeare/analysis/abelian.py +69 -0
  5. aeg_shakespeare/analysis/algebraic.py +11 -0
  6. aeg_shakespeare/analysis/am.py +19 -0
  7. aeg_shakespeare/analysis/connection.py +74 -0
  8. aeg_shakespeare/analysis/decomposition.py +37 -0
  9. aeg_shakespeare/analysis/module.py +5 -0
  10. aeg_shakespeare/central.py +20 -0
  11. aeg_shakespeare/constraints.py +121 -0
  12. aeg_shakespeare/construction.py +303 -0
  13. aeg_shakespeare/core.py +59 -0
  14. aeg_shakespeare/cost.py +51 -0
  15. aeg_shakespeare/discovery/__init__.py +53 -0
  16. aeg_shakespeare/discovery/coefficient_extension.py +75 -0
  17. aeg_shakespeare/discovery/polynomial.py +342 -0
  18. aeg_shakespeare/discovery/selection.py +146 -0
  19. aeg_shakespeare/discovery/structured.py +201 -0
  20. aeg_shakespeare/families.py +31 -0
  21. aeg_shakespeare/frame.py +5 -0
  22. aeg_shakespeare/function_theory/__init__.py +100 -0
  23. aeg_shakespeare/function_theory/abel_jacobi.py +246 -0
  24. aeg_shakespeare/function_theory/abelian.py +129 -0
  25. aeg_shakespeare/function_theory/algebraic.py +105 -0
  26. aeg_shakespeare/function_theory/am.py +266 -0
  27. aeg_shakespeare/function_theory/intersection.py +321 -0
  28. aeg_shakespeare/function_theory/module.py +118 -0
  29. aeg_shakespeare/function_theory/period_matrix.py +155 -0
  30. aeg_shakespeare/function_theory/periods.py +216 -0
  31. aeg_shakespeare/function_theory/real_branch_cycles.py +286 -0
  32. aeg_shakespeare/function_theory/weierstrass.py +136 -0
  33. aeg_shakespeare/grammar.py +225 -0
  34. aeg_shakespeare/history_geometry.py +276 -0
  35. aeg_shakespeare/linear.py +70 -0
  36. aeg_shakespeare/presentation/__init__.py +23 -0
  37. aeg_shakespeare/presentation/budget.py +27 -0
  38. aeg_shakespeare/presentation/canonicalization.py +143 -0
  39. aeg_shakespeare/presentation/constraints.py +5 -0
  40. aeg_shakespeare/presentation/construction.py +19 -0
  41. aeg_shakespeare/presentation/grammar.py +15 -0
  42. aeg_shakespeare/presentation/history.py +45 -0
  43. aeg_shakespeare/presentation/morphism.py +66 -0
  44. aeg_shakespeare/presentation/relations.py +31 -0
  45. aeg_shakespeare/presentation/search.py +31 -0
  46. aeg_shakespeare/process/__init__.py +16 -0
  47. aeg_shakespeare/process/finite/__init__.py +43 -0
  48. aeg_shakespeare/process/finite/cocycle.py +166 -0
  49. aeg_shakespeare/process/finite/families.py +318 -0
  50. aeg_shakespeare/process/history.py +53 -0
  51. aeg_shakespeare/process/local/__init__.py +7 -0
  52. aeg_shakespeare/process/local/direction.py +88 -0
  53. aeg_shakespeare/process/local/frame.py +73 -0
  54. aeg_shakespeare/process/local/system.py +43 -0
  55. aeg_shakespeare/relations.py +374 -0
  56. aeg_shakespeare/rewrite.py +157 -0
  57. aeg_shakespeare/search.py +286 -0
  58. aeg_shakespeare/signature.py +155 -0
  59. process_geometry-0.0.3.dist-info/METADATA +305 -0
  60. process_geometry-0.0.3.dist-info/RECORD +63 -0
  61. process_geometry-0.0.3.dist-info/WHEEL +5 -0
  62. process_geometry-0.0.3.dist-info/licenses/LICENSE +24 -0
  63. process_geometry-0.0.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,52 @@
1
+ """Process Geometry compatibility namespace.
2
+
3
+ The distribution is published as ``process-geometry``. During the 0.0.x
4
+ transition the import namespace remains ``aeg_shakespeare`` so release identity
5
+ can migrate independently from the larger source/import namespace change.
6
+
7
+ The root package is intentionally a small navigation surface. Public concepts
8
+ are organized into four semantic namespaces:
9
+
10
+ ``process`` -> what the process is,
11
+ ``presentation`` -> how process history is finitely represented,
12
+ ``discovery`` -> how better presentations are searched,
13
+ ``analysis`` -> what analytic/geometric language a presentation supports.
14
+
15
+ Legacy root-level symbol imports from the early 0.0.x research-preview API remain
16
+ available lazily during the namespace migration, but they are no longer part of
17
+ ``__all__`` and emit ``DeprecationWarning``.
18
+ """
19
+
20
+ from __future__ import annotations
21
+
22
+ import importlib
23
+ import warnings
24
+
25
+ from . import analysis, discovery, presentation, process
26
+
27
+ __version__ = "0.0.3"
28
+
29
+ __all__ = [
30
+ "process",
31
+ "presentation",
32
+ "discovery",
33
+ "analysis",
34
+ "__version__",
35
+ ]
36
+
37
+
38
+ def __getattr__(name: str):
39
+ legacy = importlib.import_module("._legacy_api", __name__)
40
+ if name in getattr(legacy, "__all__", ()):
41
+ warnings.warn(
42
+ f"aeg_shakespeare.{name} is a legacy root-level import; "
43
+ "use the process/presentation/discovery/analysis namespaces instead",
44
+ DeprecationWarning,
45
+ stacklevel=2,
46
+ )
47
+ return getattr(legacy, name)
48
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
49
+
50
+
51
+ def __dir__():
52
+ return sorted(set(__all__))
@@ -0,0 +1,299 @@
1
+ """AEG Shakespeare: process-representation discovery library."""
2
+
3
+ from .central import (
4
+ CocycleVerification,
5
+ ProcessCocycle,
6
+ central_commutator_residual,
7
+ verify_process_cocycle,
8
+ )
9
+ from .construction import (
10
+ PrimitiveConstruction,
11
+ PrimitiveProposal,
12
+ PrimitiveProposalResult,
13
+ RejectedPrimitiveProposal,
14
+ SymbolicOperation,
15
+ generate_primitive_proposals,
16
+ )
17
+ from .constraints import AlgebraicConstraintSet, constraint_prolongation
18
+ from .core import (
19
+ ProcessSystem,
20
+ ProcessWord,
21
+ SearchBudget,
22
+ homogeneous_monomials,
23
+ interpret_history,
24
+ )
25
+ from .cost import PresentationCost
26
+ from .discovery import (
27
+ FirstOrderObservablePresentation,
28
+ ObservableQuotient,
29
+ ObservableRelation,
30
+ PairableAtom,
31
+ PairingConstruction,
32
+ PairingSpec,
33
+ PolynomialInvariant,
34
+ PolynomialInvariantDiscovery,
35
+ PolynomialObserverBasis,
36
+ StructuredObserverProposal,
37
+ StructuredObserverProposalResult,
38
+ discover_first_order_process_quotient,
39
+ discover_observable_relations,
40
+ discover_polynomial_invariants,
41
+ euclidean_pairing,
42
+ factor_process_relation_over_extension,
43
+ generate_pairing_observers,
44
+ generate_polynomial_observer_basis,
45
+ nonstationary_observer_proposals,
46
+ search_first_order_process_quotients,
47
+ structural_first_order_quotient_cost,
48
+ )
49
+ from .families import (
50
+ CharacterVerification,
51
+ FamilyAction,
52
+ FamilyActionVerification,
53
+ FamilyStep,
54
+ ProcessCharacter,
55
+ ProcessFamily,
56
+ character_invariance_residual,
57
+ transport_process_character,
58
+ verify_family_action,
59
+ verify_process_character,
60
+ )
61
+ from .frame import ProcessFrame
62
+ from .function_theory import (
63
+ AMFunctionTheory,
64
+ AMPathFlow,
65
+ AMPowerWeight,
66
+ AMPrimitive,
67
+ AMState,
68
+ AbelJacobiHistoryIncrement,
69
+ AbelianCycleSystem,
70
+ AbelianIntegralProfile,
71
+ AbelianPeriodMatrix,
72
+ ConstructedRealBranchCycles,
73
+ GenusOneLattice,
74
+ HyperellipticDifferential,
75
+ HyperellipticProfile,
76
+ LiftedCycleIntersection,
77
+ LiftedSquareRootPath,
78
+ NormalizedAbelianTorus,
79
+ ProcessFunctionModule,
80
+ RealBranchCutPresentation,
81
+ RealBranchCycleSpec,
82
+ SampledIntersectionForm,
83
+ SampledRiemannProfile,
84
+ WeierstrassCubicProfile,
85
+ abel_jacobi_history_increment,
86
+ abelian_integral_profile,
87
+ affine_am_frame,
88
+ canonical_symplectic_form,
89
+ compute_period_matrix,
90
+ construct_real_branch_cycles,
91
+ holomorphic_differential_basis,
92
+ hyperelliptic_profile,
93
+ integrate_lifted_differential,
94
+ lift_square_root_path,
95
+ lifted_path_intersections,
96
+ normalized_abelian_torus,
97
+ polynomial_am_module,
98
+ real_branch_cut_presentation,
99
+ sampled_intersection_form,
100
+ sampled_intersection_number,
101
+ sampled_riemann_profile,
102
+ weierstrass_cubic_profile,
103
+ )
104
+ from .grammar import (
105
+ GeneratedGrammar,
106
+ GeneratedPresentation,
107
+ discover_generated_grammar,
108
+ discover_generated_presentation,
109
+ )
110
+ from .history_geometry import (
111
+ BoundaryProfile,
112
+ PrefixCode,
113
+ PrefixCodeMetrics,
114
+ boundary_profile,
115
+ history_depth,
116
+ huffman_prefix_code,
117
+ )
118
+ from .linear import KrylovReturnRelation, discover_krylov_relation
119
+ from .relations import (
120
+ ProcessPolynomialRelation,
121
+ RelationDecomposition,
122
+ RelationKernel,
123
+ ReturnRelation,
124
+ action_matrix,
125
+ coefficient_vector,
126
+ decompose,
127
+ discover_operator_relation,
128
+ discover_relation_decomposition,
129
+ discover_relation_kernel,
130
+ discover_return_relation,
131
+ factor_process_relation,
132
+ )
133
+ from .rewrite import (
134
+ RewriteResult,
135
+ RewriteStep,
136
+ WordRewriteRule,
137
+ normalize_word,
138
+ rewrite_once,
139
+ )
140
+ from .search import (
141
+ ConstructedPrimitivePresentation,
142
+ ExactReconstructionPresentation,
143
+ PresentationCandidate,
144
+ PresentationSearchResult,
145
+ construction_aware_exact_reconstruction_cost,
146
+ evaluate_exact_reconstruction_presentation,
147
+ pareto_frontier,
148
+ search_exact_reconstruction_presentations,
149
+ search_primitive_proposals,
150
+ structural_exact_reconstruction_cost,
151
+ )
152
+ from .signature import (
153
+ ProcessJetSignature,
154
+ enumerate_process_words,
155
+ histories_task_equivalent,
156
+ history_process_jet_signature,
157
+ process_jet_signature,
158
+ signatures_equivalent,
159
+ )
160
+
161
+ __all__ = [
162
+ "CocycleVerification",
163
+ "ProcessCocycle",
164
+ "central_commutator_residual",
165
+ "verify_process_cocycle",
166
+ "PrimitiveConstruction",
167
+ "PrimitiveProposal",
168
+ "PrimitiveProposalResult",
169
+ "RejectedPrimitiveProposal",
170
+ "SymbolicOperation",
171
+ "generate_primitive_proposals",
172
+ "AlgebraicConstraintSet",
173
+ "constraint_prolongation",
174
+ "ProcessSystem",
175
+ "ProcessWord",
176
+ "SearchBudget",
177
+ "homogeneous_monomials",
178
+ "interpret_history",
179
+ "PresentationCost",
180
+ "CharacterVerification",
181
+ "FamilyAction",
182
+ "FamilyActionVerification",
183
+ "FamilyStep",
184
+ "ProcessCharacter",
185
+ "ProcessFamily",
186
+ "character_invariance_residual",
187
+ "transport_process_character",
188
+ "verify_family_action",
189
+ "verify_process_character",
190
+ "FirstOrderObservablePresentation",
191
+ "ObservableQuotient",
192
+ "ObservableRelation",
193
+ "PairableAtom",
194
+ "PairingConstruction",
195
+ "PairingSpec",
196
+ "PolynomialInvariant",
197
+ "PolynomialInvariantDiscovery",
198
+ "PolynomialObserverBasis",
199
+ "StructuredObserverProposal",
200
+ "StructuredObserverProposalResult",
201
+ "discover_first_order_process_quotient",
202
+ "discover_observable_relations",
203
+ "discover_polynomial_invariants",
204
+ "euclidean_pairing",
205
+ "factor_process_relation_over_extension",
206
+ "generate_pairing_observers",
207
+ "generate_polynomial_observer_basis",
208
+ "nonstationary_observer_proposals",
209
+ "search_first_order_process_quotients",
210
+ "structural_first_order_quotient_cost",
211
+ "ProcessFrame",
212
+ "AMFunctionTheory",
213
+ "AMPathFlow",
214
+ "AMPowerWeight",
215
+ "AMPrimitive",
216
+ "AMState",
217
+ "AbelJacobiHistoryIncrement",
218
+ "AbelianCycleSystem",
219
+ "AbelianIntegralProfile",
220
+ "AbelianPeriodMatrix",
221
+ "ConstructedRealBranchCycles",
222
+ "GenusOneLattice",
223
+ "HyperellipticDifferential",
224
+ "HyperellipticProfile",
225
+ "LiftedCycleIntersection",
226
+ "LiftedSquareRootPath",
227
+ "NormalizedAbelianTorus",
228
+ "ProcessFunctionModule",
229
+ "RealBranchCutPresentation",
230
+ "RealBranchCycleSpec",
231
+ "SampledIntersectionForm",
232
+ "SampledRiemannProfile",
233
+ "WeierstrassCubicProfile",
234
+ "abel_jacobi_history_increment",
235
+ "abelian_integral_profile",
236
+ "affine_am_frame",
237
+ "canonical_symplectic_form",
238
+ "compute_period_matrix",
239
+ "construct_real_branch_cycles",
240
+ "holomorphic_differential_basis",
241
+ "hyperelliptic_profile",
242
+ "integrate_lifted_differential",
243
+ "lift_square_root_path",
244
+ "lifted_path_intersections",
245
+ "normalized_abelian_torus",
246
+ "polynomial_am_module",
247
+ "real_branch_cut_presentation",
248
+ "sampled_intersection_form",
249
+ "sampled_intersection_number",
250
+ "sampled_riemann_profile",
251
+ "weierstrass_cubic_profile",
252
+ "GeneratedGrammar",
253
+ "GeneratedPresentation",
254
+ "discover_generated_grammar",
255
+ "discover_generated_presentation",
256
+ "BoundaryProfile",
257
+ "PrefixCode",
258
+ "PrefixCodeMetrics",
259
+ "boundary_profile",
260
+ "history_depth",
261
+ "huffman_prefix_code",
262
+ "KrylovReturnRelation",
263
+ "discover_krylov_relation",
264
+ "ProcessPolynomialRelation",
265
+ "RelationDecomposition",
266
+ "RelationKernel",
267
+ "ReturnRelation",
268
+ "action_matrix",
269
+ "coefficient_vector",
270
+ "decompose",
271
+ "discover_operator_relation",
272
+ "discover_relation_decomposition",
273
+ "discover_relation_kernel",
274
+ "discover_return_relation",
275
+ "factor_process_relation",
276
+ "RewriteResult",
277
+ "RewriteStep",
278
+ "WordRewriteRule",
279
+ "normalize_word",
280
+ "rewrite_once",
281
+ "ConstructedPrimitivePresentation",
282
+ "ExactReconstructionPresentation",
283
+ "PresentationCandidate",
284
+ "PresentationSearchResult",
285
+ "construction_aware_exact_reconstruction_cost",
286
+ "evaluate_exact_reconstruction_presentation",
287
+ "pareto_frontier",
288
+ "search_exact_reconstruction_presentations",
289
+ "search_primitive_proposals",
290
+ "structural_exact_reconstruction_cost",
291
+ "ProcessJetSignature",
292
+ "enumerate_process_words",
293
+ "histories_task_equivalent",
294
+ "history_process_jet_signature",
295
+ "process_jet_signature",
296
+ "signatures_equivalent",
297
+ ]
298
+
299
+ __version__ = "0.0.2.dev0"
@@ -0,0 +1,12 @@
1
+ """Process-adapted analytic and geometric languages."""
2
+
3
+ from . import abelian, algebraic, am, connection, decomposition, module
4
+
5
+ __all__ = [
6
+ "module",
7
+ "am",
8
+ "algebraic",
9
+ "abelian",
10
+ "connection",
11
+ "decomposition",
12
+ ]
@@ -0,0 +1,69 @@
1
+ """Abelian integrals, lifted histories, cycles, periods, and normalized quotients."""
2
+
3
+ from ..function_theory.abel_jacobi import (
4
+ AbelJacobiHistoryIncrement,
5
+ NormalizedAbelianTorus,
6
+ abel_jacobi_history_increment,
7
+ normalized_abelian_torus,
8
+ )
9
+ from ..function_theory.abelian import (
10
+ AbelianIntegralProfile,
11
+ HyperellipticDifferential,
12
+ abelian_integral_profile,
13
+ holomorphic_differential_basis,
14
+ )
15
+ from ..function_theory.intersection import (
16
+ LiftedCycleIntersection,
17
+ SampledIntersectionForm,
18
+ SampledRiemannProfile,
19
+ canonical_symplectic_form,
20
+ lifted_path_intersections,
21
+ sampled_intersection_form,
22
+ sampled_intersection_number,
23
+ sampled_riemann_profile,
24
+ )
25
+ from ..function_theory.period_matrix import AbelianCycleSystem, AbelianPeriodMatrix, compute_period_matrix
26
+ from ..function_theory.periods import (
27
+ GenusOneLattice,
28
+ LiftedSquareRootPath,
29
+ integrate_lifted_differential,
30
+ lift_square_root_path,
31
+ )
32
+ from ..function_theory.real_branch_cycles import (
33
+ ConstructedRealBranchCycles,
34
+ RealBranchCutPresentation,
35
+ RealBranchCycleSpec,
36
+ construct_real_branch_cycles,
37
+ real_branch_cut_presentation,
38
+ )
39
+
40
+ __all__ = [
41
+ "AbelJacobiHistoryIncrement",
42
+ "NormalizedAbelianTorus",
43
+ "abel_jacobi_history_increment",
44
+ "normalized_abelian_torus",
45
+ "AbelianIntegralProfile",
46
+ "HyperellipticDifferential",
47
+ "abelian_integral_profile",
48
+ "holomorphic_differential_basis",
49
+ "LiftedCycleIntersection",
50
+ "SampledIntersectionForm",
51
+ "SampledRiemannProfile",
52
+ "canonical_symplectic_form",
53
+ "lifted_path_intersections",
54
+ "sampled_intersection_form",
55
+ "sampled_intersection_number",
56
+ "sampled_riemann_profile",
57
+ "AbelianCycleSystem",
58
+ "AbelianPeriodMatrix",
59
+ "compute_period_matrix",
60
+ "GenusOneLattice",
61
+ "LiftedSquareRootPath",
62
+ "integrate_lifted_differential",
63
+ "lift_square_root_path",
64
+ "ConstructedRealBranchCycles",
65
+ "RealBranchCutPresentation",
66
+ "RealBranchCycleSpec",
67
+ "construct_real_branch_cycles",
68
+ "real_branch_cut_presentation",
69
+ ]
@@ -0,0 +1,11 @@
1
+ """Algebraic quotient profiles used to select richer function languages."""
2
+
3
+ from ..function_theory.algebraic import HyperellipticProfile, hyperelliptic_profile
4
+ from ..function_theory.weierstrass import WeierstrassCubicProfile, weierstrass_cubic_profile
5
+
6
+ __all__ = [
7
+ "HyperellipticProfile",
8
+ "hyperelliptic_profile",
9
+ "WeierstrassCubicProfile",
10
+ "weierstrass_cubic_profile",
11
+ ]
@@ -0,0 +1,19 @@
1
+ """Addition/Multiplication process calculus."""
2
+
3
+ from ..function_theory.am import (
4
+ AMFunctionTheory,
5
+ AMPathFlow,
6
+ AMPowerWeight,
7
+ AMPrimitive,
8
+ AMState,
9
+ affine_am_frame,
10
+ )
11
+
12
+ __all__ = [
13
+ "AMFunctionTheory",
14
+ "AMPathFlow",
15
+ "AMPowerWeight",
16
+ "AMPrimitive",
17
+ "AMState",
18
+ "affine_am_frame",
19
+ ]
@@ -0,0 +1,74 @@
1
+ """Experimental observer-connection certificates.
2
+
3
+ An observer connection is not introduced here as a general principal-bundle
4
+ object. The current vertical slice records only what the first calibrations
5
+ need: canonicalization provenance, declared base rates, induced observer rates,
6
+ and exact residuals certifying the maintained local condition.
7
+
8
+ The provenance carrier is generic on purpose. Exact constraint
9
+ canonicalization is the first backend; later orthogonality, osculation, or
10
+ stationarity backends should be able to produce the same connection record
11
+ without pretending to be algebraic constraints.
12
+ """
13
+
14
+ from __future__ import annotations
15
+
16
+ from dataclasses import dataclass
17
+ from typing import Generic, Mapping, TypeVar
18
+
19
+ import sympy as sp
20
+
21
+ CanonicalizationT = TypeVar("CanonicalizationT")
22
+
23
+
24
+ @dataclass(frozen=True)
25
+ class ObserverConnection(Generic[CanonicalizationT]):
26
+ """Local observer transport together with canonicalization provenance."""
27
+
28
+ canonicalization: CanonicalizationT
29
+ base_rates: Mapping[sp.Symbol, sp.Expr]
30
+ observer_rates: Mapping[sp.Symbol, sp.Expr]
31
+ residuals: tuple[sp.Expr, ...]
32
+ label: str = ""
33
+
34
+ def __post_init__(self) -> None:
35
+ object.__setattr__(
36
+ self,
37
+ "base_rates",
38
+ {
39
+ symbol: sp.expand(sp.sympify(value))
40
+ for symbol, value in self.base_rates.items()
41
+ },
42
+ )
43
+ object.__setattr__(
44
+ self,
45
+ "observer_rates",
46
+ {
47
+ symbol: sp.simplify(sp.sympify(value))
48
+ for symbol, value in self.observer_rates.items()
49
+ },
50
+ )
51
+ object.__setattr__(
52
+ self,
53
+ "residuals",
54
+ tuple(sp.simplify(sp.sympify(value)) for value in self.residuals),
55
+ )
56
+
57
+ @property
58
+ def certified(self) -> bool:
59
+ """Whether every supplied canonicalization residual vanishes."""
60
+
61
+ return all(sp.simplify(residual) == 0 for residual in self.residuals)
62
+
63
+ def rate(self, observer_parameter: sp.Symbol) -> sp.Expr:
64
+ """Return the induced rate of one observer parameter."""
65
+
66
+ try:
67
+ return sp.sympify(self.observer_rates[observer_parameter])
68
+ except KeyError as exc:
69
+ raise KeyError(
70
+ f"unknown observer parameter: {observer_parameter!r}"
71
+ ) from exc
72
+
73
+
74
+ __all__ = ["ObserverConnection"]
@@ -0,0 +1,37 @@
1
+ """Experimental evidence record for canonical process decomposition.
2
+
3
+ The AEG Analysis working principle separates a local process correction into
4
+ three roles before any representation is enlarged:
5
+
6
+ renormalizable + resonant/transport + completion.
7
+
8
+ This module deliberately does not prescribe how those parts are discovered.
9
+ Riccati Lie directions, Kepler function modes, and future discrete/history
10
+ calibrations need different decomposition backends. The reusable object only
11
+ records the three claimed parts together with caller-defined evidence, following
12
+ the same evidence-bearing discipline as ``PresentationMorphism``.
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ from dataclasses import dataclass
18
+ from typing import Generic, TypeVar
19
+
20
+ SourceT = TypeVar("SourceT")
21
+ PartT = TypeVar("PartT")
22
+ CertificateT = TypeVar("CertificateT")
23
+
24
+
25
+ @dataclass(frozen=True)
26
+ class CanonicalDecomposition(Generic[SourceT, PartT, CertificateT]):
27
+ """A claimed local split into renormalize / transport / complete sectors."""
28
+
29
+ source: SourceT
30
+ renormalizable: PartT
31
+ resonant: PartT
32
+ completion: PartT
33
+ certificate: CertificateT
34
+ label: str = ""
35
+
36
+
37
+ __all__ = ["CanonicalDecomposition"]
@@ -0,0 +1,5 @@
1
+ """Finite process-function modules."""
2
+
3
+ from ..function_theory.module import ProcessFunctionModule, polynomial_am_module
4
+
5
+ __all__ = ["ProcessFunctionModule", "polynomial_am_module"]
@@ -0,0 +1,20 @@
1
+ """Compatibility shim for the pre-refactor central-residual module path.
2
+
3
+ New code should import finite process cocycles from
4
+ ``aeg_shakespeare.process.finite``. The implementation now physically lives
5
+ under that semantic namespace.
6
+ """
7
+
8
+ from .process.finite.cocycle import (
9
+ CocycleVerification,
10
+ ProcessCocycle,
11
+ central_commutator_residual,
12
+ verify_process_cocycle,
13
+ )
14
+
15
+ __all__ = [
16
+ "ProcessCocycle",
17
+ "CocycleVerification",
18
+ "verify_process_cocycle",
19
+ "central_commutator_residual",
20
+ ]