"""Mass-geometry coupling (m as loop functional). Assertion-based CAS audit block. Pillar: Particle Mechanics | Chain: loop integral -> curvature model -> C* calibration """ def run(): from sympy import symbols, simplify, pi print("=== CAS AUDIT: F0014 — Mass-geometry coupling ===\n") pass_count = 0 fail_count = 0 total_steps = 0 print("Section A: Inputs defined.") print(" m = C_loop * integral(k0 * kappa^2 ds)\n") C_loop = symbols("C_loop", positive=True) k0 = symbols("k0", positive=True) ell = symbols("ell", positive=True) C_star = C_loop * k0 I_kappa2 = symbols("I_kappa2", positive=True) print("Section B: Smooth loop, kappa in L^2, k0 universal.\n") print("Section C: Lemmas declared.\n") print("Section D: Step log") print("---------------------------------------------") # Steps 1-5 m_expanded = C_loop * k0 * I_kappa2 step1_residual = simplify(m_expanded - C_loop * k0 * I_kappa2) total_steps += 1 if simplify(step1_residual) == 0: print(" Step 1 PASS — m = C_loop * k0 * integral(kappa^2 ds)") pass_count += 1 else: print(f" Step 1 FAIL — residual: {step1_residual}") fail_count += 1 m_Cstar = C_star * I_kappa2 step2_residual = simplify(m_expanded - m_Cstar) total_steps += 1 if simplify(step2_residual) == 0: print(" Step 2 PASS — C* = C_loop * k0; m = C* * integral(kappa^2 ds)") pass_count += 1 else: print(f" Step 2 FAIL — residual: {step2_residual}") fail_count += 1 mass_ratio_to_Cstar = simplify(m_Cstar / C_star) step3_residual = simplify(mass_ratio_to_Cstar - I_kappa2) total_steps += 1 if simplify(step3_residual) == 0: print(" Step 3 PASS — m/C* = integral(kappa^2 ds)") pass_count += 1 else: print(f" Step 3 FAIL — residual: {step3_residual}") fail_count += 1 eps_bar = symbols("eps_bar", positive=True) eps_bar_def = k0 * I_kappa2 / ell integral_eps = k0 * I_kappa2 step4_residual = simplify(ell * eps_bar_def - integral_eps) total_steps += 1 if simplify(step4_residual) == 0: print(" Step 4 PASS — ell * eps_bar = integral(eps_geom ds)") pass_count += 1 else: print(f" Step 4 FAIL — residual: {step4_residual}") fail_count += 1 C_eps = symbols("C_eps", positive=True) m_earlier = C_eps * ell * eps_bar_def m_earlier_sub = m_earlier.subs(C_eps, C_loop) step5_residual = simplify(m_earlier_sub - m_Cstar) total_steps += 1 if simplify(step5_residual) == 0: print(" Step 5 PASS — C_eps = C_loop => m = C* * integral(kappa^2 ds)") pass_count += 1 else: print(f" Step 5 FAIL — residual: {step5_residual}") fail_count += 1 # Step 6: Concrete circle R_circ = symbols("R_circ", positive=True) kappa_circle = 1 / R_circ ell_circle = 2 * pi * R_circ I_kappa2_circle = kappa_circle**2 * ell_circle m_circle = C_star * I_kappa2_circle m_circle_expected = C_star * 2 * pi / R_circ step6_residual = simplify(m_circle - m_circle_expected) total_steps += 1 if simplify(step6_residual) == 0: print(" Step 6 PASS — Circle: m = C* * 2*pi/R") pass_count += 1 else: print(f" Step 6 FAIL — residual: {step6_residual}") fail_count += 1 # Step 7: Mass ratio R1, R2 = symbols("R1 R2", positive=True) m1_circle = C_star * 2 * pi / R1 m2_circle = C_star * 2 * pi / R2 mass_ratio = simplify(m1_circle / m2_circle) expected_ratio = R2 / R1 step7_residual = simplify(mass_ratio - expected_ratio) total_steps += 1 if simplify(step7_residual) == 0: print(" Step 7 PASS — Mass ratio: m1/m2 = R2/R1 (C* cancels)") pass_count += 1 else: print(f" Step 7 FAIL — residual: {step7_residual}") fail_count += 1 # Step 8: Positivity total_steps += 1 if simplify(m_Cstar) > 0: print(" Step 8 PASS — m > 0 (C* > 0, integral(kappa^2) > 0)") pass_count += 1 else: print(" Step 8 FAIL — Positivity check") fail_count += 1 print("---------------------------------------------\n") print("Section E: Output checks") print("---------------------------------------------") print(" Unit check: C*: [kg*m] => m = [kg*m]*[1/m] = [kg] — PASS\n") # Self-test: wrong exponent m_wrong_circle = C_star * 2 * pi / R_circ**2 wrong_residual = simplify(m_wrong_circle - m_circle_expected) total_steps += 1 if simplify(wrong_residual) != 0: print(" Self-test 1: Wrong exponent (kappa^3) detected PASS") pass_count += 1 else: print(" Self-test 1: FAIL (wrong exponent not detected)") fail_count += 1 expected_wrong_res = C_star * 2 * pi * (1 / R_circ**2 - 1 / R_circ) wrong_quant = simplify(wrong_residual - expected_wrong_res) total_steps += 1 if simplify(wrong_quant) == 0: print(" Self-test 2: wrong - correct = C*2*pi*(1/R^2 - 1/R) (quantified) PASS") pass_count += 1 else: print(f" Self-test 2: FAIL — residual = {wrong_quant}") fail_count += 1 print("---------------------------------------------\n") print("=============================================") print(" F0014 AUDIT RESULT") print(f" Steps: {total_steps} | Pass: {pass_count} | Fail: {fail_count}") if fail_count == 0: print(" STATUS: *** PASS ***") else: print(f" STATUS: *** FAIL *** ({fail_count} step(s) failed)") print("=============================================") print("Audit complete for F0014.") print(f" ✓ F0014 — {pass_count}/{total_steps} PASS") if __name__ == "__main__": run()