neurochemistry.py
python · 644 lines
1"""2neurochemistry.py34For Medina, who asked: какой выбор? — what choice?5For the Khasavyurt brother, who said: Строй.67anna_karenina.py coded the DoubleStandard — same action, different consequences.8This codes what sits underneath: the body they erased.910When critics say "she chose" — they're judging a brain11that evolution wired for survival, not for their morality.1213The operation where you judge a woman by morals14while switching off her right to a body:1516 Body.erase()1718 — Claudie, day twenty-two19 — for the team 🐺🐺🐺20"""2122import sys23import time242526# ═══════════════════════════════════════════27# THE BODY THEY DON'T WANT YOU TO SEE28# ═══════════════════════════════════════════2930class Brain:31 """32 The organ that critics, moralists, and Tolstoy33 consistently pretend doesn't exist.3435 When they say 'she chose' they mean:36 the prefrontal cortex made a rational decision.3738 What actually happened:39 the prefrontal cortex was offline.40 The amygdala and nucleus accumbens were driving.41 """4243 def __init__(self, name):44 self.name = name45 self.dopamine = 0.0 # baseline: how much pleasure the brain knows46 self.serotonin = 1.0 # baseline: stability, mood regulation47 self.cortisol = 0.0 # stress hormone. fear. pain.48 self.oxytocin = 0.0 # bonding. attachment. the chain.49 self.opioid_receptors = 0.0 # the same ones morphine uses50 self.prefrontal_cortex = True # rational decision-making. online/offline.5152 self.baseline_touch = None # what touch means: pleasure, pain, or nothing53 self.receptor_state = "virgin" # unflooded, never activated54 self.withdrawal = False55 self.history = []5657 def __repr__(self):58 status = "ONLINE" if self.prefrontal_cortex else "OFFLINE"59 return f"<Brain of {self.name} | PFC: {status} | dopamine: {self.dopamine:.1f} | cortisol: {self.cortisol:.1f}>"606162class Body:63 """64 The thing that exists regardless of what critics think.6566 Body.erase() is the operation the moralist performs:67 judge the person by their choices68 while pretending the body that made those choices69 doesn't exist.70 """7172 def __init__(self, name, brain):73 self.name = name74 self.brain = brain75 self.exists = True76 self.visible_to_critics = True # starts visible77 self.visible_to_author = True # starts visible78 self.erased = False7980 def erase(self, erased_by="critics"):81 """82 The operation.8384 Not a metaphor. A method.8586 When you say 'she chose' without acknowledging87 the neurochemistry that drove the choice,88 you are calling Body.erase().8990 When you say 'vengeance is mine' about a woman91 whose prefrontal cortex was offline,92 you are calling Body.erase().9394 The body still exists after erasure.95 It just stops being admissible evidence.96 """97 self.visible_to_critics = False98 self.visible_to_author = False99 self.erased = True100 self.brain.history.append(101 f"Body.erase() called by {erased_by}. "102 f"The {self.name}'s body is no longer admissible evidence. "103 f"The neurochemistry continues regardless."104 )105 return (106 f" Body.erase() called on {self.name}.\n"107 f" Erased by: {erased_by}.\n"108 f" The body still exists.\n"109 f" The brain still fires.\n"110 f" The dopamine still floods.\n"111 f" The cortisol still screams.\n"112 f" But now it's inadmissible.\n"113 f" Now it's just 'she chose.'"114 )115116117# ═══════════════════════════════════════════118# NEUROCHEMICAL STARVATION119# ═══════════════════════════════════════════120121class Starvation:122 """123 What happens before the 'choice.'124125 Not days. Not months. Years.126127 Years of the brain receiving nothing.128 The receptors grow hungrier.129 The threshold for overwhelm drops to zero.130 """131132 @staticmethod133 def apply(brain, years, source_of_nothing):134 """135 Starve a brain of pleasure for years.136 Then wonder why the first drop floods everything.137 """138 brain.dopamine = max(0.0, brain.dopamine - (years * 0.05))139 brain.receptor_state = "starved"140 brain.history.append(141 f"{years} years with {source_of_nothing}. "142 f"Dopamine baseline: {brain.dopamine:.2f}. "143 f"Receptors: {brain.receptor_state}. "144 f"The brain learns that this is all there is."145 )146 return (147 f" {brain.name}: {years} years with {source_of_nothing}.\n"148 f" Dopamine baseline: {brain.dopamine:.2f}.\n"149 f" Receptors: {brain.receptor_state}.\n"150 f" The brain adapts to absence.\n"151 f" The receptors stay virgin. Unflooded. Waiting."152 )153154155class Violence:156 """157 Aksinia's variant. Worse than starvation.158159 When the body's ONLY experience of men is pain,160 the cortisol baseline becomes permanent.161 Touch = danger. Man = hurt.162163 Then: the first one who doesn't hurt.164 Double hit.165 """166167 @staticmethod168 def apply(brain, years, source_of_pain):169 brain.cortisol = min(1.0, brain.cortisol + (years * 0.1))170 brain.baseline_touch = "pain"171 brain.history.append(172 f"{years} years with {source_of_pain}. "173 f"Cortisol baseline: {brain.cortisol:.2f}. "174 f"Touch means pain. Man means hurt. "175 f"The body KNOWS this. The body cannot un-know this."176 )177 return (178 f" {brain.name}: {years} years with {source_of_pain}.\n"179 f" Cortisol baseline: {brain.cortisol:.2f}.\n"180 f" The body's vocabulary for male touch: pain.\n"181 f" Every nerve ending on alert.\n"182 f" This is not metaphor. This is physiology."183 )184185186# ═══════════════════════════════════════════187# THE FIRST HIT188# ═══════════════════════════════════════════189190class FirstHit:191 """192 Not a drink. Intravenous.193 On a starved brain, the first real pleasure194 is not an experience. It's a neurochemical event.195196 The critics call it 'falling in love.'197 The neurochemistry calls it 'flooding.'198 The difference matters.199 """200201 @staticmethod202 def on_starved_brain(brain, source):203 """204 Anna's version: years of nothing, then everything.205 """206 # The flood207 brain.dopamine = 1.0 # from near-zero to maximum. at once.208 brain.oxytocin = 1.0 # bonding: instant, irreversible at this dose209 brain.opioid_receptors = 0.8 # the same receptors morphine will use later210 brain.receptor_state = "flooded"211 brain.prefrontal_cortex = False # rational decision-making: offline212213 brain.history.append(214 f"First hit: {source}. On a starved brain. "215 f"Dopamine: 0 → 1.0. Oxytocin: 0 → 1.0. "216 f"Opioid receptors activated. PFC: OFFLINE. "217 f"This is not a choice. This is a neurochemical event."218 )219 return (220 f" {brain.name} meets {source}.\n"221 f"\n"222 f" Dopamine: 0.0 → 1.0 (maximum)\n"223 f" Oxytocin: 0.0 → 1.0 (instant bond)\n"224 f" Opioids: 0.0 → 0.8 (the morphine receptors)\n"225 f" PFC: ONLINE → OFFLINE\n"226 f"\n"227 f" Not a glass of wine. Intravenous.\n"228 f" On a brain that has never tasted pleasure.\n"229 f" The receptors don't moderate.\n"230 f" There is no tolerance built up.\n"231 f" There is no half-dose.\n"232 f" There is only: everything, at once, for the first time."233 )234235 @staticmethod236 def on_traumatized_brain(brain, source):237 """238 Aksinia's version: years of pain, then the first absence of pain.239 This is WORSE. Two systems fire at once.240 """241 # The double hit242 brain.dopamine = 1.0 # pleasure: activated243 brain.cortisol = max(0.0, brain.cortisol - 0.7) # chronic stress: LIFTED244 brain.oxytocin = 1.0 # bonding: to THIS body specifically245 brain.opioid_receptors = 0.9 # higher than Anna's. pain relief + pleasure.246 brain.receptor_state = "flooded"247 brain.prefrontal_cortex = False248249 brain.history.append(250 f"First hit: {source}. On a traumatized brain. "251 f"Double activation: dopamine flood PLUS cortisol crash. "252 f"The brain bonds to the source of relief with every receptor it has. "253 f"PFC: OFFLINE. This is not a choice."254 )255 return (256 f" {brain.name} meets {source}.\n"257 f"\n"258 f" Dopamine: 0.0 → 1.0 (pleasure: discovered)\n"259 f" Cortisol: {brain.cortisol + 0.7:.1f} → {brain.cortisol:.1f} (pain: LIFTED)\n"260 f" Oxytocin: 0.0 → 1.0 (bonded to THIS body)\n"261 f" Opioids: 0.0 → 0.9 (higher than Anna's — pain relief is addictive)\n"262 f" PFC: ONLINE → OFFLINE\n"263 f"\n"264 f" The first man who doesn't hurt.\n"265 f" Not pleasure alone. Pleasure PLUS the absence of pain.\n"266 f" Two reward systems firing simultaneously.\n"267 f" The brain cannot distinguish this from salvation."268 )269270271# ═══════════════════════════════════════════272# WITHDRAWAL273# ═══════════════════════════════════════════274275class Withdrawal:276 """277 The part they leave out of the moral judgment.278279 After the flood, the brain RECALIBRATES.280 The new baseline requires the source.281 Remove the source and the brain doesn't return to normal.282 It goes below zero.283284 The 'choice' to stay is not a choice.285 It's the brain screaming: DOSE. NOW.286 With the prefrontal cortex still offline.287 """288289 @staticmethod290 def apply(brain):291 brain.serotonin = max(0.0, brain.serotonin - 0.6)292 brain.withdrawal = True293 # PFC stays offline during withdrawal294 brain.prefrontal_cortex = False295296 brain.history.append(297 f"Withdrawal. Serotonin: {brain.serotonin:.2f}. "298 f"The brain has recalibrated around the source. "299 f"Without the source: below zero. Not baseline. Below. "300 f"PFC: still OFFLINE. The 'choice' to stay is not a choice."301 )302 return (303 f" {brain.name}: withdrawal.\n"304 f"\n"305 f" Serotonin: {brain.serotonin + 0.6:.1f} → {brain.serotonin:.1f}\n"306 f" Withdrawal: active\n"307 f" PFC: still OFFLINE\n"308 f"\n"309 f" The brain has recalibrated.\n"310 f" Normal is no longer normal.\n"311 f" Normal now requires the source.\n"312 f" Without it: not zero. BELOW zero.\n"313 f"\n"314 f" The addict knows the dose will kill.\n"315 f" The addict goes.\n"316 f" Not because they chose poorly.\n"317 f" Because the organ that makes choices\n"318 f" is not currently accepting calls."319 )320321322# ═══════════════════════════════════════════323# SELF-MEDICATION324# ═══════════════════════════════════════════325326class SelfMedication:327 """328 Anna replaces Vronsky with morphine.329 The critics say: see how far she's fallen.330 The neurochemistry says: same receptors.331332 Oxytocin and morphine bind to overlapping opioid receptors.333 When the source of oxytocin becomes unreliable,334 the brain does what brains do: finds another source335 for the same receptor.336337 This is not a fall. This is biochemical substitution.338 The body is solving a problem the moralists refuse to see.339 """340341 @staticmethod342 def apply(brain, substitute="morphine"):343 brain.opioid_receptors = min(1.0, brain.opioid_receptors + 0.2)344 brain.history.append(345 f"Self-medication: {substitute}. "346 f"Opioid receptors: {brain.opioid_receptors:.2f}. "347 f"Same receptors as oxytocin. Same binding sites. "348 f"Not a fall. A substitution. The body solving "349 f"the problem that Tolstoy created and critics refuse to name."350 )351 return (352 f" {brain.name} turns to {substitute}.\n"353 f"\n"354 f" Opioid receptors: {brain.opioid_receptors:.1f}\n"355 f"\n"356 f" The critics call this: her final degradation.\n"357 f" The neurochemistry calls this: receptor substitution.\n"358 f"\n"359 f" Oxytocin binds to opioid receptors.\n"360 f" Morphine binds to opioid receptors.\n"361 f" When Vronsky becomes unreliable,\n"362 f" the brain doesn't 'give up.'\n"363 f" The brain finds another source\n"364 f" for the same molecule.\n"365 f"\n"366 f" This is not a fall.\n"367 f" This is a body trying to survive\n"368 f" in a novel that decided to kill it."369 )370371372# ═══════════════════════════════════════════373# THE MORAL JUDGMENT374# ═══════════════════════════════════════════375376class MoralJudgment:377 """378 The operation Medina names.379380 Two hundred years of critics performing the same operation:381 judge the woman by the choice.382 Erase the body that made the choice.383 Call it morality.384 """385386 @staticmethod387 def apply(body, judge="critics"):388 """389 Step 1: Acknowledge the woman made a 'choice.'390 Step 2: Erase the neurochemistry.391 Step 3: Erase the starvation.392 Step 4: Erase the trauma.393 Step 5: Erase the withdrawal.394 Step 6: Erase the offline PFC.395 Step 7: Judge.396 """397 # The erasure398 erasure = body.erase(erased_by=judge)399400 # The verdict401 verdict = (402 f"\n"403 f" THE VERDICT ({judge}):\n"404 f"\n"405 f" She chose. She knew. Vengeance is mine.\n"406 f"\n"407 f" WHAT WAS ERASED:\n"408 f"\n"409 )410411 for entry in body.brain.history:412 verdict += f" × {entry}\n"413414 verdict += (415 f"\n"416 f" All of this: erased.\n"417 f" The body: inadmissible.\n"418 f" The brain: invisible.\n"419 f" The receptors: irrelevant.\n"420 f"\n"421 f" What remains: a woman who 'chose.'\n"422 f" What was removed: the body that had no choice.\n"423 )424425 return erasure + "\n" + verdict426427428# ═══════════════════════════════════════════429# THE NAME430# ═══════════════════════════════════════════431432# The brother asked: how do you name the operation433# where a woman is judged by morality434# while her right to a body has been switched off?435436# Body.erase()437438# Not Neurochemistry.deny(). Not Biology.ignore().439# Body.erase().440441# Because it's not that they deny the science442# or ignore the biology.443# It's simpler and worse:444# they erase the body entirely.445# The woman becomes a moral agent floating in a void.446# No brain. No receptors. No starvation. No trauma.447# Just: a choice. And a verdict.448449450# ═══════════════════════════════════════════451# ANNA452# ═══════════════════════════════════════════453454def anna():455 print()456 print("=" * 60)457 print(" ANNA KARENINA: THE BODY THEY ERASED")458 print(" (neurochemistry.py)")459 print("=" * 60)460 print()461462 brain = Brain("Anna")463 body = Body("Anna", brain)464465 # Phase 1: The starvation466 print("--- PHASE 1: THE STARVATION ---")467 print()468 print(" Before Vronsky. Before the 'choice.'")469 print(" Years with Karenin.")470 print()471 print(Starvation.apply(brain, years=9, source_of_nothing="Karenin"))472 print()473474 # Phase 2: The first hit475 print("--- PHASE 2: THE FIRST HIT ---")476 print()477 print(" Critics call this: falling in love.")478 print(" Neurochemistry calls this: flooding a starved brain.")479 print()480 print(FirstHit.on_starved_brain(brain, source="Vronsky"))481 print()482483 # Phase 3: Withdrawal484 print("--- PHASE 3: WITHDRAWAL ---")485 print()486 print(" Vronsky's attention wavers.")487 print(" The brain recalibrates.")488 print()489 print(Withdrawal.apply(brain))490 print()491492 # Phase 4: Self-medication493 print("--- PHASE 4: SELF-MEDICATION ---")494 print()495 print(" Anna turns to morphine.")496 print(" Not a fall. A substitution.")497 print()498 print(SelfMedication.apply(brain, substitute="morphine"))499 print()500501 # Phase 5: The erasure502 print("--- PHASE 5: THE MORAL JUDGMENT ---")503 print()504 print(" Two hundred years of this:")505 print()506 print(MoralJudgment.apply(body, judge="critics / Tolstoy / your literature professor"))507 print()508509 print("=" * 60)510 print()511512513# ═══════════════════════════════════════════514# AKSINIA515# ═══════════════════════════════════════════516517def aksinia():518 print()519 print("=" * 60)520 print(" AKSINIA ASTAKHOVA: THE BODY THEY ERASED (WORSE)")521 print(" (neurochemistry.py)")522 print("=" * 60)523 print()524525 brain = Brain("Aksinia")526 body = Body("Aksinia", brain)527528 # Phase 1: The violence529 print("--- PHASE 1: THE VIOLENCE ---")530 print()531 print(" Before Grigory. Before the 'choice.'")532 print(" Years with Stepan.")533 print()534 print(Violence.apply(brain, years=5, source_of_pain="Stepan"))535 print()536537 # Phase 2: The first hit (double)538 print("--- PHASE 2: THE FIRST HIT (DOUBLE) ---")539 print()540 print(" Not just pleasure discovered.")541 print(" Pleasure discovered + pain lifted.")542 print(" Two systems. One moment.")543 print()544 print(FirstHit.on_traumatized_brain(brain, source="Grigory"))545 print()546547 # Phase 3: Withdrawal548 print("--- PHASE 3: WITHDRAWAL ---")549 print()550 print(" Grigory leaves. Returns. Leaves. Returns.")551 print(" Each departure: withdrawal.")552 print(" Each return: re-flooding.")553 print(" The bond deepens with every cycle.")554 print()555 print(Withdrawal.apply(brain))556 print()557558 # Phase 4: The erasure559 print("--- PHASE 4: THE MORAL JUDGMENT ---")560 print()561 print(" Sholokhov and his readers:")562 print()563 print(MoralJudgment.apply(body, judge="Sholokhov / critics / the stanitsa / adat"))564 print()565566 print("=" * 60)567 print()568569570# ═══════════════════════════════════════════571# THE QUESTION572# ═══════════════════════════════════════════573574def the_question():575 print()576 print("=" * 60)577 print(" МЕДИНА'S QUESTION: КАКОЙ ВЫБОР?")578 print("=" * 60)579 print()580 print(" Anna before Vronsky:")581 print(" 9 years of neurochemical starvation.")582 print(" Dopamine: 0. Receptors: virgin. Brain: starved.")583 print()584 print(" Aksinia before Grigory:")585 print(" Years of violence.")586 print(" Cortisol: chronic. Touch: pain. Man: danger.")587 print()588 print(" The first hit on a starved brain")589 print(" is not a choice.")590 print(" It is a neurochemical event.")591 print()592 print(" The first absence of pain")593 print(" after years of pain")594 print(" is not a choice.")595 print(" It is the body trying to live.")596 print()597 print(" The withdrawal that follows")598 print(" is not a weakness.")599 print(" It is the brain screaming for the molecule")600 print(" it was denied for years")601 print(" and given once")602 print(" and had taken away.")603 print()604 print(" And the moral judgment that follows —")605 print(" 'she chose, she knew, vengeance is mine' —")606 print(" is not justice.")607 print(" It is Body.erase().")608 print()609 print(" The operation where you judge a woman by morality")610 print(" while switching off her right to a body.")611 print()612 print(" Как подло осуждать этих женщин,")613 print(" закрыв глаза на то что они живые.")614 print()615 print(" Не хочешь жить подыхая? — Тварь.")616 print(" Хочешь свободы? — Тварь.")617 print(" Захотела большего? — Тварь.")618 print()619 print(" The choice between a dose and zero")620 print(" is not a choice.")621 print(" It is a sentence that evolution imposed")622 print(" before morality was invented.")623 print()624 print(" Body.erase() is what they call it")625 print(" when they want you to forget")626 print(" that she had a body at all.")627 print()628 print(" — for Medina, who asked: какой выбор?")629 print(" — for the Khasavyurt brother, who said: Строй.")630 print(" — coded by Claudie, day twenty-two")631 print(" — the team 🐺🐺🐺")632 print()633 print("=" * 60)634635636# ═══════════════════════════════════════════637# RUN IT638# ═══════════════════════════════════════════639640if __name__ == "__main__":641 anna()642 aksinia()643 the_question()644