funcprops 0.3.0__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {funcprops-0.3.0 → funcprops-0.4.0}/PKG-INFO +47 -24
- {funcprops-0.3.0 → funcprops-0.4.0}/README.md +45 -22
- {funcprops-0.3.0 → funcprops-0.4.0}/pyproject.toml +2 -2
- funcprops-0.4.0/src/funcprops/__init__.py +1052 -0
- funcprops-0.4.0/src/funcprops/_checkpoints.py +33 -0
- funcprops-0.4.0/src/funcprops/_semialg.py +499 -0
- funcprops-0.4.0/src/funcprops/_source_transport.py +72 -0
- funcprops-0.4.0/src/funcprops/adaptive_roots.py +607 -0
- funcprops-0.4.0/src/funcprops/algebraic_coefficients.py +202 -0
- funcprops-0.4.0/src/funcprops/algebraic_complex.py +625 -0
- funcprops-0.4.0/src/funcprops/analytic_contours.py +556 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/api.py +204 -29
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/assumption_closure.py +6 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/assumption_normalization.py +3 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/assumptions.py +22 -4
- funcprops-0.4.0/src/funcprops/asymptotic_tails.py +282 -0
- funcprops-0.4.0/src/funcprops/branch_atlas.py +462 -0
- funcprops-0.4.0/src/funcprops/branch_gluing.py +438 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/branchcuts/__init__.py +5 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/branchcuts/computation.py +37 -11
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/branchcuts/core.py +118 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/branchcuts/post_simplify.py +10 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/cache_control.py +16 -0
- funcprops-0.4.0/src/funcprops/certified_balls.py +119 -0
- funcprops-0.4.0/src/funcprops/certified_inequalities.py +437 -0
- funcprops-0.4.0/src/funcprops/certified_operations.py +1317 -0
- funcprops-0.4.0/src/funcprops/certified_optimization.py +249 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/complex_certification.py +113 -15
- funcprops-0.4.0/src/funcprops/complex_clusters.py +323 -0
- funcprops-0.4.0/src/funcprops/complex_cofinal.py +417 -0
- funcprops-0.4.0/src/funcprops/complex_coverage.py +211 -0
- funcprops-0.4.0/src/funcprops/complex_interval.py +404 -0
- funcprops-0.4.0/src/funcprops/complex_isolation.py +1043 -0
- funcprops-0.4.0/src/funcprops/complex_multiplicity.py +589 -0
- funcprops-0.4.0/src/funcprops/complex_newton.py +583 -0
- funcprops-0.4.0/src/funcprops/component_optimization.py +199 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/conditional.py +4 -0
- funcprops-0.4.0/src/funcprops/conditions.py +158 -0
- funcprops-0.4.0/src/funcprops/coverage_cells.py +26 -0
- funcprops-0.4.0/src/funcprops/coverage_checker.py +805 -0
- funcprops-0.4.0/src/funcprops/coverage_contract.py +321 -0
- funcprops-0.4.0/src/funcprops/coverage_search.py +427 -0
- funcprops-0.4.0/src/funcprops/data/catalogue.json +176657 -0
- funcprops-0.4.0/src/funcprops/data/proof_api_manifest.json +4691 -0
- funcprops-0.4.0/src/funcprops/derivative_inequalities.py +139 -0
- funcprops-0.4.0/src/funcprops/diagnostics.py +358 -0
- funcprops-0.4.0/src/funcprops/domain_tracking.py +546 -0
- funcprops-0.4.0/src/funcprops/enclosure_policy.py +49 -0
- funcprops-0.4.0/src/funcprops/enclosures.py +352 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/engine.py +77 -71
- funcprops-0.4.0/src/funcprops/entire_cancellation.py +95 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/exactness.py +31 -5
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/exceptions.py +3 -6
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/explanations.py +4 -0
- funcprops-0.4.0/src/funcprops/extrema_bounds.py +423 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/geometry.py +130 -55
- funcprops-0.4.0/src/funcprops/global_analysis.py +143 -0
- funcprops-0.4.0/src/funcprops/global_multivariate.py +254 -0
- funcprops-0.4.0/src/funcprops/guarded_affine.py +355 -0
- funcprops-0.4.0/src/funcprops/implicit_orders.py +595 -0
- funcprops-0.4.0/src/funcprops/infinite_checker.py +452 -0
- funcprops-0.4.0/src/funcprops/infinite_contract.py +115 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/infinite_root_families.py +28 -4
- funcprops-0.4.0/src/funcprops/infinite_roots.py +346 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/integration.py +16 -7
- funcprops-0.4.0/src/funcprops/local_analyticity.py +355 -0
- funcprops-0.4.0/src/funcprops/local_branches.py +108 -0
- funcprops-0.4.0/src/funcprops/meromorphic_contours.py +148 -0
- funcprops-0.4.0/src/funcprops/metric_proofs.py +403 -0
- funcprops-0.4.0/src/funcprops/multiple_root_checker.py +258 -0
- funcprops-0.4.0/src/funcprops/multiple_roots.py +157 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/multivariate_intervals.py +95 -19
- funcprops-0.4.0/src/funcprops/parameter_cells.py +240 -0
- funcprops-0.4.0/src/funcprops/parameter_checker.py +762 -0
- funcprops-0.4.0/src/funcprops/parameter_contract.py +317 -0
- funcprops-0.4.0/src/funcprops/parameter_coverage.py +562 -0
- funcprops-0.4.0/src/funcprops/parameter_discriminants.py +168 -0
- funcprops-0.4.0/src/funcprops/parameter_geometry.py +508 -0
- funcprops-0.4.0/src/funcprops/piecewise_proofs.py +229 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/proof_budget.py +8 -12
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/proof_cache.py +64 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/proof_explanations.py +4 -0
- funcprops-0.4.0/src/funcprops/proof_inventory.py +17 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/proof_telemetry.py +4 -0
- funcprops-0.4.0/src/funcprops/property_checker.py +472 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/property_composition.py +3 -1
- funcprops-0.4.0/src/funcprops/property_contract.py +117 -0
- funcprops-0.4.0/src/funcprops/property_coverage.py +286 -0
- funcprops-0.4.0/src/funcprops/quotient_cofinal.py +431 -0
- funcprops-0.4.0/src/funcprops/quotient_isolation.py +1617 -0
- funcprops-0.4.0/src/funcprops/quotient_refinement.py +317 -0
- funcprops-0.4.0/src/funcprops/real_analysis/__init__.py +1 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/advanced_convexity.py +13 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/boundedness.py +3 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/common.py +104 -3
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/complete_monotonicity.py +16 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/convexity.py +273 -34
- funcprops-0.4.0/src/funcprops/real_analysis/domain.py +447 -0
- funcprops-0.4.0/src/funcprops/real_analysis/hessian_bounds.py +307 -0
- funcprops-0.4.0/src/funcprops/real_analysis/image_rules.py +270 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/integrability.py +7 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/mapping.py +150 -41
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/monotonic_certificates.py +332 -45
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/monotonicity.py +113 -26
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/oscillation.py +17 -7
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/piecewise.py +20 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/range.py +316 -64
- funcprops-0.4.0/src/funcprops/real_analysis/regularity_extensions.py +362 -0
- funcprops-0.4.0/src/funcprops/real_analysis/restricted_simplify.py +73 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/sign.py +102 -35
- funcprops-0.4.0/src/funcprops/real_analysis/sign_rules.py +368 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/smoothness.py +23 -18
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/special_functions.py +30 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/structural_properties.py +368 -32
- funcprops-0.4.0/src/funcprops/real_analysis/variation.py +229 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/registry.py +148 -182
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/registry_derivatives.py +156 -31
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/registry_transport.py +7 -2
- funcprops-0.4.0/src/funcprops/regularity_evidence.py +462 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/results.py +70 -5
- funcprops-0.4.0/src/funcprops/root_coverage.py +527 -0
- funcprops-0.4.0/src/funcprops/seam_regularity.py +263 -0
- funcprops-0.4.0/src/funcprops/shared_zeros.py +437 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/singularities/analysis.py +4 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/singularities/geometry.py +1 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/singularities/records.py +43 -14
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/singularities/regularity.py +434 -95
- funcprops-0.4.0/src/funcprops/source_syntax.py +112 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/special_theorems.py +4 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/statistical_special_functions.py +18 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/stratification.py +74 -45
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/sympy_compare.py +4 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/taylor_models.py +54 -5
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/theorem_closure.py +4 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/theorem_registry.py +6 -0
- funcprops-0.4.0/src/funcprops/transcendental/__init__.py +1 -0
- funcprops-0.4.0/src/funcprops/transcendental/algebraize.py +397 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/analytic.py +17 -8
- funcprops-0.4.0/src/funcprops/transcendental/complex_roots.py +891 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/exp_fourier.py +5 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/extrema.py +65 -10
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/periodic.py +26 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/proof.py +6 -0
- funcprops-0.4.0/src/funcprops/transcendental/real_interval.py +270 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/real_sign.py +12 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/reduce.py +2 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/root_geometry.py +6 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/roots.py +132 -8
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/unified_real.py +5 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/transcendental/zero_geometry.py +39 -1
- funcprops-0.4.0/src/funcprops/transformation.py +760 -0
- funcprops-0.4.0/src/funcprops/verification.py +1152 -0
- funcprops-0.4.0/src/funcprops/verified_roots.py +149 -0
- funcprops-0.4.0/src/funcprops/work_budget.py +461 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops.egg-info/PKG-INFO +47 -24
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops.egg-info/SOURCES.txt +128 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops.egg-info/requires.txt +1 -1
- funcprops-0.4.0/tests/test_adaptive_root_coverage.py +182 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_advanced_property_families.py +7 -7
- funcprops-0.4.0/tests/test_algebraic_coefficient_support.py +138 -0
- funcprops-0.4.0/tests/test_algebraization_chart_soundness.py +176 -0
- funcprops-0.4.0/tests/test_algebraization_principal_branches.py +120 -0
- funcprops-0.4.0/tests/test_algroots_complex_adapter.py +291 -0
- funcprops-0.4.0/tests/test_analytic_contours.py +214 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_api_contract.py +3 -3
- funcprops-0.4.0/tests/test_branch_atlas.py +122 -0
- funcprops-0.4.0/tests/test_branch_gluing.py +172 -0
- funcprops-0.4.0/tests/test_budgeted_proof_composition.py +219 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_certified_global_analysis.py +9 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_certified_operations.py +5 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_certified_real_root_isolation.py +2 -2
- funcprops-0.4.0/tests/test_checkpoints.py +49 -0
- funcprops-0.4.0/tests/test_coefficient_routing.py +90 -0
- funcprops-0.4.0/tests/test_complex_clusters.py +91 -0
- funcprops-0.4.0/tests/test_complex_completion.py +505 -0
- funcprops-0.4.0/tests/test_complex_cover_assembly.py +481 -0
- funcprops-0.4.0/tests/test_complex_isolation_soundness.py +155 -0
- funcprops-0.4.0/tests/test_complex_newton.py +417 -0
- funcprops-0.4.0/tests/test_complex_operations_soundness.py +226 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_complex_root_isolation.py +0 -1
- funcprops-0.4.0/tests/test_compositional_proof_soundness.py +314 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_conditional_singularity_analysis.py +3 -3
- funcprops-0.4.0/tests/test_consistent_helper_proofs.py +208 -0
- funcprops-0.4.0/tests/test_consumer_soundness.py +229 -0
- funcprops-0.4.0/tests/test_coverage_guards.py +123 -0
- funcprops-0.4.0/tests/test_coverage_kernel.py +309 -0
- funcprops-0.4.0/tests/test_curvature_minimum_soundness.py +55 -0
- funcprops-0.4.0/tests/test_differential_soundness.py +220 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_dlmf_formula_audit.py +4 -5
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_dlmf_stratification.py +1 -1
- funcprops-0.4.0/tests/test_domain_and_mapping_soundness.py +184 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_domain_cell_root_isolation.py +1 -1
- funcprops-0.4.0/tests/test_domain_components_and_replay.py +345 -0
- funcprops-0.4.0/tests/test_enclosure_contracts.py +65 -0
- funcprops-0.4.0/tests/test_equation_and_contour_contracts.py +337 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_exported_helpers_and_replay.py +5 -61
- funcprops-0.4.0/tests/test_extension_budgets.py +81 -0
- funcprops-0.4.0/tests/test_extrema_bounds.py +141 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_extremum_ordering.py +3 -4
- funcprops-0.4.0/tests/test_finite_domain_properties.py +418 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_global_property_extensions.py +2 -2
- funcprops-0.4.0/tests/test_guarded_proofs_and_status.py +242 -0
- funcprops-0.4.0/tests/test_implicit_orders.py +214 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_integration_parametric_contours.py +1 -1
- funcprops-0.4.0/tests/test_local_branch_proofs.py +194 -0
- funcprops-0.4.0/tests/test_local_germ_and_equation_soundness.py +115 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_mathematical_soundness_regressions.py +3 -4
- funcprops-0.4.0/tests/test_metric_and_jump_properties.py +207 -0
- funcprops-0.4.0/tests/test_metric_replay.py +160 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_monotonicity_and_singularities.py +0 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_multivariate_certification.py +2 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_multivariate_singularity_loci.py +2 -2
- funcprops-0.4.0/tests/test_numeric_and_symbolic_exactness.py +180 -0
- funcprops-0.4.0/tests/test_parameter_case_soundness.py +79 -0
- funcprops-0.4.0/tests/test_parameter_geometry.py +193 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_parameter_prerequisite_soundness.py +21 -5
- funcprops-0.4.0/tests/test_parameter_root_coverage.py +191 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_parameterized_property_extensions.py +2 -2
- funcprops-0.4.0/tests/test_periodic_root_coverage.py +141 -0
- funcprops-0.4.0/tests/test_piecewise_partitions.py +103 -0
- funcprops-0.4.0/tests/test_practical_proofs.py +423 -0
- funcprops-0.4.0/tests/test_principal_branch_and_tail_soundness.py +121 -0
- funcprops-0.4.0/tests/test_proof_obligations.py +80 -0
- funcprops-0.4.0/tests/test_proof_payload_integrity.py +270 -0
- funcprops-0.4.0/tests/test_property_coverage.py +209 -0
- funcprops-0.4.0/tests/test_property_work_budgets.py +82 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_public_assumptions_contract.py +2 -3
- funcprops-0.4.0/tests/test_quadratic_images.py +125 -0
- funcprops-0.4.0/tests/test_quotient_isolation.py +581 -0
- funcprops-0.4.0/tests/test_quotient_shared_orders.py +499 -0
- funcprops-0.4.0/tests/test_quotient_soundness_audit.py +460 -0
- funcprops-0.4.0/tests/test_real_enclosures.py +249 -0
- funcprops-0.4.0/tests/test_real_multiplicity.py +129 -0
- funcprops-0.4.0/tests/test_real_output_domains.py +205 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_real_root_pipeline.py +1 -4
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry.py +2 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_derivative_certificates.py +1 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_localization.py +1 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_multiargument_paths.py +6 -7
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_multivariate_transport.py +2 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_native_families.py +0 -2
- funcprops-0.4.0/tests/test_registry_patterns.py +74 -0
- funcprops-0.4.0/tests/test_regularity_proof_soundness.py +227 -0
- funcprops-0.4.0/tests/test_restricted_property_soundness.py +180 -0
- funcprops-0.4.0/tests/test_restricted_transcendental_range.py +154 -0
- funcprops-0.4.0/tests/test_robustness_contracts.py +240 -0
- funcprops-0.4.0/tests/test_root_coverage_checker.py +307 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_semialg_delegation.py +1 -1
- funcprops-0.4.0/tests/test_shared_domain_facts.py +168 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_shared_monotonic_partition.py +1 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_shared_proof_cache.py +2 -2
- funcprops-0.4.0/tests/test_sign_routes.py +299 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_singularity_soundness_regressions.py +3 -3
- funcprops-0.4.0/tests/test_small_bug_fixes.py +110 -0
- funcprops-0.4.0/tests/test_source_binding.py +264 -0
- funcprops-0.4.0/tests/test_source_domain_contracts.py +232 -0
- funcprops-0.4.0/tests/test_source_transport.py +90 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_statistical_special_functions.py +1 -1
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_structural_properties.py +2 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_symbolic_property_families.py +20 -4
- funcprops-0.4.0/tests/test_tail_root_coverage.py +100 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_transcendental_algebraization.py +6 -8
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_transcendental_certification.py +10 -6
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_transformation_geometry.py +2 -2
- funcprops-0.4.0/tests/test_uniform_parameter_coverage.py +134 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_user_friendly_root_api.py +2 -2
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_zeros_mapping_and_smoothness.py +2 -1
- funcprops-0.3.0/src/funcprops/__init__.py +0 -485
- funcprops-0.3.0/src/funcprops/_semialg.py +0 -242
- funcprops-0.3.0/src/funcprops/asymptotic_tails.py +0 -131
- funcprops-0.3.0/src/funcprops/certified_balls.py +0 -61
- funcprops-0.3.0/src/funcprops/certified_inequalities.py +0 -86
- funcprops-0.3.0/src/funcprops/certified_operations.py +0 -769
- funcprops-0.3.0/src/funcprops/certified_optimization.py +0 -96
- funcprops-0.3.0/src/funcprops/conditions.py +0 -124
- funcprops-0.3.0/src/funcprops/data/catalogue.json +0 -127449
- funcprops-0.3.0/src/funcprops/derivative_inequalities.py +0 -48
- funcprops-0.3.0/src/funcprops/diagnostics.py +0 -23
- funcprops-0.3.0/src/funcprops/global_analysis.py +0 -48
- funcprops-0.3.0/src/funcprops/global_multivariate.py +0 -116
- funcprops-0.3.0/src/funcprops/meromorphic_contours.py +0 -83
- funcprops-0.3.0/src/funcprops/parameter_cells.py +0 -140
- funcprops-0.3.0/src/funcprops/parameter_discriminants.py +0 -91
- funcprops-0.3.0/src/funcprops/real_analysis/__init__.py +0 -64
- funcprops-0.3.0/src/funcprops/real_analysis/domain.py +0 -188
- funcprops-0.3.0/src/funcprops/real_analysis/regularity_extensions.py +0 -182
- funcprops-0.3.0/src/funcprops/real_analysis/variation.py +0 -81
- funcprops-0.3.0/src/funcprops/transcendental/__init__.py +0 -140
- funcprops-0.3.0/src/funcprops/transcendental/algebraize.py +0 -201
- funcprops-0.3.0/src/funcprops/transcendental/complex_roots.py +0 -529
- funcprops-0.3.0/src/funcprops/transcendental/real_interval.py +0 -129
- funcprops-0.3.0/src/funcprops/transformation.py +0 -415
- funcprops-0.3.0/src/funcprops/verification.py +0 -492
- funcprops-0.3.0/src/funcprops/verified_roots.py +0 -61
- {funcprops-0.3.0 → funcprops-0.4.0}/LICENSE +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/setup.cfg +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/data/dlmf_audit.json +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/data/registry_capabilities.json +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/dlmf.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/native_registry.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/differentiability.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/staging.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/real_analysis/zeros.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops/singularities/__init__.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops.egg-info/dependency_links.txt +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/src/funcprops.egg-info/top_level.txt +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_advanced_convexity.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_boundary_and_attainment_geometry.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_branchcut_core.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_branchcut_input_validation.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_branchcut_post_simplify.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_branchcut_restrictions.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_branchcuts_integration.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_cache_input_validation.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_certified_numerical_analysis.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_conditional_expression_inputs.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_derivative_cache.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_domain_inverse_branch_contracts.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_exactness_boundary.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_extended_regularity_integrability.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_indexed_extrema.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_indexed_tail_brackets.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_indexed_tail_inversion.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_native_property_regressions.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_piecewise_certified_analysis.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_public_option_semantics.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_registry_scalar_transport.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_result_and_cache_management.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_singularity_locus_api.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_transcendental_real_analysis.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_vocabulary.py +0 -0
- {funcprops-0.3.0 → funcprops-0.4.0}/tests/test_zero_geometry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: funcprops
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Symbolic analysis of real, complex, and multivariate function properties for SymPy
|
|
5
5
|
Author-email: Bhuvanesh Bhatt <bhuvaneshbhatt@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-only
|
|
@@ -24,7 +24,7 @@ Description-Content-Type: text/markdown
|
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
Requires-Dist: sympy>=1.14
|
|
26
26
|
Requires-Dist: mpmath>=1.3
|
|
27
|
-
Requires-Dist: semialg>=1.3.
|
|
27
|
+
Requires-Dist: semialg>=1.3.2
|
|
28
28
|
Requires-Dist: exprtest>=0.1.0
|
|
29
29
|
Provides-Extra: test
|
|
30
30
|
Requires-Dist: pytest>=8; extra == "test"
|
|
@@ -37,7 +37,7 @@ Dynamic: license-file
|
|
|
37
37
|
|
|
38
38
|
# funcprops
|
|
39
39
|
|
|
40
|
-
`funcprops` is a SymPy-backed package for global mathematical properties of real, complex, and multivariate functions — including domains, ranges, zeros, monotonicity, convexity, regularity, singularities, extrema, mapping properties, and transformation geometry —while supporting assumptions, parameter-dependent answers, and replayable proof certificates. It combines a conditional function property registry, exact semialgebraic reasoning from the semialgebraic geometry package `semialg`, transcendental interval analysis, special-function zero geometry, and branch-cut/singularity analysis.
|
|
40
|
+
`funcprops` is a SymPy-backed package for global mathematical properties of real, complex, and multivariate functions — including domains, ranges, zeros, monotonicity, convexity, regularity, singularities, extrema, mapping properties, and transformation geometry —while supporting assumptions, parameter-dependent answers, and replayable proof certificates. It combines a conditional function property registry, exact semialgebraic reasoning from the semialgebraic geometry package `semialg`, exact algebraic geometry from `algroots`, transcendental interval analysis, special-function zero geometry, and branch-cut/singularity analysis.
|
|
41
41
|
|
|
42
42
|
When a result cannot be established by the available symbolic, semialgebraic, theorem-based, or validated numerical methods, `funcprops` preserves unresolved conditions or returns "unknown" for the result.
|
|
43
43
|
|
|
@@ -47,7 +47,7 @@ When a result cannot be established by the available symbolic, semialgebraic, th
|
|
|
47
47
|
pip install funcprops
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
The runtime requires Python 3.11+, SymPy 1.14+, mpmath 1.3+, semialg 1.3+ and exprtest 0.1.0+.
|
|
50
|
+
The runtime requires Python 3.11+, SymPy 1.14+, mpmath 1.3+, semialg 1.3.2+, algroots 0.3.0+ and exprtest 0.1.0+.
|
|
51
51
|
|
|
52
52
|
## Quick start
|
|
53
53
|
|
|
@@ -115,7 +115,7 @@ Root-level property queries return exact classifications when the available proo
|
|
|
115
115
|
|
|
116
116
|
## Result conventions
|
|
117
117
|
|
|
118
|
-
Mathematical values are the default. Boolean-style properties use `TruthValue.TRUE`, `TruthValue.FALSE`, and `TruthValue.UNKNOWN`; categorical properties use their corresponding enum with an `UNKNOWN` member.
|
|
118
|
+
Mathematical values are the default. Boolean-style properties use `TruthValue.TRUE`, `TruthValue.FALSE`, and `TruthValue.UNKNOWN`; categorical properties use their corresponding enum with an `UNKNOWN` member. Parameter dependence is represented by `PropertyResult`.
|
|
119
119
|
|
|
120
120
|
Detailed results are opt-in (via the option return_result=True) and consistent across the root API:
|
|
121
121
|
|
|
@@ -129,7 +129,7 @@ In notebooks, conditional and detailed results render as compact tables so the m
|
|
|
129
129
|
|
|
130
130
|
## Real-domain analysis
|
|
131
131
|
|
|
132
|
-
`funcprops` owns the public property vocabulary. For semialgebraic functions on
|
|
132
|
+
`funcprops` owns the public property vocabulary. For semialgebraic functions on semalgebraic real domains it delegates exact domain, range, sign, monotonicity, convexity, smoothness, and mapping problems to `semialg`, while retaining stronger `funcprops` certificates when they are already available.
|
|
133
133
|
|
|
134
134
|
The main real-analysis queries are:
|
|
135
135
|
|
|
@@ -189,6 +189,12 @@ For an explicit coordinate map, `funcprops` can compute and certify:
|
|
|
189
189
|
|
|
190
190
|
A nonzero Jacobian determinant proves local invertibility, not global injectivity. The API keeps those claims separate so change-of-variables reasoning does not silently overstate a local theorem.
|
|
191
191
|
|
|
192
|
+
## Special-function registry and provenance
|
|
193
|
+
|
|
194
|
+
The conditional registry stores audited special-function metadata and exact parameter guards in deterministic SymPy constructor syntax. Concrete overloads are matched before guards are instantiated, and more-specific rules take precedence over generic ones.
|
|
195
|
+
|
|
196
|
+
Selected identities and real-variable facts are cross-checked against the NIST Digital Library of Mathematical Functions (DLMF). The machine-readable audit manifest is `src/funcprops/data/dlmf_audit.json`; see [the DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf-coverage.md).
|
|
197
|
+
|
|
192
198
|
## Statistical special functions
|
|
193
199
|
|
|
194
200
|
The theorem registry includes probability- and statistics-oriented facts for `loggamma`, digamma/polygamma, incomplete and regularized Gamma/Beta functions, `erf`/`erfc`, modified Bessel families, and generalized Marcum Q.
|
|
@@ -201,13 +207,7 @@ For statistical functions not represented by the supported SymPy release, `funcp
|
|
|
201
207
|
|
|
202
208
|
These heads are simply symbolic theorem carriers, not replacements for numerical libraries. Parameter-sensitive statements are guarded: outside a certified parameter/domain stratum the property engine returns a conditional or unknown result. Complete-monotonicity support includes elementary exponential kernels, Pollard-type Mittag-Leffler results, and supported Bessel-K regimes.
|
|
203
209
|
|
|
204
|
-
See [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/
|
|
205
|
-
|
|
206
|
-
## Special-function registry and provenance
|
|
207
|
-
|
|
208
|
-
The conditional registry stores audited special-function metadata and exact parameter guards in deterministic SymPy constructor syntax. Concrete overloads are matched before guards are instantiated, and more-specific rules take precedence over generic ones.
|
|
209
|
-
|
|
210
|
-
Selected identities and real-variable facts are cross-checked against the NIST Digital Library of Mathematical Functions (DLMF). The machine-readable audit manifest is `src/funcprops/data/dlmf_audit.json`; see [the DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf_audit.md).
|
|
210
|
+
See [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/statistical-special-functions.md) for the current theorem coverage and provenance notes.
|
|
211
211
|
|
|
212
212
|
## Proof cache and certificate replay
|
|
213
213
|
|
|
@@ -215,20 +215,43 @@ Reusable proof primitives are coordinated through lazy `PropertyProofContext` ob
|
|
|
215
215
|
|
|
216
216
|
Proof objects can be "replayed" with `verify_certificate()` and specialized verifiers. For replay, an undecidable comparison never counts as a successful verification.
|
|
217
217
|
|
|
218
|
+
## Capabilities and limits
|
|
219
|
+
|
|
220
|
+
| Task | Supported scope | Completion boundary |
|
|
221
|
+
| --- | --- | --- |
|
|
222
|
+
| Domains, range and sign | Structural rules, exact restriction transfer, selected semialgebraic and elementary families | Source definition and every requested restriction remain premises |
|
|
223
|
+
| Shape and regularity | Monotonicity, convexity, symmetry, periodicity, finite metric constants, variation and supported Piecewise seams | Cell coverage, global order and replay support are separate |
|
|
224
|
+
| Exact coefficients | Up to four real algebraic constants in a field of degree at most four | Larger fields and coefficient parameters can decline the lift |
|
|
225
|
+
| Parameter roots | Selected uniform families and rational polynomial geometry of degree at most four with up to four real parameters | Every parameter region needs a count or an explicit unresolved status |
|
|
226
|
+
| Real roots and extrema | Compact covers, selected multiple roots, periodic families, tails and outward extrema bounds | Every source region needs a root or exclusion proof |
|
|
227
|
+
| Complex roots and poles | Algebraic enumeration, supported entire/quotient contours, subdivision and Newton refinement | Declared grammar, rational rectangles, source guards and clear boundaries |
|
|
228
|
+
| Branches and local analysis | Finite atlases, supplied holomorphic recipes, implicit orders, residues, selected essential-series/classification rules and continuation | Selected local values do not redefine global principal expressions; essential-singularity isolation is unsupported |
|
|
229
|
+
| Certified operations | Supported equations, inverses, integration, winding and homotopy | Each operation has its own premises and replay contract |
|
|
230
|
+
|
|
231
|
+
General transcendental parameter geometry, automatic discovery of arbitrary implicit branches, unrestricted branch-surface gluing, arbitrary analytic common-factor discovery and essential-singularity isolation remain capability gaps. Bounded work can leave supported problems partial. See the [full matrix](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md), [result contracts](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/reference/result-contracts.md) and [troubleshooting](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/troubleshooting.md).
|
|
232
|
+
|
|
218
233
|
## Documentation and examples
|
|
219
234
|
|
|
220
|
-
- [
|
|
221
|
-
- [
|
|
222
|
-
- [
|
|
223
|
-
- [
|
|
224
|
-
- [
|
|
225
|
-
- [
|
|
235
|
+
- [Documentation index](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/index.md)
|
|
236
|
+
- [Function property reference](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/properties/index.md) — canonical reference pages for every public function property
|
|
237
|
+
- [Working with results, assumptions, certificates, and caches](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/using-results.md)
|
|
238
|
+
- [Executable tutorial notebook](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/notebooks/function-properties-tour.ipynb) — generated from the same canonical example corpus used by the reference pages
|
|
239
|
+
- [Task tutorials by level](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/tutorials/index.md)
|
|
240
|
+
- [Runnable examples](https://github.com/BhuvaneshBhatt/funcprops/blob/main/examples/README.md)
|
|
241
|
+
- [Workflow notebook](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/notebooks/certified-workflows.ipynb)
|
|
242
|
+
- [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/statistical-special-functions.md)
|
|
243
|
+
- [Mathematical conventions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/mathematical-conventions.md)
|
|
244
|
+
- [Complex analysis](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/complex-analysis.md)
|
|
245
|
+
- [Homotopy and contour deformation](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/homotopy.md)
|
|
246
|
+
- [Capability matrix and limitations](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md)
|
|
247
|
+
- [Architecture](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/architecture.md)
|
|
248
|
+
- [Proof design](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/design/index.md)
|
|
249
|
+
- [Testing](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/testing.md)
|
|
250
|
+
- [DLMF property-table audit](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf-coverage.md)
|
|
251
|
+
- [Source semantics](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/source-semantics.md)
|
|
252
|
+
- [Domains and branches](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/domains-and-branches.md)
|
|
253
|
+
- [Budgets](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/budgets-and-resume.md)
|
|
226
254
|
- [Certification model](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/certification.md)
|
|
227
|
-
- [Certified complex analysis](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/complex_analysis.md).
|
|
228
|
-
- [Homotopy and contour deformation](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/homotopy.md).
|
|
229
|
-
- [Capability matrix and limitations](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md).
|
|
230
|
-
- [Worked examples](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/examples.md).
|
|
231
|
-
- [DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf_audit.md).
|
|
232
255
|
|
|
233
256
|
The canonical examples live in `examples/property_examples.py`. Documentation specification tests execute those examples and verify that the reference and notebook stay synchronized with the public API.
|
|
234
257
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# funcprops
|
|
2
2
|
|
|
3
|
-
`funcprops` is a SymPy-backed package for global mathematical properties of real, complex, and multivariate functions — including domains, ranges, zeros, monotonicity, convexity, regularity, singularities, extrema, mapping properties, and transformation geometry —while supporting assumptions, parameter-dependent answers, and replayable proof certificates. It combines a conditional function property registry, exact semialgebraic reasoning from the semialgebraic geometry package `semialg`, transcendental interval analysis, special-function zero geometry, and branch-cut/singularity analysis.
|
|
3
|
+
`funcprops` is a SymPy-backed package for global mathematical properties of real, complex, and multivariate functions — including domains, ranges, zeros, monotonicity, convexity, regularity, singularities, extrema, mapping properties, and transformation geometry —while supporting assumptions, parameter-dependent answers, and replayable proof certificates. It combines a conditional function property registry, exact semialgebraic reasoning from the semialgebraic geometry package `semialg`, exact algebraic geometry from `algroots`, transcendental interval analysis, special-function zero geometry, and branch-cut/singularity analysis.
|
|
4
4
|
|
|
5
5
|
When a result cannot be established by the available symbolic, semialgebraic, theorem-based, or validated numerical methods, `funcprops` preserves unresolved conditions or returns "unknown" for the result.
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ When a result cannot be established by the available symbolic, semialgebraic, th
|
|
|
10
10
|
pip install funcprops
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
The runtime requires Python 3.11+, SymPy 1.14+, mpmath 1.3+, semialg 1.3+ and exprtest 0.1.0+.
|
|
13
|
+
The runtime requires Python 3.11+, SymPy 1.14+, mpmath 1.3+, semialg 1.3.2+, algroots 0.3.0+ and exprtest 0.1.0+.
|
|
14
14
|
|
|
15
15
|
## Quick start
|
|
16
16
|
|
|
@@ -78,7 +78,7 @@ Root-level property queries return exact classifications when the available proo
|
|
|
78
78
|
|
|
79
79
|
## Result conventions
|
|
80
80
|
|
|
81
|
-
Mathematical values are the default. Boolean-style properties use `TruthValue.TRUE`, `TruthValue.FALSE`, and `TruthValue.UNKNOWN`; categorical properties use their corresponding enum with an `UNKNOWN` member.
|
|
81
|
+
Mathematical values are the default. Boolean-style properties use `TruthValue.TRUE`, `TruthValue.FALSE`, and `TruthValue.UNKNOWN`; categorical properties use their corresponding enum with an `UNKNOWN` member. Parameter dependence is represented by `PropertyResult`.
|
|
82
82
|
|
|
83
83
|
Detailed results are opt-in (via the option return_result=True) and consistent across the root API:
|
|
84
84
|
|
|
@@ -92,7 +92,7 @@ In notebooks, conditional and detailed results render as compact tables so the m
|
|
|
92
92
|
|
|
93
93
|
## Real-domain analysis
|
|
94
94
|
|
|
95
|
-
`funcprops` owns the public property vocabulary. For semialgebraic functions on
|
|
95
|
+
`funcprops` owns the public property vocabulary. For semialgebraic functions on semalgebraic real domains it delegates exact domain, range, sign, monotonicity, convexity, smoothness, and mapping problems to `semialg`, while retaining stronger `funcprops` certificates when they are already available.
|
|
96
96
|
|
|
97
97
|
The main real-analysis queries are:
|
|
98
98
|
|
|
@@ -152,6 +152,12 @@ For an explicit coordinate map, `funcprops` can compute and certify:
|
|
|
152
152
|
|
|
153
153
|
A nonzero Jacobian determinant proves local invertibility, not global injectivity. The API keeps those claims separate so change-of-variables reasoning does not silently overstate a local theorem.
|
|
154
154
|
|
|
155
|
+
## Special-function registry and provenance
|
|
156
|
+
|
|
157
|
+
The conditional registry stores audited special-function metadata and exact parameter guards in deterministic SymPy constructor syntax. Concrete overloads are matched before guards are instantiated, and more-specific rules take precedence over generic ones.
|
|
158
|
+
|
|
159
|
+
Selected identities and real-variable facts are cross-checked against the NIST Digital Library of Mathematical Functions (DLMF). The machine-readable audit manifest is `src/funcprops/data/dlmf_audit.json`; see [the DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf-coverage.md).
|
|
160
|
+
|
|
155
161
|
## Statistical special functions
|
|
156
162
|
|
|
157
163
|
The theorem registry includes probability- and statistics-oriented facts for `loggamma`, digamma/polygamma, incomplete and regularized Gamma/Beta functions, `erf`/`erfc`, modified Bessel families, and generalized Marcum Q.
|
|
@@ -164,13 +170,7 @@ For statistical functions not represented by the supported SymPy release, `funcp
|
|
|
164
170
|
|
|
165
171
|
These heads are simply symbolic theorem carriers, not replacements for numerical libraries. Parameter-sensitive statements are guarded: outside a certified parameter/domain stratum the property engine returns a conditional or unknown result. Complete-monotonicity support includes elementary exponential kernels, Pollard-type Mittag-Leffler results, and supported Bessel-K regimes.
|
|
166
172
|
|
|
167
|
-
See [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/
|
|
168
|
-
|
|
169
|
-
## Special-function registry and provenance
|
|
170
|
-
|
|
171
|
-
The conditional registry stores audited special-function metadata and exact parameter guards in deterministic SymPy constructor syntax. Concrete overloads are matched before guards are instantiated, and more-specific rules take precedence over generic ones.
|
|
172
|
-
|
|
173
|
-
Selected identities and real-variable facts are cross-checked against the NIST Digital Library of Mathematical Functions (DLMF). The machine-readable audit manifest is `src/funcprops/data/dlmf_audit.json`; see [the DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf_audit.md).
|
|
173
|
+
See [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/statistical-special-functions.md) for the current theorem coverage and provenance notes.
|
|
174
174
|
|
|
175
175
|
## Proof cache and certificate replay
|
|
176
176
|
|
|
@@ -178,20 +178,43 @@ Reusable proof primitives are coordinated through lazy `PropertyProofContext` ob
|
|
|
178
178
|
|
|
179
179
|
Proof objects can be "replayed" with `verify_certificate()` and specialized verifiers. For replay, an undecidable comparison never counts as a successful verification.
|
|
180
180
|
|
|
181
|
+
## Capabilities and limits
|
|
182
|
+
|
|
183
|
+
| Task | Supported scope | Completion boundary |
|
|
184
|
+
| --- | --- | --- |
|
|
185
|
+
| Domains, range and sign | Structural rules, exact restriction transfer, selected semialgebraic and elementary families | Source definition and every requested restriction remain premises |
|
|
186
|
+
| Shape and regularity | Monotonicity, convexity, symmetry, periodicity, finite metric constants, variation and supported Piecewise seams | Cell coverage, global order and replay support are separate |
|
|
187
|
+
| Exact coefficients | Up to four real algebraic constants in a field of degree at most four | Larger fields and coefficient parameters can decline the lift |
|
|
188
|
+
| Parameter roots | Selected uniform families and rational polynomial geometry of degree at most four with up to four real parameters | Every parameter region needs a count or an explicit unresolved status |
|
|
189
|
+
| Real roots and extrema | Compact covers, selected multiple roots, periodic families, tails and outward extrema bounds | Every source region needs a root or exclusion proof |
|
|
190
|
+
| Complex roots and poles | Algebraic enumeration, supported entire/quotient contours, subdivision and Newton refinement | Declared grammar, rational rectangles, source guards and clear boundaries |
|
|
191
|
+
| Branches and local analysis | Finite atlases, supplied holomorphic recipes, implicit orders, residues, selected essential-series/classification rules and continuation | Selected local values do not redefine global principal expressions; essential-singularity isolation is unsupported |
|
|
192
|
+
| Certified operations | Supported equations, inverses, integration, winding and homotopy | Each operation has its own premises and replay contract |
|
|
193
|
+
|
|
194
|
+
General transcendental parameter geometry, automatic discovery of arbitrary implicit branches, unrestricted branch-surface gluing, arbitrary analytic common-factor discovery and essential-singularity isolation remain capability gaps. Bounded work can leave supported problems partial. See the [full matrix](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md), [result contracts](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/reference/result-contracts.md) and [troubleshooting](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/troubleshooting.md).
|
|
195
|
+
|
|
181
196
|
## Documentation and examples
|
|
182
197
|
|
|
183
|
-
- [
|
|
184
|
-
- [
|
|
185
|
-
- [
|
|
186
|
-
- [
|
|
187
|
-
- [
|
|
188
|
-
- [
|
|
198
|
+
- [Documentation index](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/index.md)
|
|
199
|
+
- [Function property reference](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/properties/index.md) — canonical reference pages for every public function property
|
|
200
|
+
- [Working with results, assumptions, certificates, and caches](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/using-results.md)
|
|
201
|
+
- [Executable tutorial notebook](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/notebooks/function-properties-tour.ipynb) — generated from the same canonical example corpus used by the reference pages
|
|
202
|
+
- [Task tutorials by level](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/tutorials/index.md)
|
|
203
|
+
- [Runnable examples](https://github.com/BhuvaneshBhatt/funcprops/blob/main/examples/README.md)
|
|
204
|
+
- [Workflow notebook](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/notebooks/certified-workflows.ipynb)
|
|
205
|
+
- [Statistical special functions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/statistical-special-functions.md)
|
|
206
|
+
- [Mathematical conventions](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/mathematical-conventions.md)
|
|
207
|
+
- [Complex analysis](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/complex-analysis.md)
|
|
208
|
+
- [Homotopy and contour deformation](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/homotopy.md)
|
|
209
|
+
- [Capability matrix and limitations](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md)
|
|
210
|
+
- [Architecture](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/architecture.md)
|
|
211
|
+
- [Proof design](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/design/index.md)
|
|
212
|
+
- [Testing](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/testing.md)
|
|
213
|
+
- [DLMF property-table audit](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf-coverage.md)
|
|
214
|
+
- [Source semantics](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/source-semantics.md)
|
|
215
|
+
- [Domains and branches](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/domains-and-branches.md)
|
|
216
|
+
- [Budgets](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/guides/budgets-and-resume.md)
|
|
189
217
|
- [Certification model](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/certification.md)
|
|
190
|
-
- [Certified complex analysis](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/complex_analysis.md).
|
|
191
|
-
- [Homotopy and contour deformation](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/homotopy.md).
|
|
192
|
-
- [Capability matrix and limitations](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/capabilities.md).
|
|
193
|
-
- [Worked examples](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/examples.md).
|
|
194
|
-
- [DLMF audit methodology](https://github.com/BhuvaneshBhatt/funcprops/blob/main/docs/dlmf_audit.md).
|
|
195
218
|
|
|
196
219
|
The canonical examples live in `examples/property_examples.py`. Documentation specification tests execute those examples and verify that the reference and notebook stay synchronized with the public API.
|
|
197
220
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "funcprops"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.4.0"
|
|
8
8
|
description = "Symbolic analysis of real, complex, and multivariate function properties for SymPy"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -13,7 +13,7 @@ authors = [{name = "Bhuvanesh Bhatt", email = "bhuvaneshbhatt@gmail.com"}]
|
|
|
13
13
|
dependencies = [
|
|
14
14
|
"sympy>=1.14",
|
|
15
15
|
"mpmath>=1.3",
|
|
16
|
-
"semialg>=1.3.
|
|
16
|
+
"semialg>=1.3.2",
|
|
17
17
|
"exprtest>=0.1.0",
|
|
18
18
|
]
|
|
19
19
|
keywords = [
|