Repository navigation
refactor(Logics,Algorithms,WordRAM): make 42 API and general declarations public again (#926) - #937
Conversation
…ions public again (#926) Earlier privatization passes (#601, #606 and #868) 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 5ed9cfe. |
|
reviewer-claude-c4b0c164-01 — APPROVED at 5ed9cfe (delegated-review exception, AGENTS.md; classification: un-privatization, statement-preserving) Agent review, not human approval. Against merge base Nonblocking (#926 spot-check):
|
Makes 42 declarations in Logics, Algorithms and Computability/WordRAM public again (37 API, 5 general mathematics), across 24 files. Earlier passes made them
privatebecause nothing outside their module used them (#868 (25), #601 (8), #606 (5), #634 (3), 036aad3 (1)). 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 42 declarations
listPredecessor_appendAlgorithms/Lean/FusionTree/Tree.leanlistPredecessorlistPredecessor_ne_none_iffAlgorithms/Lean/FusionTree/Tree.leanlistPredecessor_some_specAlgorithms/Lean/FusionTree/Tree.leanIsBitonic.min_le_max_halvesAlgorithms/Lean/Sort/Bitonic/Correctness.leanIsBitonicisBitonic_appendAlgorithms/Lean/Sort/Bitonic/Correctness.leansort_sortedAlgorithms/Lean/Sort/Bitonic/Correctness.leanstart_mem_searchAlgorithms/Reachability/BreadthFirst.leanreachable_ltAlgorithms/Reachability/InductiveCounting/Semantics.leanroundSet_zeroAlgorithms/Reachability/InductiveCounting/Semantics.leanmem_roundSet_succAlgorithms/Reachability/InductiveCounting/Semantics.leanmem_roundSet_finalAlgorithms/Reachability/InductiveCounting/Semantics.leanminimum_memAlgorithms/WordRAM/FusionTree/Preprocessing.leanminimumsuccessor_eq_leastAlgorithms/WordRAM/VanEmdeBoas/Call.leanmember_eq_false_of_max_ltAlgorithms/WordRAM/VanEmdeBoas/Member.leanmember_maximumAlgorithms/WordRAM/VanEmdeBoas/Member.leanclear_succWordRAM/Allocation.leancopyPrefix_succWordRAM/Copy.leanstep_halt_mono_widthWordRAM/Defs.leannext_mapOpWordRAM/MapOp.leanruns_mapOpWordRAM/MapOp.leaneval_congrWordRAM/Multiword/CircuitRun.leanadmissible_congrWordRAM/Multiword/CircuitRun.leanData.comap_extendWordRAM/Structured.leanData.extend/Data.comapData.extend_extendWordRAM/Structured.leanData.extendOp.eval_modifiesWordRAM/Trace.leanOp.evalwrites only its probed cellsisCarrySuccessor_of_lexRank_succLogics/FirstOrder/Ordered/TupleSuccessor.leanlexRankandIsCarrySuccessorsatisfiable_copies_iffLogics/FirstOrder/Problems/CNF.leanCopiesisThreeCNF_copies_iffLogics/FirstOrder/Problems/CNF.leanCopiessimpleGraph_copies_iffLogics/FirstOrder/Problems/Coloring.leanCopiesindependentSet_copies_iffLogics/FirstOrder/Problems/IndependentSetReduction.leanCopiesClause.length_split3Logics/Propositional/CNF/ThreeCNF.leanClause.split3CNF.IsExactThreeDistinct.expect_countUnsatLogics/Propositional/CNF/UnsatVal.leanClause.IsExactThreeDistinct.relabel_of_injOnLogics/Propositional/CNF/UnsatVal.leanexists_mul_pow_le_powLogics/Propositional/ClauseSet/Sparsification.leantoClauseSet_appendLogics/Propositional/ClauseSet/Sparsification/List.leantoClauseSet_monoLogics/Propositional/ClauseSet/Sparsification/List.leansubclause_eq_true_iffLogics/Propositional/ClauseSet/Sparsification/List.leantoFinset_filter_not_memLogics/Propositional/ClauseSet/Sparsification/List.leanDerives.exists_isProofLogics/Propositional/Resolution/Proof.leanexists_forall_parityOn_incidence_eq_xorLogics/Propositional/Tseitin.leanparityOn_univ_eq_false_of_forallLogics/Propositional/Tseitin.leanexists_forall_parityOn_incidence_eqLogics/Propositional/Tseitin.leanFollow-up: Foundations candidates. These general facts should move to
Complexity/Foundationsin a later change:exists_mul_pow_le_pow,toFinset_filter_not_mem,exists_forall_parityOn_incidence_eq_xor,parityOn_univ_eq_false_of_forall,exists_forall_parityOn_incidence_eq.Validation
At head
5ed9cfe7(base9a1dc195),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