TNFR Logo
TheoryLearnSoftwareResearch

On this page

TNFR

Resonant Fractal Nature Theory — a mathematical framework for coherent patterns on graph-coupled networks.

About
  • Project history
  • Editorial policy
  • Contact
Resources
  • GitHub
  • PyPI
  • DOI · Zenodo
Legal
  • MIT License
  • Citation
© 2026 TNFR project — MIT licensed.DOI 10.5281/zenodo.17602860
docs
grammar
PHYSICS_VERIFICATION.md
API_CONTRACTS.mdCANONICAL_OZ_SEQUENCES.mdEMPIRICAL_CONFRONTATION_EEG.mdREADME.mdSTRUCTURAL_FIELDS_TETRAD.mdSTRUCTURAL_INTERFACE_THEORY.md
theory
APPLIED_STRUCTURAL_ANALYSIS.mdCATALOG_TYPE_HYGIENE_PROGRAMME.mdDISSIPATIVE_AND_OPEN_SYSTEMS.mdEMERGENT_ONTOLOGY.mdEXTENDED_FIELDS_AND_DERIVED_QUANTITIES.mdFUNDAMENTAL_THEORY.mdGAUGE_SYMMETRY_AND_UNIFICATION.mdGLOSSARY.mdMATHEMATICAL_DYNAMICS_BASIS.mdMINIMAL_STRUCTURAL_DEGREES.mdNUCLEUS_A_PRIME_LADDER_ATLAS.mdNUCLEUS_B_EQUIVARIANCE_OBSTRUCTIONS.mdPHYSICAL_REGIME_CORRESPONDENCES.mdREADME.mdREMESH_INFINITY_DERIVATION.mdSTRUCTURAL_CONSERVATION_THEOREM.mdSTRUCTURAL_OPERATORS.mdSTRUCTURAL_STABILITY_AND_DYNAMICS.mdTNFR_BSD_RESEARCH_NOTES.mdTNFR_HODGE_RESEARCH_NOTES.mdTNFR_NAVIER_STOKES_RESEARCH_NOTES.mdTNFR_NUMBER_THEORY.mdTNFR_P_VS_NP_RESEARCH_NOTES.mdTNFR_RIEMANN_RESEARCH_NOTES.mdTNFR_VARIATIONAL_PRINCIPLE.mdTNFR_YANG_MILLS_RESEARCH_NOTES.mdTNFR.pdfUNIFIED_GRAMMAR_RULES.md
factorization-lab
analysis
analyze_patterns.pycertificate_manifest.py
benchmarks
benchmark_analysis.pybenchmark_expansion_suite.pyfull_spectrum_factorization.pypaley_gap_extended.pypaley_gap_smoke.pytest_benchmark_suite.py
demos
experiment_contexts
exp_0b1663cd19b7.jsonexp_0bf0054b7474.jsonexp_75a4c8ca616a.jsonexp_848ee0fd1857.jsonexp_f6fe00562193.jsonexp_fdf3da424e1e.json
failure_telemetry_batch.pyfeedback_integration_demo.pyintegration_demo_snapshots.dbseed_management_integration_demo.pysnapshot_integration_demo.pytrajectory_143.jsontrajectory_77.jsontrajectory_89.jsontrajectory_91.jsontrajectory_97.json
docs
FACTORING_PLAYBOOK.mdFALSE_POSITIVE_TEST_SUITE.mdOPERATOR_CERTIFICATES.mdROADMAP.mdSPECTRAL_ROUTE.md
experiment_contexts
exp_cebe1d9e7d8e.json
notebooks
spectral_history.ipynb
scripts
run_false_positive_tests.py
tests
run_false_positive_test_suite.pytest_cli.pytest_false_positive_methodology.pytest_false_positive_verifier.pytest_feedback_integration.pytest_partitioning.pytest_seed_management.pytest_self_opt_support.pytest_snapshot_system.pytest_spectral_paley.pytest_verification_robustness.py
tnfr_factorization
__init__.pyapi.pycli.pyfailure_telemetry.pyfeedback_adapter.pyfeedback_integration.pypartitioning.pyself_opt_support.pyspectral_paley.py
demo_snapshots.dbLICENSE_SNAPSHOT.mdPACKAGE_SUMMARY.mdREADME.mdseed_management.pysnapshot_system.pytest_certificate_hashing.pytest_installation.pyverification_trajectory_77.json
benchmarks
analyze_tetrad_universality.pyb0star_alpha_canonical_product_graphs.pybenchmark_optimization_tracks.pybenchmark_utils.pyboundary_vibration.pybridge_primes_riemann.pychiral_involution.pycli_utils.pycoherence_projector_sense_index.pycommutant_bridge.pycomposition_arithmetic.pyconfinement_zones_test.pyconservation_law_validation.pydirected_paley_bridge.pyemergent_arithmetic_pulse.pyemergent_atom_dynamics.pyemergent_atomic_shells.pyemergent_base_dimension.pyemergent_dimension_dynamics.pyemergent_fractal_pulse.pyemergent_fractal_simplex_dimension.pyemergent_integers_symmetry.pyemergent_musical_nfr.pyemergent_nfr_geometry.pyemergent_nfr_where.pyemergent_rationals.pyemergent_rhythm.pyemergent_screening.pyemergent_shell_cardinals.pyemergent_shell_ordering.pyemergent_simplex_dimension.pyemergent_substrate_symmetry.pyequivariance_wall.pyexternal_phase_gate_validation.pyfield_methods_battery.pygolden_residue_remesh_bridge.pyintegrated_force_regime_study.pyinverse_spectrum_to_symmetry.pyk_phi_safety_demo.pykuramoto_farey_bridge.pymissing_piece_bridge.pymultichannel_interface_benchmark.pynavier_stokes_recipe_bridge.pynodal_propagator_residue_bridge.pyns_moment_hierarchy_cascade.pyoperational_irreducibility.pypaley_bridge.pyphase_curvature_investigation.pyphase_wall.pyphi_s_confinement_investigation.pyprimes_as_consequence.pypulse_phase_coherence_budget.pyREADME.mdremesh_infinity_riemann_baseline.pyremesh_infinity_riemann_composed.pyremesh_infinity_riemann_modified_graph.pyremesh_infinity_riemann_operator.pyremesh_infinity_riemann_spectral_basis.pyremesh_infinity_riemann_spectral_robustness.pyremesh_infinity_riemann_spectral.pyresidue_phase_vs_riemann.pystructural_interface_benchmark.pytemporal_interface_benchmark.pytetrad_results_aggregate.pyu2_destabilization_irreversibility.pyuniversality_clusters.pyxi_c_fast_experiment.py
primality-test
benchmarks
comprehensive_benchmark.py
docs
ADVANCED_INTEGRATION.mdmathematical_foundation.mdperformance_analysis.md
examples
advanced_examples.pybasic_usage.py
tnfr_primality
__init__.py__main__.pyadvanced_cli.pyadvanced_core.pycli.pyconstants.pycore.pyoptimized.py
MANIFEST.inPACKAGE_SUMMARY.mdREADME.mdRELEASE_NOTES_v1.0.mdsetup.pytest_installation.py
tests
core_physics
__init__.pytest_conservation_laws.pytest_delta_nfr_computation_paths.pytest_delta_nfr.pytest_dispersion_coherence_sign_invariance.pytest_emergent_constants_guard.pytest_lyapunov_operators.pytest_nodal_equation.pytest_structural_triad.py
data
replay_manifests
sample_run
_manifest_summary.json_manifest.json_partition_files.txt.gz
self_opt_validation
seed_alpha
paley.json
seed_beta
integration.json
seed_gamma
unknown.json
self_optimization
test_run
partitioned
test_run
test_run_p0.jsontest_run_p1.json
_manifest_summary.json_manifest.json
engines
test_pattern_discovery_manifest.pytest_self_optimization_engine.py
mathematics
__init__.pytest_autodiff.pytest_backends.pytest_dissipative_dynamics.pytest_epi.pytest_factory_patterns.pytest_metrics.pytest_navier_stokes_refounded.pytest_number_theory_canonical.pytest_operators.pytest_residue_networks.pytest_riemann_nodal_pulse.pytest_riemann_pulse_coherence.pytest_spaces.pytest_transforms.pytest_validator.py
operators
test_canonical_operators_modern.pytest_grammar_canon.pytest_grammar_canonical_consistency.pytest_grammar_dynamics.pytest_operator_contracts.pytest_operator_strategies.py
parallel
test_fractal_partition_manifest.py
physics
test_conservation_gauge_unification.pytest_dissipative_conservation.pytest_emergent_chemistry.pytest_field_cache_invalidation.pytest_gauge.pytest_phase_transition.pytest_signatures.pytest_spectral_conservation.pytest_structural_diffusion.pytest_structural_integrity.pytest_symplectic_substrate.pytest_tetrad_bounds.pytest_variational.pytest_yang_mills_closure.pytest_yang_mills_derivability.pytest_yang_mills_scaling.pytest_yang_mills_structural_gap.pytest_yang_mills_u6_sweep.py
scripts
test_run_self_opt_validation.pytest_run_self_optimization.py
sdk
__init__.pytest_simple_advanced.py
__init__.pyconftest.pyREADME.mdtest_breast_cancer_phase_gate_demo.pytest_classical_mechanics.pytest_distributed_fft.pytest_external_phase_gate_validation.pytest_factorization_entrypoint.pytest_multichannel_interface.pytest_nodal_optimizer.pytest_phase_gate_api.pytest_replay_register_manifest.pytest_signal_confrontation.pytest_structural_interface_api.pytest_structural_interface_baselines.pytest_structural_interface_benchmark.pytest_temporal_interface.pytest_vectorized_coherence_length_regression.pytest_wine_quality_phase_gate_demo.pyutils.py
examples
01_foundations
01_hello_world.py02_musical_resonance.py03_network_formation.py04_operator_sequences.py05_coherence_evolution.py06_network_topologies.py07_phase_transitions.py08_emergent_phenomena.py09_visualization_suite.py10_simplified_sdk_showcase.py
02_physics_regimes
11_classical_limit_comparison.py115_operator_contract_audit.py12_classical_mechanics_demo.py13_quantum_mechanics_demo.py14_uncertainty_and_interference.py15_train_crossing_demo.py17_conservation_law_demo.py26_gauge_structure_demo.py27_variational_principle_demo.py28_dissipative_systems_demo.py29_lyapunov_stability_demo.py30_self_optimization_demo.py31_mathematical_constants_basis.py33_complex_field_unification.py34_conservation_protocol_suite.py35_tetrad_irreducibility.py36_grammar_violation_detector.py37_operator_tetrad_synergy.py38_grammar_energy_landscape.py39_nodal_equation_decomposition.py
03_riemann_zeta
157_nodal_pulse_phase_attack.py41_von_mangoldt_zeta_demo.py42_riemann_zeros_as_resonances.py43_prime_ladder_hamiltonian_demo.py44_weil_explicit_formula_demo.py45_li_keiper_demo.py46_weil_tnfr_positivity_demo.py47_alpha_sweep_demo.py48_admissible_family_sweep_demo.py49_nodeaware_gauge_sweep_demo.py50_uniform_coercivity_demo.py51_adaptive_coercivity_demo.py52_paley_gap_coercivity_demo.py53_lyapunov_spectral_positivity_demo.py54_hilbert_polya_demo.py55_structural_zero_density_demo.py56_spectral_emergence_demo.py57_admissible_rescaling_demo.py58_oscillatory_correction_demo.py
04_riemann_L_twisted
59_dirichlet_l_function_demo.py60_dirichlet_l_continuation_demo.py61_dirichlet_l_hamiltonian_demo.py62_dirichlet_weil_explicit_formula_demo.py63_dirichlet_li_keiper_demo.py64_twisted_weil_positivity_demo.py65_twisted_alpha_sweep_demo.py66_twisted_admissible_family_sweep_demo.py67_twisted_nodeaware_gauge_sweep_demo.py68_twisted_hermite_family_demo.py69_twisted_coercivity_uniform_demo.py70_twisted_paley_gap_coercivity_demo.py71_twisted_lyapunov_spectral_demo.py72_twisted_hilbert_polya_demo.py73_twisted_structural_zero_density_demo.py74_twisted_spectral_emergence_demo.py75_twisted_admissible_rescaling_demo.py76_twisted_oscillatory_correction_demo.py
05_type_hygiene
77_remesh_infinity_residue_split_demo.py78_nuf_type_signature_demo.py79_epi_type_signature_demo.py80_phi_type_signature_demo.py81_dnfr_type_signature_demo.py82_remesh_window_type_signature_demo.py83_delta_phi_max_type_signature_demo.py84_coupling_weights_type_signature_demo.py85_tetrad_closure_signature_demo.py86_currents_closure_signature_demo.py87_aggregates_closure_signature_demo.py88_urules_consistency_signature_demo.py89_operator_catalog_discipline_signature_demo.py
06_navier_stokes
158_navier_stokes_two_face_refounded.py
07_number_theory
100_prime_families_orbits.py101_numbers_as_coupled_network.py102_nodal_flow_primes_equilibria.py116_nuf_emergent_prime_visibility.py146_primality_grammatical_inertness.py147_numbers_as_free_monoid_words.py148_capacity_arm_carries_von_mangoldt.py149_p14_is_the_capacity_arm_operator.py153_structural_frequency_rank_cyclotomy.py40_arithmetic_number_theory.py94_generative_number_construction.py95_primes_from_spectral_waves.py96_spectral_vibration_of_coherence.py97_goldbach_additive_multiplicative.pyemergent_chemistry_particles_demo.py
08_emergent_geometry
103_emergent_substrate_meets_riemann.py106_per_node_polarization_geometry.py107_orthogonal_structure_emergent_geometry.py108_emergent_field_generating_structure.py112_structure_predicts_coherence_flow.py113_overdamped_projection_bridge.py114_substrate_conserved_quantities.py117_emergent_geometry_residue_graph.py118_emergent_vs_classical_operator.py119_phase_sector_directed_residue.py120_symmetry_wall_substrate_vs_spectrum.py121_canonical_symmetry_break_negative.py122_factorization_phase_sector.py123_symmetry_sector_decomposition.py124_emergent_metric_fractal_consistency.py125_node_is_the_emergent_substrate.py126_two_layers_base_fiber.py127_base_is_emergent_not_imposed.py128_base_substrate_coemergence.py129_spectral_gap_base_fiber_clock.py130_operators_break_substrate_charges.py131_coemergent_loop_convergence.py132_geometric_phase_holonomy.py133_psi_topological_defects.py134_spectral_dimension_heat_kernel.py135_arrow_of_time_h_theorem.py136_heat_kernel_coefficients.py137_synchronization_transition.py138_structure_frequency_synchronization.py139_grammar_formal_language.py140_grammar_automaton.py141_grammar_rule_decomposition.py142_grammar_operator_quotient.py143_glyphic_function_sublanguage.py144_branching_combinator.py145_syntactic_monoid_starfree.py150_emergent_grammatical_pattern_parry.py151_grammar_in_emergent_geometry.py152_operator_contract_tetrahedron.py154_conductor_annotated_qr_spectrum.py155_ontological_position_of_numbers.py156_emergence_directness_law.py98_emergent_symplectic_substrate.py99_structural_diffusion.pyunified_fields_showcase.py
09_millennium
109_p_vs_np_coherence_synthesis.py110_bsd_rank_structural_pressure.py111_hodge_discrete_and_honest_gap.py
10_applications
159_empirical_confrontation_pipeline.py90_phase_gate_monitor_demo.py91_breast_cancer_phase_gate_demo.py92_wine_quality_phase_gate_demo.py93_structural_interface_demo.pypytorch_cuda_demo.py
README.md
scripts
replay
__init__.pyregister_manifest.py
__init__.pyREADME.mdrebuild_failure_manifest.pyrun_reproducible_benchmarks.pyrun_self_opt_validation.pyrun_self_optimization.pytnfr_is_prime.pyvalidate_conservation_law.pyverify_internal_references.py
src
core
__init__.pyevaluation.py
tnfr
backends
__init__.pyjax_backend.pynumpy_backend.pyoptimized_numpy.pyREADME.mdtorch_backend.py
cli
__init__.py__init__.pyiarguments.pyarguments.pyiexecution.pyexecution.pyiinteractive_validator.pyREADME.mdutils.pyutils.pyi
compat
__init__.pydataclass.pyjsonschema_stub.pymatplotlib_stub.pynumpy_stub.pyREADME.md
config
__init__.py__init__.pyiconstants.pyconstants.pyidefaults_core.pydefaults_init.pydefaults_metric.pydefaults.pyfeature_flags.pyfeature_flags.pyiglyph_constants.pyoperator_names.pyoperator_names.pyiphysics_derivation.pyprecision_modes.pypresets.pypresets.pyiREADME.mdsecurity.pythresholds.pytnfr_config.py
constants
__init__.py__init__.pyialiases.pyaliases.pyicanonical.pymetric.pymetric.pyioperational.py
core
__init__.pycontainer.pydefault_implementations.pyexceptions.pyinterfaces.pyREADME.md
dynamics
__init__.py__init__.pyiadaptation.pyadaptation.pyiadaptive_sequences.pyadaptive_sequences.pyiadelic.pyadvanced_cache_optimizer.pyadvanced_fft_arithmetic.pyaliases.pyaliases.pyibifurcation.pycache_aware_fft_engine.pycanonical.pycanonical.pyicomputational_hub.pycoordination.pycoordination.pyidistributed_fft.pydnfr.pydnfr.pyidynamic_limits.pyemergent_centralization.pyemergent_integration_engine.pyfeedback.pyfeedback.pyifft_backend.pyfft_cache_coordinator.pyfft_dispatchers.pyfft_engine.pyfft_workers.pyfused_dnfr.pyhomeostasis.pyhomeostasis.pyiintegrators.pyintegrators.pyilearning.pylearning.pyimetabolism.pymulti_modal_cache.pynbody_tnfr.pynbody.pynodal_optimizer.pyoptimization_orchestrator.pypropagation.pyREADME.mdruntime.pyruntime.pyisampling.pysampling.pyiselectors.pyselectors.pyiself_optimizing_engine.pyspectral_structural_fusion.pystructural_cache.pystructural_clip.pysymplectic.pyunified_backend.pyunified_mathematical_cache_orchestrator.py
engines
computation
__init__.pyfft_engine.pyunified_fft_engine.pyunified_gpu_system.py
constants
__init__.pycanonical.pyoperational.py
integration
__init__.pyemergent_integration.py
pattern_discovery
__init__.pymathematical_patterns.pymulti_modal_cache.py
self_optimization
__init__.pyengine.py
__init__.pyREADME.md
errors
__init__.pycontextual.py
factorization
__init__.py
flatten
README.md
gamma
README.md
glyph_history
README.md
glyph_runtime
README.md
immutable
README.md
initialization
README.md
io
README.md
math
__init__.pyfields_symbolic.pygrammar_validators.pyoptimizer.pyREADME.mdsymbolic.py
mathematics
__init__.pybackend.pybackend.pyidynamics.pydynamics.pyiepi.pyepi.pyigenerators.pygenerators.pyiliouville.pymetrics.pymetrics.pyinumber_theory.pyoperators_factory.pyoperators_factory.pyioperators.pyoperators.pyioptimized_primality.pyprojection.pyprojection.pyiREADME.mdruntime.pyruntime.pyispaces.pyspaces.pyispectral.pytransforms.pytransforms.pyiunified_cache.pyunified_numerical.pyzeta.py
metrics
__init__.py__init__.pyibuffer_cache.pybuffer_cache.pyicache_utils.pycoherence.pycoherence.pyicommon.pycommon.pyicore.pycore.pyidiagnosis.pydiagnosis.pyiemergence.pyexport.pyexport.pyiglyph_timing.pyglyph_timing.pyilearning_metrics.pylearning_metrics.pyilocal_coherence.pyphase_coherence.pyphase_compatibility.pyREADME.mdreporting.pyreporting.pyisense_index.pysense_index.pyitelemetry.pytetrad.pytrig_cache.pytrig_cache.pyitrig.pytrig.pyi
multiscale
__init__.pyhierarchical.pyREADME.md
navier_stokes
__init__.pyconservative_face.pyoperator.py
node
README.md
observers
README.md
operators
network_analysis
__init__.pysource_detection.py
postconditions
__init__.pymutation.py
preconditions
__init__.pycoherence.pydissonance.pyemission.pymutation.pyreception.pyresonance.py
strategies
__init__.pydefaults.pygpu_strategies.pystrategy.py
__init__.py__init__.pyialgebra.pycanonical_patterns.pycascade.pycoherence.pycontraction.pycoupling.pycycle_detection.pydefinitions_base.pydefinitions.pydefinitions.pyidissonance.pyemission.pyexpansion.pygrammar_application.pygrammar_canon.pygrammar_context.pygrammar_core.pygrammar_dynamics.pygrammar_error_factory.pygrammar_memoization.pygrammar_patterns.pygrammar_telemetry.pygrammar_types.pygrammar_u6.pygrammar_validate.pygrammar.pygrammar.pyihamiltonian.pyhealth_analyzer.pyintrospection.pyjitter.pyjitter.pyilifecycle.pymetabolism.pymetrics_basic.pymetrics_core.pymetrics_network.pymetrics_structural.pymetrics_u6.pymetrics.pymutation.pynodal_equation.pyoperator_contracts.pypattern_detection.pypatterns.pyREADME.mdreception.pyrecursivity.pyregistry.pyregistry.pyiremesh.pyremesh.pyiresonance.pyself_organization.pysilence.pystructural_units.pytransition.py
parallel
__init__.pyauto_scaler.pydistributed.pyengine.pymonitoring.pypartitioner.pyREADME.md
performance
guardrails.py
physics
__init__.py_helpers.pycalibration.pycanonical.pycell.pyclassical_mechanics.pyconservation_gauge_unification.pyconservation.pydissipative_conservation.pyemergent_chemistry.pyemergent_particles.pyextended.pyfields.pygauge.pyintegrity.pyinteractions.pylife.pylyapunov.pypatterns.pyphase_transition.pyquantum_mechanics.pyREADME.mdsignatures.pyspectral_conservation.pyspectral_metrics.pystructural_diffusion.pysymplectic_substrate.pytelemetry.pyunified.pyvariational.pyvectorized_ops.py
primality
__init__.py
recipes
__init__.pycookbook.pyREADME.md
riemann
__init__.pyadmissible_family_sweep.pyadmissible_rescaling.pyaggregates_closure_signature.pyalpha_sweep.pyanalytic_continuation_dirichlet.pyanalytic_continuation.pycoercivity_uniform.pycoupling_weights_type_signature.pycurrents_closure_signature.pydelta_phi_max_type_signature.pydirichlet_l.pydnfr_type_signature.pyepi_type_signature.pyhilbert_polya.pyli_keiper.pylyapunov_spectral_positivity.pynodal_pulse.pynodeaware_gauge_sweep.pynuf_type_signature.pyoperator_catalog_discipline_signature.pyoperator.pyoscillatory_correction.pypaley_gap_coercivity.pyphi_type_signature.pyprime_ladder_hamiltonian.pypulse_coherence.pyremesh_infinity_residue_split.pyremesh_window_type_signature.pyspectral_emergence.pystructural_zero_density.pytelemetry.pytetrad_closure_signature.pytwisted_admissible_family_sweep.pytwisted_admissible_rescaling.pytwisted_alpha_sweep.pytwisted_coercivity_uniform.pytwisted_hermite_family.pytwisted_hilbert_polya.pytwisted_li_keiper.pytwisted_lyapunov_spectral_positivity.pytwisted_nodeaware_gauge_sweep.pytwisted_oscillatory_correction.pytwisted_paley_gap_coercivity.pytwisted_prime_ladder_hamiltonian.pytwisted_spectral_emergence.pytwisted_structural_zero_density.pytwisted_weil_explicit_formula.pytwisted_weil_positivity.pyurules_consistency_signature.pyvon_mangoldt.pyweil_explicit_formula.pyweil_positivity.py
schemas
__init__.pygrammar.jsonREADME.md
sdk
__init__.py__init__.pyiadaptive_system.pyadaptive_system.pyibuilders.pybuilders.pyifluent.pyfluent.pyiREADME.mdself_opt.pysimple.pytemplates.pytemplates.pyiutils.py
security
__init__.pycrypto.pydatabase.pyREADME.mdsubprocess.pyvalidation.py
sequencing
__init__.pypatterns.pyREADME.md
services
__init__.pyorchestrator.pyREADME.md
sparse
__init__.pyREADME.mdrepresentations.py
structural
README.md
telemetry
__init__.pycache_metrics.pycache_metrics.pyiconstants.pynu_f.pynu_f.pyiREADME.mdunified_telemetry_system.pyverbosity.pyverbosity.pyi
tools
__init__.pydomain_templates.pyREADME.mdsequence_generator.pytnfr_is_prime_cli_optimized.pytnfr_is_prime_cli.py
topology
__init__.pyasymmetry.pyREADME.md
utils
cache_layers.pycache.pycache.pyicallbacks.pycallbacks.pyichunks.pychunks.pyidata.pydata.pyifast_diameter.pygraph.pygraph.pyiinit.pyinit.pyiio.pyio.pyinumeric.pynumeric.pyiREADME.mdtopology.pyunified_cache.py
validation
__init__.py__init__.pyiaggregator.pybase.pycompatibility.pycompatibility.pyiconfig.pygraph.pygraph.pyihealth.pyinput_validation.pyinterface_baselines.pyinvariants.pymultichannel_interface.pyphase_gate.pyREADME.mdrules.pyrules.pyiruntime.pyruntime.pyisequence_validator.pysignal_confrontation.pysoft_filters.pysoft_filters.pyispectral.pyspectral.pyistructural_interface.pytemporal_interface.pyunified_validation_system.pyvalidator.pywindow.pywindow.pyi
visualization
__init__.pycascade_viz.pyhierarchy.pyREADME.mdsequence_plotter.py
yang_mills
__init__.pyclosure.pyderivability.pyscaling.pystructural_gap.pyu6_sweep.py
__init__.py__init__.pyi_compat.py_version.py_version.pyialias.pyalias.pyibackend_config.pycache.pycache.pyiexecution.pyexecution.pyiflatten.pyflatten.pyigamma.pygamma.pyiglyph_history.pyglyph_history.pyiglyph_runtime.pyglyph_runtime.pyiimmutable.pyimmutable.pyiinitialization.pyinitialization.pyiio.pyio.pyilocking.pylocking.pyinode.pynode.pyiobservers.pyobservers.pyiontosim.pyontosim.pyipy.typedrng.pyrng.pyisecure_config.pyselector.pyselector.pyisense.pysense.pyistructural.pystructural.pyitokens.pytokens.pyitrace.pytrace.pyitypes.pytypes.pyiunits.pyunits.pyi
tetrad_evaluator.py
.pre-commit-config.yaml.semgrep.yaml.zenodo.jsonARCHITECTURE.mdbandit.yamlCHANGELOG.mdCITATION.cffCONTRIBUTING.mdEMERGENT_CANON_AUDIT.mdEMERGENT_DERIVATION_PLAN.mdLICENSE.mdMakefileMANIFEST.inpyproject.tomlpyrightconfig.jsonPYTORCH_CUDA_INTEGRATION.mdREADME.mdSECURITY.mdTESTING.mdTNFR_Website_Content_Brief.md
FILE: benchmarks/paley_bridge.py

paley_bridge.py

benchmarks/paley_bridge.py

Camino 9 -- do the zeros come from the Paley gap? Yes for the PRIME SUPPORT (a real, self-adjoint spectral identity); no for the RIEMANN ORDINATES / the phase residue S(T) (which stays RH-equivalent).

This harness answers a direct objection to Camino 8 (phase_wall.py). Camino 8 called the adelic carrier's content "imposed (a prime sieve)". That was too glib: the primes feeding nu_f = log p are NOT arbitrary -- they emerge from a genuine TNFR-native spectral mechanism, the Paley gap of Martinez Gamo, Spectral note: Paley gap via lambda_2 (residue circulants), Zenodo 10.5281/zenodo.17665853 v2 (November 2025), wired canonically into the repo as P25 (src/tnfr/riemann/paley_gap_coercivity.py). So the objection is correct: the prime support DOES come from a structural place. This harness concedes that point with running code -- and then shows exactly why it does NOT breach the Camino-8 wall.

TWO DIFFERENT "ZEROS" (the distinction Camino 8 blurred): (1) Paley-gap zeros: g(n) = |lambda_2(residue circulant) - (n - sqrt n)/2| = 0 occurs exactly at primes n == 1 (mod 4). These are REAL integer locations; the mechanism detects PRIMALITY by spectral IDENTITY (not by a bound). (2) adelic known_zeros = {14.1347, 21.0220, ...}: the imaginary ordinates gamma_n of the Riemann zeta zeros zeta(1/2 + i gamma_n) = 0. The RH object. The Paley gap produces (1), never (2). They are different mathematical objects.

THE CLAIM (Paley grounds the REAL support, not the PHASE): reachable: the prime support {p == 1 (mod 4)} of nu_f = log p emerges from g(n) = 0 -- a SELF-ADJOINT spectral identity (the residue circulant is symmetric => real spectrum => lambda_2 real => g(n) real => its zeros are REAL integers). So the carrier's real magnitudes are spectrally grounded, not sieved. residue: S(T) = (1/pi) arg zeta(1/2 + iT) is a CONTINUOUS phase on the e-pi circle. No real g(n) produces it; the Paley zeros (real integers) are disjoint from the ordinates gamma_n. the point: grounding the prime SUPPORT in a real/self-adjoint identity CONFIRMS Camino 8 -- the real/scale sector reaches the support (the "where"), the phase/oscillation sector (the "argument") remains unreachable.

ENGINE (known theorems -- independent ground truth, all pre-TNFR):

  • Quadratic Gauss sum: for n prime, |sum_x exp(2 pi i x^2 / n)| = sqrt(n). The residue circulant on a prime n == 1 (mod 4) is exactly the Paley graph, whose Laplacian spectrum is {0, (n - sqrt n)/2, (n + sqrt n)/2}; hence its first positive Laplacian eigenvalue lambda_2 = (n - sqrt n)/2 by identity. For composite n == 1 (mod 4) the residue circulant is not a Paley graph and lambda_2 deviates -- so g(n) = 0 <=> n prime == 1 (mod 4) (tested to 2601 in the source note; this harness re-verifies to a smaller limit).
  • Circulant diagonalisation: a circulant's eigenvalues are the DFT of its first row, so lambda_2 is computed by FFT in O(n log n); a symmetric first row (a[k] = a[n-k]) forces a real spectrum.
  • arg zeta(1/2 + iT) is a continuous real-valued function of T (Riemann-Siegel theta / S(T)); it is not an integer location and not confined to {0, pi}.

TNFR reading (AGENTS.md "Number Theory: primality as structural equilibrium DNFR = 0" + src/tnfr/riemann/paley_gap_coercivity.py): the Paley gap realises primality as a spectral equilibrium of a self-adjoint operator -- a genuine structural source for the prime support of nu_f = log p. But it is REAL/self- adjoint by construction, so it lives in the scale sector of the Camino-8 tetrad; the carrier U(t) = diag(exp(i t nu_f)) still maps these real magnitudes to the circle, and the collective phase reaching arg zeta on the critical line is the explicit-formula / RH-equivalent content the Paley gap does not touch.

HONEST SCOPE -- structural CHECKS pass; the THESIS verdict is OPEN with a genuine PARTIAL CONCESSION: We show at machine precision that (1) g(n) = 0 reproduces the primes == 1 (mod 4) exactly -- the prime support is spectrally grounded, NOT sieved (objection conceded); (2) the whole Paley mechanism is real/self-adjoint (symmetric circulant, real lambda_2, eigen-phases in {0, pi}) -- it lives in the Camino-8 real sector; (3) the Paley-derived primes match the adelic carrier's == 1 (mod 4) support, so nu_f's real magnitudes are grounded (covers the == 1 (mod 4) class only); (4) the Paley zeros (real integers) are DISJOINT from the Riemann ordinates and a real g(n) cannot produce the continuous phase S(T). The source note itself says "reproducible; not a primality proof"; the canonical P25 module says it "does not close G4". So the Paley gap grounds the SUPPORT (real "where"), not the PHASE residue (continuous, RH-equivalent). It SHARPENS the Camino-8 wall; it does not breach it. R (continuum) and pi remain assumed substrate.

Run: python benchmarks/paley_bridge.py

Status: RESEARCH (Paley-bridge falsifier; Camino 9 of the unification map).

Source Code

python
"""
benchmarks/paley_bridge.py

Camino 9 -- do the zeros come from the Paley gap? Yes for the PRIME SUPPORT (a
real, self-adjoint spectral identity); no for the RIEMANN ORDINATES / the phase
residue S(T) (which stays RH-equivalent).

This harness answers a direct objection to Camino 8 (phase_wall.py). Camino 8
called the adelic carrier's content "imposed (a prime sieve)". That was too glib:
the primes feeding nu_f = log p are NOT arbitrary -- they emerge from a genuine
TNFR-native spectral mechanism, the Paley gap of Martinez Gamo, *Spectral note:
Paley gap via lambda_2 (residue circulants)*, Zenodo 10.5281/zenodo.17665853 v2
(November 2025), wired canonically into the repo as P25
(src/tnfr/riemann/paley_gap_coercivity.py). So the objection is correct: the prime
support DOES come from a structural place. This harness concedes that point with
running code -- and then shows exactly why it does NOT breach the Camino-8 wall.

TWO DIFFERENT "ZEROS" (the distinction Camino 8 blurred):
  (1) Paley-gap zeros: g(n) = |lambda_2(residue circulant) - (n - sqrt n)/2| = 0
      occurs exactly at primes n == 1 (mod 4). These are REAL integer locations;
      the mechanism detects PRIMALITY by spectral IDENTITY (not by a bound).
  (2) adelic known_zeros = {14.1347, 21.0220, ...}: the imaginary ordinates
      gamma_n of the Riemann zeta zeros zeta(1/2 + i gamma_n) = 0. The RH object.
  The Paley gap produces (1), never (2). They are different mathematical objects.

THE CLAIM (Paley grounds the REAL support, not the PHASE):
  reachable:  the prime support {p == 1 (mod 4)} of nu_f = log p emerges from
              g(n) = 0 -- a SELF-ADJOINT spectral identity (the residue circulant
              is symmetric => real spectrum => lambda_2 real => g(n) real => its
              zeros are REAL integers). So the carrier's real magnitudes are
              spectrally grounded, not sieved.
  residue:    S(T) = (1/pi) arg zeta(1/2 + iT) is a CONTINUOUS phase on the e-pi
              circle. No real g(n) produces it; the Paley zeros (real integers)
              are disjoint from the ordinates gamma_n.
  the point:  grounding the prime SUPPORT in a real/self-adjoint identity CONFIRMS
              Camino 8 -- the real/scale sector reaches the support (the "where"),
              the phase/oscillation sector (the "argument") remains unreachable.

ENGINE (known theorems -- independent ground truth, all pre-TNFR):
  - Quadratic Gauss sum: for n prime, |sum_x exp(2 pi i x^2 / n)| = sqrt(n). The
    residue circulant on a prime n == 1 (mod 4) is exactly the Paley graph, whose
    Laplacian spectrum is {0, (n - sqrt n)/2, (n + sqrt n)/2}; hence its first
    positive Laplacian eigenvalue lambda_2 = (n - sqrt n)/2 by identity. For
    composite n == 1 (mod 4) the residue circulant is not a Paley graph and
    lambda_2 deviates -- so g(n) = 0 <=> n prime == 1 (mod 4) (tested to 2601 in
    the source note; this harness re-verifies to a smaller limit).
  - Circulant diagonalisation: a circulant's eigenvalues are the DFT of its first
    row, so lambda_2 is computed by FFT in O(n log n); a symmetric first row
    (a[k] = a[n-k]) forces a real spectrum.
  - arg zeta(1/2 + iT) is a continuous real-valued function of T (Riemann-Siegel
    theta / S(T)); it is not an integer location and not confined to {0, pi}.

TNFR reading (AGENTS.md "Number Theory: primality as structural equilibrium
DNFR = 0" + src/tnfr/riemann/paley_gap_coercivity.py): the Paley gap realises
primality as a spectral equilibrium of a self-adjoint operator -- a genuine
structural source for the prime support of nu_f = log p. But it is REAL/self-
adjoint by construction, so it lives in the scale sector of the Camino-8 tetrad;
the carrier U(t) = diag(exp(i t nu_f)) still maps these real magnitudes to the
circle, and the collective phase reaching arg zeta on the critical line is the
explicit-formula / RH-equivalent content the Paley gap does not touch.

HONEST SCOPE -- structural CHECKS pass; the THESIS verdict is OPEN with a genuine
PARTIAL CONCESSION:
  We show at machine precision that (1) g(n) = 0 reproduces the primes == 1 (mod 4)
  exactly -- the prime support is spectrally grounded, NOT sieved (objection
  conceded); (2) the whole Paley mechanism is real/self-adjoint (symmetric
  circulant, real lambda_2, eigen-phases in {0, pi}) -- it lives in the Camino-8
  real sector; (3) the Paley-derived primes match the adelic carrier's == 1 (mod 4)
  support, so nu_f's real magnitudes are grounded (covers the == 1 (mod 4) class
  only); (4) the Paley zeros (real integers) are DISJOINT from the Riemann ordinates
  and a real g(n) cannot produce the continuous phase S(T). The source note itself
  says "reproducible; not a primality proof"; the canonical P25 module says it "does
  not close G4". So the Paley gap grounds the SUPPORT (real "where"), not the PHASE
  residue (continuous, RH-equivalent). It SHARPENS the Camino-8 wall; it does not
  breach it. R (continuum) and pi remain assumed substrate.

Run:
    python benchmarks/paley_bridge.py

Status: RESEARCH (Paley-bridge falsifier; Camino 9 of the unification map).
"""

from __future__ import annotations

import math
import os
import sys

import networkx as nx
import numpy as np

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# Robust fallback so the harness also runs without PYTHONPATH=src preset.
sys.path.insert(
    0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "src")
)
from composition_arithmetic import adj_spectrum  # noqa: E402

# Optional: real Riemann zeta for the residue phase S(T).
try:  # pragma: no cover - exercised only when mpmath is installed
    import mpmath  # noqa: E402

    _HAVE_MPMATH = True
except Exception:  # pragma: no cover
    _HAVE_MPMATH = False

# Optional: the canonical adelic engine (nu_f = log p carrier whose prime support
# the Paley gap is meant to ground).
try:  # pragma: no cover - exercised only when the package is importable
    from tnfr.dynamics.adelic import AdelicDynamics  # noqa: E402

    _HAVE_ADELIC = True
except Exception:  # pragma: no cover
    _HAVE_ADELIC = False

# Optional: the canonical P25 Paley-gap module (its own honest scope: "does not
# close G4 / not a primality proof").
try:  # pragma: no cover
    from tnfr.riemann import paley_gap_coercivity as _canon_paley  # noqa: E402

    _HAVE_CANON_PALEY = True
except Exception:  # pragma: no cover
    _HAVE_CANON_PALEY = False

TOL = 1e-9
_GAP_EPS = 1e-9  # g(n) below this counts as a Paley-gap zero
_ZERO_EIG = 1e-6  # eigenvalues below this have undefined phase
_REAL_AXIS = np.array([0.0, np.pi, -np.pi])  # arg of a real number

# The four tetrad-associated constants (audit 2026: only pi is a genuine scale).
PHI = (1.0 + np.sqrt(5.0)) / 2.0
GAMMA = 0.5772156649015329
PI = np.pi
E = np.e

# First few Riemann non-trivial zero heights (the OTHER kind of zero).
_KNOWN_ORDINATES = (14.1347, 21.0220, 25.0109, 30.4249, 32.9351, 37.5862)


# --------------------------------------------------------------------------- #
# The Paley gap (residue-circulant lambda_2), faithful to Zenodo 17665853 v2.
# --------------------------------------------------------------------------- #
def is_prime(n: int) -> bool:
    """Trial-division primality (independent ground truth)."""
    if n < 2:
        return False
    if n % 2 == 0:
        return n == 2
    r = int(n**0.5)
    f = 3
    while f <= r:
        if n % f == 0:
            return False
        f += 2
    return True


def quadratic_residues(n: int) -> set[int]:
    """Nonzero quadratic residues mod n."""
    return {(x * x) % n for x in range(1, n) if (x * x) % n != 0}


def residue_first_row(n: int) -> np.ndarray:
    """Symmetric circulant first row: a[k] = 1 if k or n-k is a quadratic residue.

    The symmetrisation a[k] = a[n-k] makes the circulant undirected, hence its
    spectrum is real (self-adjoint sector). For prime n == 1 (mod 4) this is the
    Paley graph (since -1 is a residue, the 'or' is redundant and deg = (n-1)/2).
    """
    R = quadratic_residues(n)
    a = np.zeros(n, dtype=float)
    for k in range(1, n):
        if (k in R) or ((n - k) in R):
            a[k] = 1.0
    return a


def lambda2_residue_fft(n: int) -> float:
    """First positive Laplacian eigenvalue of the residue circulant via FFT.

    Circulant adjacency eigenvalues = DFT of the first row; Laplacian = D - A.
    """
    a = residue_first_row(n)
    d = float(a.sum())
    eig_adj = np.fft.fft(a).real  # real because a is symmetric
    mu = np.sort(d - eig_adj)  # Laplacian eigenvalues
    for v in mu:
        if v > 1e-12:
            return float(v)
    return float(mu[1])


def paley_formula(n: int) -> float:
    """Closed-form reference (n - sqrt n)/2 = lambda_2 of a genuine Paley graph."""
    return 0.5 * (n - math.sqrt(n))


def paley_gap(n: int) -> float:
    """g(n) = |lambda_2 - (n - sqrt n)/2|, meaningful only for n == 1 (mod 4)."""
    if n % 4 != 1:
        return float("inf")
    return abs(lambda2_residue_fft(n) - paley_formula(n))


def residue_circulant_matrix(n: int) -> np.ndarray:
    """Full symmetric circulant matrix M[i, j] = a[(j - i) mod n]."""
    a = residue_first_row(n)
    idx = (np.arange(n)[None, :] - np.arange(n)[:, None]) % n
    return a[idx]


def riemann_s_phase(T: float, nu_f: np.ndarray, primes: np.ndarray) -> float:
    """S(T) = (1/pi) arg zeta(1/2 + iT) via mpmath; fallback = the prime-oscillator
    phase (1/pi) arg sum_p p^(-1/2) exp(i T log p). Both are CONTINUOUS in T."""
    if _HAVE_MPMATH:
        z = mpmath.zeta(mpmath.mpc(0.5, T))
        return float(mpmath.arg(z)) / np.pi
    z = np.sum(np.exp(1j * T * nu_f) / np.sqrt(primes))
    return float(np.angle(z)) / np.pi


def _distance_to_real_axis(phases: np.ndarray) -> float:
    """Max distance from each phase to the nearest of {0, pi, -pi}."""
    if phases.size == 0:
        return 0.0
    d = np.min(np.abs(phases[:, None] - _REAL_AXIS[None, :]), axis=1)
    return float(np.max(d))


# --------------------------------------------------------------------------- #
# TEST 1 -- the Paley gap PRODUCES the primes (the support is not sieved)
# --------------------------------------------------------------------------- #
def test_paley_gap_produces_primes(limit: int = 200) -> bool:
    print("=" * 78)
    print("TEST 1 -- the Paley gap g(n) = 0 reproduces the primes == 1 (mod 4)")
    print("          (the prime support of nu_f = log p comes from a SPECTRAL place)")
    print("=" * 78)

    candidates = [m for m in range(5, limit + 1) if m % 4 == 1]
    primes14 = [m for m in candidates if is_prime(m)]
    zeros = [m for m in candidates if paley_gap(m) <= _GAP_EPS]

    extra = sorted(set(zeros) - set(primes14))  # composites flagged prime
    miss = sorted(set(primes14) - set(zeros))  # primes missed
    exact = (not extra) and (not miss)

    print(f"  tested n == 1 (mod 4) up to {limit}")
    print(f"  Paley-gap zeros           : {len(zeros)}")
    print(f"  primes == 1 (mod 4)       : {len(primes14)}")
    print(f"  composites flagged as zero: {extra if extra else 'none'}")
    print(f"  primes missed             : {miss if miss else 'none'}")
    print(f"  first zeros               : {zeros[:8]}")
    ok = exact
    print(
        f"  VERDICT: {'PASS' if ok else 'FAIL'} -- "
        f"{'g(n)=0 IS primality, by identity (support is structural, not sieved)' if ok else 'mismatch'}"
    )
    print()
    return ok


# --------------------------------------------------------------------------- #
# TEST 2 -- the Paley mechanism is REAL / SELF-ADJOINT (Camino-8 sector)
# --------------------------------------------------------------------------- #
def test_paley_mechanism_is_real_self_adjoint() -> bool:
    print("=" * 78)
    print("TEST 2 -- the residue circulant is symmetric => real lambda_2 => the")
    print("          whole Paley mechanism lives in the REAL / self-adjoint sector")
    print("=" * 78)

    worst_sym = 0.0
    worst_imag = 0.0
    worst_phase = 0.0
    worst_adj = 0.0
    for n in (5, 13, 17, 29, 37):
        M = residue_circulant_matrix(n)
        sym = float(np.linalg.norm(M - M.T))
        eig = np.linalg.eigvals(M)
        imag = float(np.max(np.abs(eig.imag)))
        # eigen-phases of the symmetric circulant (exclude ~0 eigenvalues)
        keep = np.abs(eig) > _ZERO_EIG
        phase_dist = _distance_to_real_axis(np.angle(eig[keep]))
        # cross-check the adjacency spectrum (shared helper) against the closed
        # form: a Paley graph on prime n == 1 (mod 4) has eigenvalues
        # {(n-1)/2, (-1 +/- sqrt n)/2}.
        G = nx.from_numpy_array(M)
        spec = adj_spectrum(G)
        closed = np.sort(
            np.concatenate(
                [
                    [(n - 1) / 2.0],
                    np.full((n - 1) // 2, (-1 + math.sqrt(n)) / 2.0),
                    np.full((n - 1) // 2, (-1 - math.sqrt(n)) / 2.0),
                ]
            )
        )
        worst_adj = max(worst_adj, float(np.max(np.abs(spec - closed))))
        worst_sym = max(worst_sym, sym)
        worst_imag = max(worst_imag, imag)
        worst_phase = max(worst_phase, phase_dist)

    # g(n) itself is a real-valued function (a difference of two reals).
    g_is_real = all(np.isreal(paley_gap(n)) for n in (5, 13, 17, 25, 29))

    print(
        f"  max ||M - M^T||             : {worst_sym:.2e}  (symmetric => self-adjoint)"
    )
    print(f"  max |Im(spectrum)|          : {worst_imag:.2e}  (real spectrum)")
    print(
        f"  max adj-spec vs closed form : {worst_adj:.2e}  (Paley eigenvalues (-1+/-sqrt n)/2)"
    )
    print(f"  max eigen-phase dist {{0,pi}} : {worst_phase:.2e}  (arg in {{0, pi}})")
    print(f"  g(n) is real-valued         : {g_is_real}")
    ok = (
        worst_sym < TOL
        and worst_imag < TOL
        and worst_adj < 1e-8
        and worst_phase < 1e-6
        and g_is_real
    )
    print(
        f"  VERDICT: {'PASS' if ok else 'FAIL'} -- "
        f"{'Paley gap is real/self-adjoint: it grounds REAL support, in the Camino-8 scale sector' if ok else 'not self-adjoint'}"
    )
    print()
    return ok


# --------------------------------------------------------------------------- #
# TEST 3 -- the Paley primes GROUND the carrier's nu_f support (not sieved)
# --------------------------------------------------------------------------- #
def test_paley_primes_ground_nu_f(limit: int = 200) -> bool:
    print("=" * 78)
    print("TEST 3 -- the Paley-derived primes match the adelic carrier's nu_f support")
    print("          on the == 1 (mod 4) class (real magnitudes grounded spectrally)")
    print("=" * 78)

    paley_primes = [
        m for m in range(5, limit + 1) if m % 4 == 1 and paley_gap(m) <= _GAP_EPS
    ]

    if _HAVE_ADELIC:
        eng = AdelicDynamics(max_prime=limit)
        carrier_primes = [int(p) for p in eng.primes]
        src = "tnfr.dynamics.adelic (CANONICAL)"
    else:
        # sieve fallback only to provide a comparison set
        carrier_primes = [m for m in range(2, limit + 1) if is_prime(m)]
        src = "sieve fallback"

    carrier_14 = sorted(p for p in carrier_primes if p % 4 == 1 and p >= 5)
    match = sorted(set(paley_primes)) == carrier_14
    # nu_f magnitudes for the Paley-grounded primes
    nu_f_paley = np.log(np.array(paley_primes, dtype=float))

    print(f"  carrier nu_f source         : {src}")
    print(
        f"  Paley primes (== 1 mod 4)   : {len(paley_primes)}  e.g. {paley_primes[:6]}"
    )
    print(f"  carrier primes (== 1 mod 4) : {len(carrier_14)}  e.g. {carrier_14[:6]}")
    print(f"  support match (== 1 mod 4)  : {match}")
    print(f"  nu_f = log p (first three)  : {np.round(nu_f_paley[:3], 4).tolist()}")
    print("  HONEST LIMIT: the Paley gap covers the == 1 (mod 4) class only; the")
    print("  == 3 (mod 4) primes (and 2) need a complementary construction.")
    ok = match and nu_f_paley.size > 0
    print(
        f"  VERDICT: {'PASS' if ok else 'FAIL'} -- "
        f"{'nu_f real support is spectrally grounded (objection conceded), not sieved' if ok else 'support mismatch'}"
    )
    print()
    return ok


# --------------------------------------------------------------------------- #
# TEST 4 -- the Paley gap does NOT reach the ordinates / the phase S(T)
# --------------------------------------------------------------------------- #
def test_paley_does_not_reach_the_phase(limit: int = 200) -> bool:
    print("=" * 78)
    print("TEST 4 -- Paley zeros (real integers) are DISJOINT from the Riemann")
    print("          ordinates; a real g(n) cannot produce the continuous phase S(T)")
    print("=" * 78)

    paley_primes = [
        m for m in range(5, limit + 1) if m % 4 == 1 and paley_gap(m) <= _GAP_EPS
    ]
    paley_set = np.array(paley_primes, dtype=float)

    # (a) the two kinds of zeros are disjoint: integer primes vs real ordinates
    min_dist = min(float(np.min(np.abs(paley_set - g))) for g in _KNOWN_ORDINATES)
    disjoint = min_dist > 0.5

    # (b) S(T) is a continuous phase off the {0, pi} axis (sampled near ordinates)
    nu_f = np.log(paley_set) if paley_set.size else np.array([math.log(5.0)])
    primes_arr = paley_set if paley_set.size else np.array([5.0])
    samples = []
    for g in _KNOWN_ORDINATES:
        for off in (-0.7, 0.0, 0.9):
            samples.append(riemann_s_phase(g + off, nu_f, primes_arr))
    phases = np.array(samples) * np.pi  # back to radians for axis distance
    s_dist = _distance_to_real_axis(np.array([(p % (2 * np.pi)) for p in phases]))
    off_axis = int(
        np.sum(
            np.min(np.abs(phases[:, None] % (2 * np.pi) - _REAL_AXIS[None, :]), axis=1)
            > 0.3
        )
    )
    s_src = "mpmath zeta(1/2+iT)" if _HAVE_MPMATH else "prime-oscillator fallback"

    # (c) g(n) is real-valued => its 'phase content' is in {0, pi}; S(T) is not.
    g_phase = _distance_to_real_axis(
        np.angle(np.array([paley_gap(n) + 0j for n in (5, 13, 17)]))
    )

    canon = "n/a"
    if _HAVE_CANON_PALEY:
        canon = (
            getattr(_canon_paley, "__name__", "paley_gap_coercivity")
            + " present (P25: 'does not close G4; not a primality proof')"
        )

    print(f"  Paley zeros (integers)      : {paley_primes[:6]} ...")
    print(f"  Riemann ordinates (reals)   : {list(_KNOWN_ORDINATES)}")
    print(f"  min |Paley - ordinate|      : {min_dist:.3f}  (>> 0 => disjoint)")
    print(f"  S(T) source                 : {s_src}")
    print(
        f"  S(T) max dist from {{0,pi}}   : {s_dist:.3f} rad  ({off_axis} samples off-axis)"
    )
    print(
        f"  g(n) phase dist from {{0,pi}} : {g_phase:.2e}  (g is real => arg in {{0, pi}})"
    )
    print(f"  canonical P25               : {canon}")
    ok = (
        disjoint
        and s_dist > 0.3
        and off_axis >= len(_KNOWN_ORDINATES)
        and g_phase < 1e-6
    )
    print(
        f"  VERDICT: {'PASS' if ok else 'FAIL'} -- "
        f"{'Paley grounds the real support, NOT the continuous phase S(T) (RH-equivalent)' if ok else 'phase reached?!'}"
    )
    print()
    return ok


def main() -> int:
    print(__doc__)
    r1 = test_paley_gap_produces_primes()
    r2 = test_paley_mechanism_is_real_self_adjoint()
    r3 = test_paley_primes_ground_nu_f()
    r4 = test_paley_does_not_reach_the_phase()

    print("=" * 78)
    print("SUMMARY")
    print("=" * 78)
    print(
        f"  TEST 1 Paley gap produces primes == 1 (mod 4) : {'PASS' if r1 else 'FAIL'}"
    )
    print(
        f"  TEST 2 Paley mechanism is real/self-adjoint   : {'PASS' if r2 else 'FAIL'}"
    )
    print(
        f"  TEST 3 Paley primes ground nu_f real support  : {'PASS' if r3 else 'FAIL'}"
    )
    print(
        f"  TEST 4 Paley does NOT reach the phase S(T)    : {'PASS' if r4 else 'FAIL'}"
    )
    structural = r1 and r2 and r3 and r4
    print()
    print(f"  STRUCTURAL CHECKS: {'ALL PASS' if structural else 'SOME FAILED'}")
    print()
    print("  THESIS VERDICT: OPEN, with a genuine PARTIAL CONCESSION.")
    print("  The objection is correct: the prime support of nu_f = log p is NOT")
    print("  sieved -- it emerges from the Paley gap g(n) = 0, a SELF-ADJOINT")
    print("  spectral IDENTITY that realises primality (== 1 mod 4) as DNFR = 0")
    print("  structural equilibrium. But that mechanism is REAL/self-adjoint, so it")
    print("  lives in the Camino-8 scale sector: it grounds the support (the real")
    print("  'where'), and the Paley zeros (integers) are disjoint from the Riemann")
    print("  ordinates. The residue S(T) = (1/pi) arg zeta(1/2 + iT) is a CONTINUOUS")
    print("  phase on the e-pi circle; no real g(n) produces it. The source note")
    print("  says 'not a primality proof'; the canonical P25 module says it 'does")
    print("  not close G4'. So the Paley gap SHARPENS the real-vs-phase wall: it")
    print("  shows the real sector reaches even the prime SUPPORT, while the phase")
    print("  residue stays unreachable. Reaching S(T) remains RH-equivalent. R and")
    print("  pi remain assumed substrate.")
    return 0 if structural else 1


if __name__ == "__main__":
    raise SystemExit(main())