Skip to content

Commit a285aa1

Browse files
nikswamyCopilot
andcommitted
Update TEST_REVIEW_REPORT.md: mark P1 spec gaps as resolved
4 of 5 P1 items resolved: - BST Array: insert_will_succeed characterization - CountingSort: counting_sort_by_digit test - DFS: edge classification predicates in Graph.Common - Prim: is_full_vec postcondition Remaining: DFS white-path theorem connection to Impl.fsti Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 46251f3 commit a285aa1

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

autoclrs/TEST_REVIEW_REPORT.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -478,13 +478,13 @@ witness without claiming to enumerate all admissible outputs.
478478

479479
### Priority 1: Specification Gaps
480480

481-
| Algorithm | Gap | Suggested Fix |
482-
|-----------|-----|---------------|
483-
| **BST Array (Ch12)** | Insert success/failure not characterized | Add `success ⟺ insertion_path_in_bounds(tree, key, cap)` |
484-
| **Counting Sort (Ch08)** | `counting_sort_by_digit` untested; stability unverified | Test the by-digit variant; prove stability (`equal keys preserve order`) |
485-
| **DFS (Ch22)** | Edge classification (tree/back/forward/cross) not in `Impl.fsti` | Expose `edge_type` predicate in interface |
486-
| **DFS (Ch22)** | White-path theorem not formalized | Add as lemma in spec module |
487-
| **Prim (Ch23)** | Postcondition lacks `is_full_vec` for returned vectors | Add to ensure callers can free without `drop_` |
481+
| Algorithm | Gap | Status |
482+
|-----------|-----|--------|
483+
| **BST Array (Ch12)** | Insert success/failure not characterized | **Resolved** — Added `insert_will_succeed` predicate; postcondition now has `success == insert_will_succeed keys valid cap 0 key` |
484+
| **Counting Sort (Ch08)** | `counting_sort_by_digit` untested |**Resolved**Test exercises by-digit sort with base=10, d=0; extracts permutation + sorted_on_digit from opaque stability predicate |
485+
| **DFS (Ch22)** | Edge classification not in interface | **Resolved** — Added `is_back_edge`, `is_tree_or_forward_edge`, `is_cross_edge` to Graph.Common; test classifies edges at runtime |
486+
| **DFS (Ch22)** | White-path theorem not formalized | Open — exists in DFS.WhitePath.fst but not connected to Impl.fsti postcondition |
487+
| **Prim (Ch23)** | Postcondition lacks `is_full_vec` for returned vectors | **Resolved** — Added `V.is_full_vec (fst res) /\ V.is_full_vec (snd res)`; ImplTest uses `V.free` instead of `drop_` |
488488

489489
### Priority 2: Test Coverage Expansion
490490

0 commit comments

Comments
 (0)