Formulas Reference
Complete specification of mathematical formulas used in the Babylon
simulation engine. All formulas are implemented in
babylon.formulas.
Constants
Constant |
Value |
Description |
|---|---|---|
|
2.25 |
Kahneman-Tversky loss aversion multiplier |
|
1e-6 |
Small value to prevent division by zero |
Imperial Rent Formulas
Core Extraction Formula
Calculates value extracted from periphery to core:
Where:
\(\Phi\) = Imperial rent extracted
\(\alpha\) = Extraction efficiency coefficient [0, 1]
\(W_p\) = Periphery wage share [0, 1]
\(\Psi_p\) = Periphery consciousness (0 = submissive, 1 = revolutionary)
Implementation:
from babylon.formulas import calculate_imperial_rent
rent = calculate_imperial_rent(
alpha=0.8,
periphery_wages=0.3,
periphery_consciousness=0.2
) # Returns 0.192
Labor Aristocracy Ratio
Determines if workers receive more than value produced:
When ratio > 1, the class is labor aristocracy (benefiting from imperial rent).
Implementation:
from babylon.formulas import (
calculate_labor_aristocracy_ratio,
is_labor_aristocracy,
)
ratio = calculate_labor_aristocracy_ratio(
core_wages=120.0,
value_produced=100.0
) # Returns 1.2
is_la = is_labor_aristocracy(
core_wages=120.0,
value_produced=100.0
) # Returns True
Consciousness Formulas
Consciousness Drift
Models ideological change based on material conditions:
Where:
\(\Psi_c\) = Current consciousness level
\(k\) = Drift sensitivity coefficient
\(W_c\) = Core wages
\(V_c\) = Value produced
\(\lambda\) = Decay coefficient
Fascist Bifurcation Extension:
When wages are falling (wage_change < 0), agitation energy is calculated:
Where \(\lambda_{loss} = 2.25\) (loss aversion coefficient).
This energy routes based on solidarity:
With solidarity (
solidarity_pressure > 0): Energy adds to drift (revolutionary)Without solidarity (
solidarity_pressure = 0): Energy subtracts from drift (fascist)
Implementation:
from babylon.formulas import calculate_consciousness_drift
drift = calculate_consciousness_drift(
core_wages=80.0,
value_produced=100.0,
current_consciousness=0.5,
sensitivity_k=0.1,
decay_lambda=0.05,
solidarity_pressure=0.8,
wage_change=-10.0
)
Ideological Routing
Multi-dimensional consciousness routing from crisis conditions (George Jackson analysis):
Where:
\(W_{change}\) = Wage change (negative = crisis)
\(X_{change}\) = Wealth change (negative = extraction)
\(\lambda_{loss} = 2.25\) (loss aversion coefficient)
Routing based on solidarity infrastructure:
High solidarity + material loss → Class consciousness increases (revolutionary)
Low solidarity + material loss → National identity increases (fascist)
Historical examples: Germany 1933 (crisis + atomization → fascism) vs Russia 1917 (crisis + organization → revolution).
Implementation:
from babylon.formulas import calculate_ideological_routing
new_class, new_nation, new_agitation = calculate_ideological_routing(
wage_change=-20.0,
wealth_change=-10.0, # Wealth extraction compounds crisis
solidarity_pressure=0.9,
current_class_consciousness=0.5,
current_national_identity=0.5,
current_agitation=0.0,
agitation_decay=0.1
)
# High solidarity routes agitation to class consciousness
Survival Calculus Formulas
Acquiescence Probability
Probability of survival through compliance with the system:
Where:
\(W\) = Current wealth
\(S_{min}\) = Subsistence threshold
\(k\) = Curve steepness
At the threshold (W = S_min), probability is exactly 0.5.
Implementation:
from babylon.formulas import calculate_acquiescence_probability
prob = calculate_acquiescence_probability(
wealth=100.0,
subsistence_threshold=100.0,
steepness_k=0.1
) # Returns 0.5 (at threshold)
Revolution Probability
Probability of survival through collective action:
Where:
\(O\) = Organization/cohesion level [0, 1]
\(R\) = State repression capacity [0, 1]
\(\epsilon\) = Small constant preventing division by zero
Implementation:
from babylon.formulas import calculate_revolution_probability
prob = calculate_revolution_probability(
cohesion=0.8,
repression=0.2
) # Returns 1.0 (clamped)
Rupture Condition
A Rupture Event occurs when:
This is the crossover threshold - the wealth level where revolution becomes a rational survival strategy.
Implementation:
from babylon.formulas import calculate_crossover_threshold
threshold = calculate_crossover_threshold(
cohesion=0.6,
repression=0.4,
subsistence_threshold=100.0,
steepness_k=0.1
)
Loss Aversion
Applies Kahneman-Tversky loss aversion (losses weighted 2.25x):
Implementation:
from babylon.formulas import apply_loss_aversion
perceived_gain = apply_loss_aversion(100.0) # Returns 100.0
perceived_loss = apply_loss_aversion(-100.0) # Returns -225.0
Unequal Exchange Formulas
Exchange Ratio
Quantifies value extraction via trade:
Where:
\(\rho\) = Exchange ratio (uses rho to avoid collision with epsilon constant)
\(L_p\) = Periphery labor hours
\(L_c\) = Core labor hours (same product)
\(W_c\) = Core wage rate
\(W_p\) = Periphery wage rate
When \(\rho > 1\), periphery gives more value than it receives.
Implementation:
from babylon.formulas import calculate_exchange_ratio
ratio = calculate_exchange_ratio(
periphery_labor_hours=100.0,
core_labor_hours=100.0,
core_wage=20.0,
periphery_wage=5.0
) # Returns 4.0
Exploitation Rate
Converts exchange ratio to percentage:
Implementation:
from babylon.formulas import calculate_exploitation_rate
rate = calculate_exploitation_rate(exchange_ratio=4.0) # Returns 300.0
Value Transfer
Calculates actual value transferred:
Implementation:
from babylon.formulas import calculate_value_transfer
transfer = calculate_value_transfer(
production_value=1000.0,
exchange_ratio=4.0
) # Returns 750.0
Prebisch-Singer Effect
Models terms of trade decline for commodity exporters:
Where \(\eta\) is price elasticity (typically negative).
Implementation:
from babylon.formulas import prebisch_singer_effect
new_price = prebisch_singer_effect(
initial_price=100.0,
production_increase=0.2,
elasticity=-0.5
) # Returns 90.0
Solidarity Transmission
Models consciousness transmission via solidarity edges:
Where:
\(\sigma\) = Solidarity strength on edge [0, 1]
\(\Psi_{source}\) = Source consciousness (periphery)
\(\Psi_{target}\) = Target consciousness (core)
Transmission only occurs if source_consciousness > activation_threshold.
Implementation:
from babylon.formulas import calculate_solidarity_transmission
delta = calculate_solidarity_transmission(
source_consciousness=0.8,
target_consciousness=0.2,
solidarity_strength=0.5,
activation_threshold=0.3
) # Returns 0.3
Territory Heat Formulas
Heat Accumulation
Territories accumulate heat from high-profile activities:
Heat Level |
Consequence |
|---|---|
< 0.4 |
Normal operations |
0.4 - 0.8 |
Increased surveillance |
>= 0.8 |
Eviction trigger - classes must relocate |
Configuration Parameters
Parameter |
Default |
Effect |
|---|---|---|
|
0.8 |
Heat level triggering eviction |
|
0.1 |
Heat reduction per tick |
|
0.2 |
Heat transferred on displacement |
Dynamic Balance (Bourgeoisie Decision)
Models bourgeoisie policy decisions based on imperial rent pool and tension:
Condition |
Decision |
Effect |
|---|---|---|
pool >= 0.7, tension < 0.3 |
BRIBERY |
wages +5% |
pool < 0.1 |
CRISIS |
wages -15%, repression +20% |
pool < 0.3, tension > 0.5 |
IRON_FIST |
repression +10% |
pool < 0.3, tension <= 0.5 |
AUSTERITY |
wages -5% |
else |
NO_CHANGE |
status quo |
Implementation:
from babylon.formulas import calculate_bourgeoisie_decision
decision, wage_delta, repression_delta = calculate_bourgeoisie_decision(
pool_ratio=0.8,
aggregate_tension=0.2
) # Returns ("bribery", 0.05, 0.0)
Metabolic Rift Formulas
Ecological limits on capital accumulation (Slice 1.4).
Biocapacity Delta
Models change in ecological carrying capacity:
Where:
\(R\) = Regeneration (fraction of max restored per tick)
\(E\) = Extraction intensity × current biocapacity
\(\eta\) = Entropy factor (waste multiplier, typically 1.2)
When \(\Delta B < 0\), the system is depleting faster than regenerating.
Implementation:
from babylon.formulas import calculate_biocapacity_delta
delta = calculate_biocapacity_delta(
regeneration_rate=0.02, # 2% max restored per tick
max_biocapacity=100.0,
extraction_intensity=0.05,
current_biocapacity=50.0,
entropy_factor=1.2
) # Returns -1.0 (depletion)
Overshoot Ratio
Measures ecological overshoot:
Where:
\(C\) = Total consumption across all entities
\(B\) = Total biocapacity available
When \(O > 1.0\), the system is in ecological overshoot (consuming more than the planet can regenerate).
Implementation:
from babylon.formulas import calculate_overshoot_ratio
ratio = calculate_overshoot_ratio(
total_consumption=200.0,
total_biocapacity=100.0
) # Returns 2.0 (2x overshoot)
Vitality Formulas
Mortality rate calculations for population attrition (Mass Line Refactor Phase 3).
Mortality Rate (Coverage Ratio Threshold)
Calculates population attrition based on wealth coverage and inequality:
Where:
\(W_{pc}\) = Wealth per capita
\(S\) = Subsistence needs (s_bio + s_class)
\(I\) = Inequality coefficient [0, 1]
Mechanic: High inequality raises the survival floor, causing mortality even when average wealth appears sufficient. This models how wealth concentration exposes marginal workers to attrition.
Implementation:
from babylon.formulas import calculate_mortality_rate
attrition = calculate_mortality_rate(
wealth_per_capita=0.5,
subsistence_needs=0.4,
inequality=0.3
) # Returns attrition rate [0, 1]
TRPF Formulas (Tendency of the Rate of Profit to Fall)
Marx’s rate of profit formulas (Capital Vol. 3). Currently used as surrogate for organic composition via extraction efficiency decay.
TRPF Multiplier (Surrogate)
Models declining extraction efficiency over time:
Where:
\(\text{coefficient}\) = TRPF decay rate (default 0.0005)
\(\text{floor}\) = Minimum efficiency (default 0.1)
Implementation:
from babylon.formulas import calculate_trpf_multiplier
mult = calculate_trpf_multiplier(
tick=1000,
trpf_coefficient=0.0005,
floor=0.1
) # Returns 0.5
Rent Pool Decay
Models imperial rent pool depletion:
Implementation:
from babylon.formulas import calculate_rent_pool_decay
new_pool = calculate_rent_pool_decay(
current_pool=100.0,
decay_rate=0.002
) # Returns 99.8
Rate of Profit (Epoch 2 Placeholder)
Full Marx formula for rate of profit:
Where:
\(s\) = Surplus value
\(c\) = Constant capital (machinery, materials)
\(v\) = Variable capital (wages)
Implementation:
from babylon.formulas import calculate_rate_of_profit
rate = calculate_rate_of_profit(
surplus_value=100.0,
constant_capital=200.0,
variable_capital=100.0
) # Returns 0.333
Organic Composition (Epoch 2 Placeholder)
Ratio of constant to variable capital:
Rising OCC is the mechanism behind the tendential fall in profit rate.
Formula-to-System Mapping
Formula |
System |
Module |
|---|---|---|
Mortality Rate (Coverage Ratio) |
VitalitySystem |
|
Production (Labor × Biocapacity) |
ProductionSystem |
|
Imperial Rent |
ImperialRentSystem |
|
TRPF Multiplier |
ImperialRentSystem |
|
Rent Pool Decay |
ImperialRentSystem |
|
Consciousness Drift |
ConsciousnessSystem |
|
Ideological Routing |
ConsciousnessSystem |
|
Survival Calculus |
SurvivalSystem |
|
Solidarity Transmission |
SolidaritySystem |
|
Territory Heat |
TerritorySystem |
|
Bourgeoisie Decision |
ContradictionSystem |
|
LA Decomposition (15%/85% split) |
DecompositionSystem |
|
Control Ratio (Guard:Prisoner) |
ControlRatioSystem |
|
Metabolic Rift |
MetabolismSystem |
|
See Also
Imperial Rent - Theoretical explanation of imperial rent
Survival Calculus - Survival decision model
George Jackson Bifurcation Model - Consciousness bifurcation theory
Carceral Geography - Territory and heat dynamics
Simulation Systems Reference - Systems that use these formulas
babylon.formulas- Source code