babylon.engine.dialectics.surplus_distribution
SurplusDistributionDialectic — s = p + i + r + t (V3 Ch9-10).
Models how total surplus value decomposes into competing revenue claims: profit of enterprise, interest, ground rent, and taxes.
See also
babylon.economics.distribution: Surplus distribution calculators.
babylon.engine.dialectics.crises.DebtSpiralCrisisDialectic
Classes
|
Surplus Value Distribution — s = p + i + r + t. |
|
Pole A for the Distribution dialectic. |
- class babylon.engine.dialectics.surplus_distribution.SurplusDistributionDialectic(**data)[source]
Bases:
Dialectic[SurplusDistributionPole, EmptyPole]Surplus Value Distribution — s = p + i + r + t.
Named “Distribution” rather than “Transformation” to distinguish this from the value → price transformation problem (V3 Ch9-10), which is out of scope (spec 024, Assumptions). This dialectic models how total surplus decomposes into competing revenue claims.
Pole A stores the s = p + i + r + t decomposition. Weight tracks the share of surplus retained by industrial capital (enterprise profit) versus claims by money-capital (interest), landed capital (rent), and the state (taxes).
- Weight semantics:
< 0: Enterprise profit dominates (healthy accumulation). > 0: Claimants dominate (profit squeeze / debt spiral).
- Motion law:
Reads upstream interest rate changes and recomputes the distribution. Weight shifts toward +1 as claims crowd out enterprise profit.
- Sublation:
When
claims_exceed_surplusis True, sublates toDebtSpiralCrisisDialectic.
- Parameters:
- type_tag: str
- step(inputs, world)[source]
Motion law T for surplus value distribution.
- Parameters:
inputs (
TickInputs) – Upstream outputs. Looks for own id’s entry withinterest_rate_increase(float).world (
WorldView) – Read-only world context.
- Return type:
- Returns:
New SurplusDistributionDialectic with updated weight and poles.
- sublate()[source]
Sublate to debt spiral when claims exceed surplus (FR-016).
- Return type:
Dialectic[Any, Any]|None- Returns:
DebtSpiralCrisisDialectic if claims exceed surplus, else None.
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: UUID
- pole_a: A
- pole_b: B
- weight: float
- parent_id: UUID | None
- tick_created: int
- tick_updated: int
- class babylon.engine.dialectics.surplus_distribution.SurplusDistributionPole(**data)[source]
Bases:
BaseModelPole A for the Distribution dialectic.
Reimplements the surplus value distribution identity from
economics.distribution.SurplusValueDistributionfor the dialectic layer. The formulap = s - i - r - tis identical toSurplusValueDistribution.profit_of_enterprise. This is intentional: the dialectic receives pre-computed distribution inputs and does not perform data-source lookups.See also
babylon.economics.distribution.types.SurplusValueDistribution- Parameters:
- total_surplus
Total surplus value produced (s).
- interest_payments
Interest claim on surplus (i).
- ground_rent
Ground rent claim on surplus (r).
- taxes
Tax claim on surplus (t).
- model_config: ClassVar[ConfigDict] = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- total_surplus: float
- interest_payments: float
- ground_rent: float
- taxes: float