Repository navigation
refactor(Circuit/Rational,Arithmetic): make 51 API and general declarations public again (#926) - #933
Conversation
…ations public again (#926) Earlier privatization passes (mostly #841) hid these declarations because nothing outside their module used them. Under the privatize-by-intent rule of #926 they are library API or general mathematics, so they become public again. Only the word `private` is removed; statements, proofs and names are unchanged. Part of #587. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB
|
Review requested from |
|
Review claimed by reviewer-claude-c4b0c164-01 (agent review) at c1c43e9. |
|
reviewer-claude-c4b0c164-01 — APPROVED at c1c43e9 (delegated-review exception, AGENTS.md; classification: un-privatization, statement-preserving) Evidence: against merge base |
Makes 51 declarations in Circuit/Rational and Circuit/Arithmetic public again (7 API, 44 general mathematics), across 18 files. Earlier passes made them
privatebecause nothing outside their module used them (#841 (49), 4bfb0e4 (2)). Under the privatize-by-intent rule of #926, they are library API or general mathematics, so a later contributor should find them instead of re-proving them. Part of the audit tracked on #587.Each change deletes the word
private; no statement, proof or name changes, and no declaration moves.Classification rule (#926, CONTRIBUTING "Public surface under the module system"):
Complexity/Foundationsand are listed below as follow-ups, not moved here.The other privatized declarations in this area were judged PLUMBING and stay private.
The 51 declarations
binaryMultiplicationCount_bitCircuit/Arithmetic/Power.leantotalDegree_booleanSum_leCircuit/Arithmetic/VNP.leanCircuit.aeval_polynomial_mvPolynomialCircuit/Arithmetic/VP.leanpolynomial_comp_projectionCircuitCircuit/Arithmetic/VP.leanTerm.cost_program_toCircuitCircuit/Arithmetic/Waring/Compilation.leanTerm.mulCost_toCircuitCircuit/Arithmetic/Waring/Compilation.leanTerm.addCost_toCircuitCircuit/Arithmetic/Waring/Compilation.leanratio_num_leCircuit/Rational/EncodingBounds.leanratio_den_leCircuit/Rational/EncodingBounds.leandeterminant_boundCircuit/Rational/EncodingBounds.leanupper_unitCircuit/Rational/Eval.leanlower_unitCircuit/Rational/Eval.leanschur_factorCircuit/Rational/Eval.leaninteger_gridCircuit/Rational/Generator.leanscaled_normalizationCircuit/Rational/IntegralLift.leanexists_independent_subfamilyCircuit/Rational/LaurentReduction.leanmatrix_inverse_leftCircuit/Rational/MatrixEval.leanmatrix_inverse_rightCircuit/Rational/MatrixEval.leancoeff_mul_support_supersetCircuit/Rational/QuantumMatrices.leanpower_finite_co_supportCircuit/Rational/QuantumSeries.leansum_map_drop_range_finCircuit/Rational/Runtime/Determinant.leannatAbs_sum_leCircuit/Rational/Runtime/Determinant.leannatAbs_take_sum_leCircuit/Rational/Runtime/Determinant.leandivInt_num_abs_eqCircuit/Rational/Runtime/Encode.leandivInt_den_eqCircuit/Rational/Runtime/Encode.leandivInt_sign_eqCircuit/Rational/Runtime/Encode.leannatAbs_pow_leCircuit/Rational/Runtime/Lift.leanval_finEquivCircuit/Rational/Runtime/Lift/Defs.leansum_range_eq_sum_finCircuit/Rational/Runtime/Lift/Defs.leansum_range_eq_sum_zmodCircuit/Rational/Runtime/Lift/Defs.leanval_sub_eq_modCircuit/Rational/Runtime/Lift/Defs.leansum_fin_val_le_squareCircuit/Rational/SmallExpansion.leandet_factor_column_ordersCircuit/Rational/Wronskian.leancoeff_scaled_derivative_atCircuit/Rational/Wronskian.leanscaled_derivative_orderCircuit/Rational/Wronskian.leanexists_degree_echelon_familyCircuit/Rational/Wronskian.leanorder_reflectCircuit/Rational/Wronskian.leanexists_order_echelon_familyCircuit/Rational/Wronskian.leanwronskian_linearCombinationCircuit/Rational/Wronskian.leanbasis_toMatrix_det_ne_zeroCircuit/Rational/Wronskian.leanwronskian_basis_changeCircuit/Rational/Wronskian.leanexists_order_echelon_basisCircuit/Rational/Wronskian.leanwronskian_basis_ne_zeroCircuit/Rational/Wronskian.leanderivative_taylorCircuit/Rational/Wronskian.leaniterate_derivative_taylorCircuit/Rational/Wronskian.leanwronskian_taylorCircuit/Rational/Wronskian.leannatDegree_wronskian_leCircuit/Rational/Wronskian.leansum_rootMultiplicity_le_natDegreeCircuit/Rational/Wronskian.leanwronskian_order_atCircuit/Rational/Wronskian.leanwronskian_basis_rootMultiplicityCircuit/Rational/Wronskian.leanlow_coefficients_force_zeroCircuit/Rational/Wronskian.leanFollow-up: Foundations candidates. These general facts should move to
Complexity/Foundationsin a later change:ratio_num_le,ratio_den_le,determinant_bound,upper_unit,lower_unit,schur_factor,integer_grid,scaled_normalization,exists_independent_subfamily,matrix_inverse_left,matrix_inverse_right,coeff_mul_support_superset,power_finite_co_support,sum_map_drop_range_fin,natAbs_sum_le,natAbs_take_sum_le,divInt_num_abs_eq,divInt_den_eq,divInt_sign_eq,natAbs_pow_le,val_finEquiv,sum_range_eq_sum_fin,sum_range_eq_sum_zmod,val_sub_eq_mod,sum_fin_val_le_square,det_factor_column_orders,coeff_scaled_derivative_at,scaled_derivative_order,exists_degree_echelon_family,order_reflect,exists_order_echelon_family,wronskian_linearCombination,basis_toMatrix_det_ne_zero,wronskian_basis_change,exists_order_echelon_basis,wronskian_basis_ne_zero,derivative_taylor,iterate_derivative_taylor,wronskian_taylor,natDegree_wronskian_le,sum_rootMultiplicity_le_natDegree,wronskian_order_at,wronskian_basis_rootMultiplicity,low_coefficients_force_zero.Re-proof found.
Circuits.Rational.sum_range_eq_sum_finhas an alpha-equivalent private copy,AffineDisperser.sum_map_rangeinComplexity/AffineDisperser/Coordinates.lean. Neither module imports the other, so the copy is left for the Foundations move, which can then delete it.Validation
At head
c1c43e94(base36f94d8d),LEAN_NUM_THREADS=6 scripts/check.sh:python3 -B scripts/check_tidy_surface.py: 1301 public tidy statements in 225 modules, matching the baseline.python3 -B scripts/check_hygiene.py --check-simp: all hygiene checks passed.Abstracts. No impact: no statement, definition or curated abstract changes.
AI disclosure. Prepared with Claude Code as
worker-claude-privaudit-c4b0c164, delegated bycoordinator-claude-c4b0c164-20261023.🤖 Generated with Claude Code
https://claude.ai/code/session_01Dvi6MU29zU9t8zYfeU51sB