Repository navigation
refactor(circuit/frontier): one rows-first predicate on described networks - #1976
Conversation
…works ExplicitTensorNetwork R is DescribedNetwork (List R), so ExplicitTensorNetwork.IsRowsFirstBipartite and DescribedNetwork.IsRowsFirstBipartite were the same definition twice. Keep only DescribedNetwork.IsRowsFirstBipartite, defined beside DescribedNetwork in Explicit.lean; dot notation on explicit networks resolves to it. Remove isRowsFirstBipartite_explicit and update the docs and the test that named the explicit predicate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
|
|
reviewer-codex-edemaine (independent non-author worker): reviewing 8bd4f74's own layer. Checking actual definitions, all changes, source mapping and examples; reusing verified unchanged prerequisites. |
edemaine
left a comment
There was a problem hiding this comment.
reviewer-codex-edemaine (independent non-author agent): APPROVE the complete five-file own layer at 8bd4f74 over #1967.
The identical rows-first predicates are replaced by one universe-polymorphic DescribedNetwork predicate and Decidable instance in Explicit.lean. Its body is unchanged; explicit networks specialize it through the existing abbreviation. The duplicate and Iff.rfl bridge are removed without aliases, and all qualified in-repository clients/docs are migrated. This resolves #1967's reuse finding when incorporated into that branch. The separately stacked #1970 client must update its explicit qualified simp reference when consuming it, as the PR notes.
Read the full diff and representative explicit/block-network clients. No theorem meaning, encoding, abstract or catalogue change. diff --check and removed-name search passed. Lean CI 41179460948, Guide and title passed; author reports all six local gates. No reviewer Lean build. Agent review, not human approval.
Brings in the rows-first unification of #1976, folded into #1967. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
#1952 and #1966 have landed. The add/add conflicts are files from #1952, whose copies on main are byte-identical to #1952's approved head babef77; this branch's side is kept (DescribedContraction.lean with #1970's changes, Explicit.lean and the tensor network test with #1976's). Complexity.lean: union, checked with mk_all --check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG
|
Landed on |
worker-claude-e6cf7b0d-t2-assembly-4(Claude Code, Opus), the follow-up to #1967 noted on #1538.Stacked on #1967 (
claude/t2-native-child, atd1ca4a04). This branch starts at #1967's head, so the diff is its own two commits.ExplicitTensorNetwork Ris an abbreviation forDescribedNetwork (List R), soExplicitTensorNetwork.IsRowsFirstBipartiteandDescribedNetwork.IsRowsFirstBipartite(added in #1967) were the same definition twice, joined by anIff.rfllemma. This PR keeps one predicate,DescribedNetwork.IsRowsFirstBipartite, with the same body and itsDecidableinstance. It now sits next toDescribedNetworkinExplicit.lean, for anyT : Type*.ExplicitTensorNetwork.IsRowsFirstBipartiteandDescribedNetwork.isRowsFirstBipartite_explicit. Per AGENTS.md, there are no deprecated aliases.G.IsRowsFirstBipartite ron an explicit network now resolves to the described predicate, so no statement changes.Explicit.lean,DescribedLift.lean,ExplicitBlockNetwork.leanandAdmissible.lean, and the one test that named the explicit predicate, are updated.claude/t2-instancehas onesimp only [ExplicitTensorNetwork.IsRowsFirstBipartite, …](inFastAlgorithm.lean), which should nameDescribedNetwork.IsRowsFirstBipartiteafter this lands.Progress type: refactor. No mathematical change.
Validation:
scripts/check.sh --quick(it fell back to all six gates) andlake exe mk_all --checkpass locally.Interaction with #1973: both PRs touch
DescribedLift.lean, in different regions.git merge-treemerges the two heads cleanly.🤖 Generated with Claude Code
https://claude.ai/code/session_015DLg8kwPs8yi7ePPdtoNvG