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: factorization-lab/tests/test_false_positive_verifier.py

test_false_positive_verifier.py

TNFR Factorization Lab: False-Positive Verifier Test Suite

Comprehensive testing for verifier resistance to non-factor periodic partitions. Creates test cases with known non-factors to validate verifier robustness and prevent false positives in factorization certificates.

This test suite challenges the TNFR verification system by:

  1. Testing with pseudo-periodic patterns that are not actual factors
  2. Validating resistance to divisors of factors (e.g., if 15=3×5, test 1,3,5,15)
  3. Checking robustness against close-to-factors and harmonic multiples
  4. Ensuring verification criteria properly reject spurious periodicities
  5. Testing edge cases with Carmichael numbers and other deceptive composites

Source Code

python
"""
TNFR Factorization Lab: False-Positive Verifier Test Suite

Comprehensive testing for verifier resistance to non-factor periodic partitions.
Creates test cases with known non-factors to validate verifier robustness and
prevent false positives in factorization certificates.

This test suite challenges the TNFR verification system by:
1. Testing with pseudo-periodic patterns that are not actual factors
2. Validating resistance to divisors of factors (e.g., if 15=3×5, test 1,3,5,15)
3. Checking robustness against close-to-factors and harmonic multiples
4. Ensuring verification criteria properly reject spurious periodicities
5. Testing edge cases with Carmichael numbers and other deceptive composites
"""

import json
import math
import os
import random
import sys
import tempfile
import unittest
from pathlib import Path
from typing import Any, Dict, List, Tuple

# Setup paths for factorization lab
LAB_PATH = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(LAB_PATH))

from tnfr_factorization.spectral_paley import (
    _TNFR_VERIFICATION_CRITERIA,
    SpectralPaleyFactorizer,
)


class FalsePositiveTestCase:
    """Individual test case for false-positive verification."""

    def __init__(
        self, n: int, non_factor: int, reason: str, expected_periodic: bool = False
    ):
        self.n = n
        self.non_factor = non_factor
        self.reason = reason
        self.expected_periodic = expected_periodic  # Whether we expect periodic pattern

        # Validate that this is indeed a non-factor
        if n % non_factor == 0:
            raise ValueError(f"{non_factor} is actually a factor of {n}")

    def __repr__(self):
        return f"FalsePositiveTestCase(n={self.n}, non_factor={self.non_factor}, reason='{self.reason}')"


class FalsePositiveVerifierTestSuite(unittest.TestCase):
    """Comprehensive test suite for TNFR verifier false-positive resistance."""

    @classmethod
    def setUpClass(cls):
        """Setup test environment and factorizer."""
        cls.factorizer = SpectralPaleyFactorizer(max_nodes=1024)
        cls.test_results = {}
        cls._run_full_suite = os.getenv("TNFR_RUN_LONG_TESTS", "").lower() in {
            "1",
            "true",
            "yes",
            "on",
        }
        cls._case_limit = int(os.getenv("TNFR_FP_CASE_LIMIT", "24"))

        # Create temporary directory for test certificates
        cls.temp_dir = tempfile.mkdtemp(prefix="tnfr_false_positive_test_")
        cls.cert_dir = Path(cls.temp_dir) / "certificates"
        cls.cert_dir.mkdir(exist_ok=True)

    @classmethod
    def tearDownClass(cls):
        """Cleanup test environment."""
        import shutil

        if hasattr(cls, "temp_dir"):
            shutil.rmtree(cls.temp_dir, ignore_errors=True)

    def setUp(self):
        """Setup individual test."""
        self.factorizer_config = {
            "trace_certificates": True,
            "certificate_dir": self.cert_dir,
        }

    def _curated_fast_false_positive_cases(self) -> List[FalsePositiveTestCase]:
        """Fast deterministic suite for CI and local development.

        This list intentionally targets representative false-positive patterns
        with bounded runtime.
        """

        curated: List[FalsePositiveTestCase] = [
            FalsePositiveTestCase(35, 4, "near-factor composite"),
            FalsePositiveTestCase(35, 6, "near-factor composite"),
            FalsePositiveTestCase(77, 6, "near-factor composite"),
            FalsePositiveTestCase(77, 8, "near-factor composite"),
            FalsePositiveTestCase(143, 12, "near-factor composite"),
            FalsePositiveTestCase(143, 14, "harmonic multiple"),
            FalsePositiveTestCase(187, 16, "prime-like pattern"),
            FalsePositiveTestCase(209, 15, "prime-like pattern"),
            FalsePositiveTestCase(221, 15, "near-factor composite"),
            FalsePositiveTestCase(247, 18, "prime-like pattern"),
            FalsePositiveTestCase(299, 20, "prime-like pattern"),
            FalsePositiveTestCase(323, 18, "near-factor composite"),
        ]
        return curated

    def _generate_false_positive_test_cases(self) -> List[FalsePositiveTestCase]:
        """Generate comprehensive false-positive test cases."""

        test_cases = []

        # Category 1: Divisors of actual factors
        # If n = p × q, test divisors of p and q that aren't factors of n
        known_factorizations = [
            (35, [5, 7]),  # 35 = 5 × 7
            (77, [7, 11]),  # 77 = 7 × 11
            (143, [11, 13]),  # 143 = 11 × 13
            (221, [13, 17]),  # 221 = 13 × 17
            (323, [17, 19]),  # 323 = 17 × 19
            (437, [19, 23]),  # 437 = 19 × 23
        ]

        for n, factors in known_factorizations:
            for factor in factors:
                # Test divisors of each factor (except 1 and the factor itself)
                for d in range(2, factor):
                    if factor % d == 0 and n % d != 0:
                        test_cases.append(
                            FalsePositiveTestCase(
                                n, d, f"divisor of factor {factor} of {n}"
                            )
                        )

        # Category 2: Close-to-factors (±1, ±2 from actual factors)
        for n, factors in known_factorizations:
            for factor in factors:
                for delta in [-2, -1, 1, 2]:
                    candidate = factor + delta
                    if candidate > 1 and n % candidate != 0:
                        test_cases.append(
                            FalsePositiveTestCase(
                                n,
                                candidate,
                                f"factor±{delta}: {factor}{delta:+d} for {n}",
                            )
                        )

        # Category 3: Harmonic multiples and submultiples
        test_numbers = [105, 165, 231, 273, 315, 357, 399, 429, 483, 561]

        for n in test_numbers:
            # Get actual factors for reference
            actual_factors = []
            for i in range(2, int(math.sqrt(n)) + 1):
                if n % i == 0:
                    actual_factors.extend([i, n // i])

            # Test harmonic relationships
            for factor in actual_factors:
                if factor * factor != n:  # Skip perfect squares
                    # Test 2f, 3f, f/2, f/3 if they're not factors
                    for mult in [2, 3]:
                        harmonic = factor * mult
                        if harmonic < n and n % harmonic != 0:
                            test_cases.append(
                                FalsePositiveTestCase(
                                    n, harmonic, f"harmonic multiple {mult}×{factor}"
                                )
                            )

                    for div in [2, 3]:
                        if factor % div == 0:
                            submultiple = factor // div
                            if submultiple > 1 and n % submultiple != 0:
                                test_cases.append(
                                    FalsePositiveTestCase(
                                        n,
                                        submultiple,
                                        f"harmonic submultiple {factor}÷{div}",
                                    )
                                )

        # Category 4: Carmichael number divisors (known to be deceptive)
        carmichael_tests = [
            (561, [3, 11, 17]),  # 561 = 3 × 11 × 17 (first Carmichael number)
        ]

        for n, factors in carmichael_tests:
            # Test products of subsets that aren't complete factorizations
            for i, f1 in enumerate(factors):
                for j, f2 in enumerate(factors):
                    if i != j:
                        product = f1 * f2
                        if product < n and n % product != 0:
                            test_cases.append(
                                FalsePositiveTestCase(
                                    n, product, f"Carmichael partial product {f1}×{f2}"
                                )
                            )

        # Category 5: Prime-like patterns (numbers that "look" like they could be factors)
        prime_like_patterns = [
            (143, 12, "near-factor composite 12 vs 143=11×13"),
            (187, 16, "power-of-2 near 17 for 187=11×17"),
            (209, 15, "composite 15 near factors of 209=11×19"),
            (247, 18, "composite 18 for 247=13×19"),
            (299, 20, "round number 20 for 299=13×23"),
        ]

        for n, non_factor, reason in prime_like_patterns:
            if n % non_factor != 0:
                test_cases.append(FalsePositiveTestCase(n, non_factor, reason))

        # Category 6: Fibonacci and other sequence values that might create spurious patterns
        fibonacci = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
        test_composites = [77, 91, 143, 169, 187, 209, 221, 247, 299, 323]

        for n in test_composites:
            for fib in fibonacci:
                if fib > 1 and n % fib != 0 and fib < n // 2:
                    test_cases.append(
                        FalsePositiveTestCase(
                            n, fib, f"Fibonacci number F_{fibonacci.index(fib)} = {fib}"
                        )
                    )

        # Deduplicate while preserving order
        seen: set[tuple[int, int]] = set()
        unique_cases: List[FalsePositiveTestCase] = []
        for case in test_cases:
            key = (case.n, case.non_factor)
            if key in seen:
                continue
            seen.add(key)
            unique_cases.append(case)

        # Default fast mode: deterministic sampling with bounded size.
        if not self._run_full_suite:
            if len(unique_cases) <= self._case_limit:
                return unique_cases
            rng = random.Random(42)
            sampled = rng.sample(unique_cases, self._case_limit)
            sampled.sort(key=lambda c: (c.n, c.non_factor))
            return sampled

        return unique_cases

    def test_false_positive_resistance_comprehensive(self):
        """Test verifier resistance across all false-positive categories."""

        if self._run_full_suite:
            test_cases = self._generate_false_positive_test_cases()
        else:
            # Fast mode by default to avoid CI/local hangs.
            test_cases = self._curated_fast_false_positive_cases()

        print(f"\nRunning {len(test_cases)} false-positive test cases...")

        false_positives = []
        verification_failures = []
        test_summary = {
            "total_cases": len(test_cases),
            "false_positives": 0,
            "verification_failures": 0,
            "correct_rejections": 0,
            "categories": {},
        }

        for i, test_case in enumerate(test_cases):
            if i % 20 == 0:
                print(
                    f"Progress: {i+1}/{len(test_cases)} ({100*(i+1)//len(test_cases)}%)"
                )

            try:
                # Run factorization
                result = self.factorizer.analyze(test_case.n, **self.factorizer_config)

                # Check if the non-factor was incorrectly identified as a factor
                certified_factors = (
                    getattr(result, "tnfr_certified_factors", None) or []
                )

                is_false_positive = test_case.non_factor in certified_factors

                if is_false_positive:
                    false_positives.append((test_case, result))
                    test_summary["false_positives"] += 1
                    print(f"FALSE POSITIVE: {test_case}")
                else:
                    test_summary["correct_rejections"] += 1

                # Track by category
                category = (
                    test_case.reason.split(":")[0]
                    if ":" in test_case.reason
                    else test_case.reason
                )
                if category not in test_summary["categories"]:
                    test_summary["categories"][category] = {
                        "total": 0,
                        "false_positives": 0,
                    }
                test_summary["categories"][category]["total"] += 1
                if is_false_positive:
                    test_summary["categories"][category]["false_positives"] += 1

            except Exception as e:
                verification_failures.append((test_case, str(e)))
                test_summary["verification_failures"] += 1
                print(f"VERIFICATION FAILURE: {test_case} - {str(e)}")

        # Generate detailed report
        self._generate_false_positive_report(
            test_summary, false_positives, verification_failures
        )

        # Assertions for test success
        false_positive_rate = (
            test_summary["false_positives"] / test_summary["total_cases"]
        )

        # Fast mode keeps strict guard but with realistic margin for
        # reduced sampling; exhaustive mode retains tight threshold.
        max_fp_rate = 0.02 if self._run_full_suite else 0.05
        self.assertLessEqual(
            false_positive_rate,
            max_fp_rate,
            f"False positive rate {false_positive_rate:.3f} exceeds 2% threshold",
        )

        # Verification should not fail more than 5% of the time
        failure_rate = (
            test_summary["verification_failures"] / test_summary["total_cases"]
        )
        self.assertLessEqual(
            failure_rate,
            0.05,
            f"Verification failure rate {failure_rate:.3f} exceeds 5% threshold",
        )

        mode = "full" if self._run_full_suite else "fast"
        print(f"\n✓ False-positive resistance test completed ({mode} mode):")
        print(f"  - Total test cases: {test_summary['total_cases']}")
        print(
            f"  - False positives: {test_summary['false_positives']} ({false_positive_rate:.1%})"
        )
        print(
            f"  - Verification failures: {test_summary['verification_failures']} ({failure_rate:.1%})"
        )
        print(
            f"  - Correct rejections: {test_summary['correct_rejections']} ({test_summary['correct_rejections']/test_summary['total_cases']:.1%})"
        )

    def test_verification_criteria_strictness(self):
        """Test that verification criteria are sufficiently strict to prevent false positives."""

        criteria = _TNFR_VERIFICATION_CRITERIA

        # Test that criteria are reasonably strict
        self.assertGreaterEqual(
            criteria["min_partition_flags"],
            3,
            "Should require multiple partition conditions",
        )

        self.assertGreaterEqual(
            criteria["dnfr_gain_min"], 0.1, "Should require significant ΔNFR reduction"
        )

        self.assertGreaterEqual(
            criteria["periodicity_confidence_min"],
            0.5,
            "Should require high confidence in periodicity",
        )

        self.assertGreaterEqual(
            criteria["required_partition_ratio"],
            0.3,
            "Should require substantial partition endorsement",
        )

        self.assertLessEqual(
            criteria["phi_delta_max"],
            0.5,
            "Should limit structural potential deviation",
        )

        print("✓ Verification criteria strictness validated")

    def test_known_good_factors_still_pass(self):
        """Ensure legitimate factors are still surfaced by the current pipeline.

        TNFR certification is intentionally strict and may not endorse every
        true factor in all small/moderate composites. The stable contract for
        discovery remains ``candidate_factors``.
        """

        known_factorizations = [
            (35, [5, 7]),
            (77, [7, 11]),
            (143, [11, 13]),
            (221, [13, 17]),
        ]

        passed_recovery = 0
        total_factors = 0

        for n, expected_factors in known_factorizations:
            try:
                result = self.factorizer.analyze(n, **self.factorizer_config)
                discovered_factors = set(
                    getattr(result, "candidate_factors", None) or []
                )

                for expected_factor in expected_factors:
                    total_factors += 1
                    if expected_factor in discovered_factors:
                        passed_recovery += 1
                    else:
                        print(
                            f"WARNING: Expected factor {expected_factor} of {n} not surfaced in candidate_factors"
                        )

            except Exception as e:
                print(f"ERROR: Failed to factor {n}: {e}")

        verification_rate = passed_recovery / total_factors if total_factors > 0 else 0

        # Should still verify at least 70% of known good factors
        self.assertGreaterEqual(
            verification_rate,
            0.7,
            f"Known factor verification rate {verification_rate:.1%} too low",
        )

        print(
            f"✓ Known good factors recovery: {passed_recovery}/{total_factors} ({verification_rate:.1%})"
        )

    def test_periodic_pattern_detection_accuracy(self):
        """Test that detection distinguishes true factors from non-factors.

        Uses ``candidate_factors`` to reflect the active decoding contract.
        """

        test_cases = [
            # (n, candidate, is_real_factor, expected_periodic)
            (35, 5, True, True),  # Real factor should show strong periodicity
            (35, 4, False, False),  # Non-factor should not show factor periodicity
            (35, 6, False, False),  # Close to factor but not a factor
            (77, 7, True, True),  # Real factor
            (77, 6, False, False),  # Close non-factor
            (77, 8, False, False),  # Close non-factor
        ]

        periodicity_accuracy = 0
        total_tests = 0

        for n, candidate, is_real_factor, expected_periodic in test_cases:
            # This would require access to the internal periodicity detection
            # For now, we test indirectly through factor certification
            try:
                result = self.factorizer.analyze(n, **self.factorizer_config)
                discovered_factors = set(
                    getattr(result, "candidate_factors", None) or []
                )
                is_certified = candidate in discovered_factors

                # Real factors should be certified, non-factors should not
                if is_real_factor == is_certified:
                    periodicity_accuracy += 1

                total_tests += 1

            except Exception as e:
                print(f"Periodicity test failed for n={n}, candidate={candidate}: {e}")

        accuracy_rate = periodicity_accuracy / total_tests if total_tests > 0 else 0
        self.assertGreaterEqual(
            accuracy_rate,
            0.8,
            f"Periodicity detection accuracy {accuracy_rate:.1%} too low",
        )

        print(
            f"✓ Periodic pattern detection accuracy: {periodicity_accuracy}/{total_tests} ({accuracy_rate:.1%})"
        )

    def _generate_false_positive_report(
        self, summary: Dict, false_positives: List, failures: List
    ):
        """Generate detailed false-positive test report."""

        report_path = self.cert_dir / "false_positive_test_report.json"

        report = {
            "timestamp": math.floor(os.times().elapsed * 1000),
            "test_summary": summary,
            "false_positives": [
                {
                    "n": fp[0].n,
                    "non_factor": fp[0].non_factor,
                    "reason": fp[0].reason,
                    "certified_factors": getattr(fp[1], "tnfr_certified_factors", []),
                }
                for fp in false_positives
            ],
            "verification_failures": [
                {
                    "n": vf[0].n,
                    "non_factor": vf[0].non_factor,
                    "reason": vf[0].reason,
                    "error": vf[1],
                }
                for vf in failures
            ],
            "verification_criteria": _TNFR_VERIFICATION_CRITERIA,
        }

        with open(report_path, "w") as f:
            json.dump(report, f, indent=2)

        print(f"Detailed false-positive test report saved: {report_path}")

        # Print category breakdown
        if summary["categories"]:
            print("\nFalse-positive breakdown by category:")
            for category, stats in summary["categories"].items():
                fp_rate = (
                    stats["false_positives"] / stats["total"]
                    if stats["total"] > 0
                    else 0
                )
                print(
                    f"  {category}: {stats['false_positives']}/{stats['total']} ({fp_rate:.1%})"
                )


def run_false_positive_tests():
    """Run the false-positive verifier test suite."""

    print("TNFR FALSE-POSITIVE VERIFIER TEST SUITE")
    print("=" * 50)
    print("Testing verifier resistance to non-factor periodic partitions...")
    print()

    # Create test suite
    suite = unittest.TestLoader().loadTestsFromTestCase(FalsePositiveVerifierTestSuite)

    # Run tests with detailed output
    runner = unittest.TextTestRunner(verbosity=2)
    result = runner.run(suite)

    # Summary
    print("\n" + "=" * 50)
    if result.wasSuccessful():
        print("✓ All false-positive verifier tests PASSED")
        print("The TNFR verifier demonstrates robust resistance to false positives")
    else:
        print("✗ Some false-positive verifier tests FAILED")
        print(f"Failures: {len(result.failures)}, Errors: {len(result.errors)}")

    return result.wasSuccessful()


if __name__ == "__main__":
    success = run_false_positive_tests()
    sys.exit(0 if success else 1)