Shunyaya Symbolic Mathematical Chemistry – Conditions & Priors — Calm Gate and Rapidity Nudges (2.8, 2.9)

This page explains how environment scales symbolic preference and how priors add small, declared nudges—without changing classical balances or the contrast lens. The calm gate is global (it scales the whole preference). Priors are local (they adjust chosen terms only). Both are bounded and observation-only.

Unified condition gate (time-aware calm governor)

  • What it does: scales preference by a bounded factor in [0, 1]; this preserves direction while reflecting calm vs. stress.
  • Inputs at a glance: a bounded drift signal (Z_t), a slow alignment track (A_t), and a calm stock (Q_t) with memory.
  • Knobs you publish: kappa (sensitivity to misalignment), mu (responsiveness to accumulated opportunity), rho (memory).
  • Qualitative behavior: higher drift or misalignment lowers the gate; accumulated calm opportunity raises it.
  • Study rule: pick exactly one lane recipe to build Z_t and A_t; keep it fixed for the study and document it.

Interpretation

  • Low gate: edge/stress may allow non-ground branches to persist.
  • High gate: calm tends to enforce ground outcomes.
  • Design guarantees: bounded [0,1]; sign of scaled preference remains the same; strictly observation-only.

Priors in rapidity (transparent, bounded)

  • What they are: small, reversible shifts applied per term in rapidity space; they never change the contrast lens or classical balances.
  • When to use: to encode structural or policy context (e.g., lattice/precipitation tendency, site match, polymorph lean).
  • Orthogonality: priors modify chosen terms; the gate scales the whole reaction signal—do not encode the same effect in both.
  • Transparency & bounds: publish names, definitions, normalization to [0,1], and alpha values; cap the cumulative shift by alpha_max; idempotent when all indices are zero.

Examples of indices (normalized to [0,1])

  • LPI (lattice/precipitation), CPI (catalyst/site-match), SPI (polymorph), ESGI (sustainability nudge), HLG (HOMO–LUMO gap).

Audit checklist (publish)

  • Gate knobs {kappa, mu, rho} and the lane recipes for Z_t and A_t, plus Q0.
  • Prior list with per-term application, index definitions, ranges, and alpha values.
  • Clamp/guard policies and any min/max on the gate.
  • A one-line scope note: observation-only; no rates or hazards introduced.

Plain ASCII formulas (copy-ready)

Calm gate (global scale)

RSI_env = g_t * RSI
g_t = ( 1 / ( 1 + Z_t + kappa * Delta_t ) ) * ( 1 - exp( -mu * Q_t ) )
Delta_t = abs( Z_t - A_t )
Q_t = rho * Q_prev + ( 1 - rho ) * clip( A_t - Z_t , 0 , 1 )

Inputs & policy

Z_t in [0, 1]  ; drift signal
A_t in [0, 1]  ; slow track (default A_t = 1 / ( 1 + Z_t ))
kappa > 0, mu > 0, rho in (0, 1)
Q_prev in [0, 1]  ; initialize with Q0
# clamp output:
g_t := min( max( g_t , 0 ), 1 )
# choose and publish exactly one recipe for Z_t and A_t per study

Gate invariants (design guarantees)

0 <= g_t <= 1
sign(RSI_env) = sign(RSI)   # since g_t >= 0
|RSI_env| <= |RSI|
1 + Z_t + kappa * Delta_t >= 1  # denominator safety

Signal recipes (pick one and publish)

Z_t := F_t
Z_t := min( 1 , alpha * F_t + (1 - alpha) * V_t )   # alpha in [0,1]

A_t := 1 / ( 1 + Z_t )                              # default
A_t := beta * A_prev + (1 - beta) * ( 1 / ( 1 + Z_t ) )   # beta in (0,1)

Gate pseudocode (reference)

input:
  RSI in (-1,1)
  Z_t in [0,1], A_t in [0,1]
  Q_prev in [0,1]
  kappa > 0, mu > 0, rho in (0,1)

clip(x, lo, hi):
  return min( max( x, lo ), hi )

Z_t    = clip( Z_t , 0 , 1 )
A_t    = clip( A_t , 0 , 1 )
Delta_t = abs( Z_t - A_t )
Q_t     = rho * Q_prev + ( 1 - rho ) * clip( A_t - Z_t , 0 , 1 )
g_t     = ( 1 / ( 1 + Z_t + kappa * Delta_t ) ) * ( 1 - exp( -mu * Q_t ) )
g_t     = clip( g_t , 0 , 1 )
RSI_env = g_t * RSI
# outputs: RSI_env, Q_t

Priors (local per-term rapidity nudges)

# single prior
delta_u = alpha * Index                 # Index in [0,1], alpha >= 0 (small)
u_term  = atanh_safe( a_term , eps_a )  # requires |a_term| <= 1 - eps_a
a_term  = tanh( u_term + delta_u )

# multi-prior composition (bounded sum)
delta_u = sum_{k=1..K}( alpha_k * Index_k )
# guard cumulative shift:
abs(delta_u) <= alpha_max  # recommend alpha_max <= 0.5
a_term = tanh( atanh_safe( a_term , eps_a ) + delta_u )

Priors pseudocode (reference)

apply_prior(a_term, Priors, eps_a, alpha_max):
  # a_term already clamped: |a_term| <= 1 - eps_a
  u = atanh_safe(a_term, eps_a)
  delta_u = 0.0
  for each (name, Index, alpha) in Priors:
    # require: 0 <= Index <= 1, alpha >= 0
    delta_u = delta_u + (alpha * Index)
  if abs(delta_u) > alpha_max:
    delta_u = (1 if delta_u >= 0 else -1) * alpha_max
  return tanh(u + delta_u)

Policy notes (declare once per study)

- Publish full prior list (name, definition, normalization [0,1], alpha) and where applied.
- Keep alpha_max <= 0.5 unless justified; apply priors once per term; Index=0 recovers baseline.
- Do not mix conflicting index recipes; keep lane recipes fixed within a study.
- Priors never change contrast e and do not encode the same effect as the gate.


Navigation
Previous – Reaction Stability Index — Definition (2.7)
Next – Identities, Neutrality, Inverses (2.10)