▸case-01 I'm implementing a binary search algorithm and need to formally verify that it correctly finds the target element. The algorithm keeps halving the search space while low <= high. Please generate a formal proof for the claim that 'Binary search returns the correct index or -1 if absent' using a loop invariant approach. Return a structured breakdown containing the verification outcome, the text of the formal proof, an array of proof steps, and any missing logical gaps. | fail→pass | 16,014 | 13,020 | -19% | 1 | 1 | 0% | 3,532 | 3,106 | -12% | 0 | 0 | — |
▸case-02 Here is a claim about my recursive binary tree height function: 'The function returns the exact maximum distance from root to leaf for any valid tree.' I want to prove this using structural induction over the tree nodes. Please review my claim against recursive tree evaluation and return a structured response indicating if the proof generation succeeded, the complete formal proof writeup, an outline array of base and composite cases, and any gaps identified. | fail→pass | 15,727 | 11,971 | -24% | 1 | 1 | 0% | 3,381 | 2,798 | -17% | 0 | 0 | — |
▸case-03 Write an SMT-LIB v2 script to verify that if x = y, then f(x) = f(y). Declare an uninterpreted sort `U`, two constants `x` and `y` of sort `U`, and an uninterpreted function `f` taking `U` to `U`. Express the benchmark in QF_UF logic. | fail→fail | 5,182 | 4,410 | -15% | 1 | 1 | 0% | 1,100 | 1,367 | +24% | 0 | 0 | — |
▸case-04 Write a Lean 4 formal code snippet defining a theorem `add_zero_nat` that asserts `∀ (n : Nat), 0 + n = n`, proved directly by reflexivity. | fail→fail | 12,693 | 10,874 | -14% | 1 | 1 | 0% | 2,480 | 2,702 | +9% | 0 | 0 | — |
▸case-05 Write a Dafny method signature `Sum` that takes an array `a` of integers and returns an integer `s`, with a postcondition specifying `s == sum of a`. Include a `while` loop header with a loop invariant bounding the loop index `i` between 0 and `a.Length`. | fail→fail | 4,409 | 8,686 | +97% | 1 | 1 | 0% | 892 | 2,155 | +142% | 0 | 0 | — |
▸case-06 I need to prove that an iterative algorithm computing the sum of integers from 1 to n correctly equals n*(n+1)/2. Output a JSON object containing success status, the formal proof text, structured steps array, gaps array, and suggestions array. | pass→pass | 15,100 | 9,956 | -34% | 1 | 1 | 0% | 2,717 | 2,522 | -7% | 0 | 0 | — |
▸case-07 I want to prove by contradiction that no algorithm can find a largest prime number because infinitely many primes exist. Return the result in JSON containing success, proof, structure, gaps, and suggestions fields. | pass→pass | 13,416 | 10,834 | -19% | 1 | 1 | 0% | 2,953 | 2,671 | -10% | 0 | 0 | — |
▸case-08 For Insertion Sort, prove the loop invariant initialization step: prior to the first iteration of the outer loop (i = 1), the subarray A[0..i-1] is sorted. Provide the output as a JSON object with success, proof, structure, gaps, and suggestions. | pass→pass | 9,662 | 5,030 | -48% | 1 | 1 | 0% | 2,014 | 1,405 | -30% | 0 | 0 | — |
▸case-09 For Insertion Sort, demonstrate the loop invariant maintenance step: if A[0..i-1] is sorted, inserting A[i] into its correct position leaves A[0..i] sorted. Return a JSON payload matching the formal proof object schema. | fail→pass | 12,563 | 10,469 | -17% | 1 | 1 | 0% | 2,726 | 2,468 | -9% | 0 | 0 | — |
▸case-10 Analyze the termination of Selection Sort on an array of length n. Prove that the loop variable i increments each step and terminates when i = n - 1. Format the response as a JSON object with success, proof, structure, gaps, and suggestions fields. | pass→pass | 14,719 | 9,956 | -32% | 1 | 1 | 0% | 2,520 | 2,449 | -3% | 0 | 0 | — |
▸case-11 Prove by structural induction that a recursive length function on a singly-linked list returns 0 for an empty list and 1 + length(tail) for a non-empty list node. Return a JSON object formatted with success, proof, structure, gaps, and suggestions. | pass→pass | 13,869 | 7,618 | -45% | 1 | 1 | 0% | 3,000 | 2,014 | -33% | 0 | 0 | — |
▸case-12 Construct a formal proof for reversing a binary tree recursively using structural induction. Show that tree reversal preserves tree size. Return JSON containing success, proof, structure, gaps, and suggestions. | pass→pass | 11,618 | 8,928 | -23% | 1 | 1 | 0% | 2,458 | 2,458 | 0% | 0 | 0 | — |
▸case-13 Evaluate this partial proof for recursive Fibonacci computation: 'Assuming fib(n-1) and fib(n-2) are correct, fib(n) = fib(n-1) + fib(n-2) is correct. Thus fib(n) is correct for all n.' Identify the logical gaps in JSON format with success, proof, structure, gaps, and suggestions. | fail→fail | 7,842 | 6,939 | -12% | 1 | 1 | 0% | 1,597 | 1,854 | +16% | 0 | 0 | — |
▸case-14 Review this incomplete loop invariant argument for Euclidean GCD: 'In each iteration, (a, b) becomes (b, a mod b). Since mod reduces numbers, it finishes.' Identify missing termination details in JSON format containing success, proof, structure, gaps, and suggestions. | pass→pass | 12,703 | 9,781 | -23% | 1 | 1 | 0% | 2,339 | 2,308 | -1% | 0 | 0 | — |
▸case-15 Validate a partial proof claiming Breadth-First Search computes shortest unweighted path distance. The provided partial proof only shows that nodes are visited in increasing order of distance from source. Format as a JSON response with success, proof, structure, gaps, and suggestions. | pass→pass | 12,994 | 16,305 | +25% | 1 | 1 | 0% | 2,602 | 3,957 | +52% | 0 | 0 | — |
▸case-16 Evaluate a contradiction proof for halting problem undecidability where the author forgot to construct the inverted self-referential machine H'. Return a JSON breakdown with success, proof, structure, gaps, and suggestions. | fail→fail | 8,713 | 8,702 | -0% | 1 | 1 | 0% | 1,495 | 2,147 | +44% | 0 | 0 | — |
▸case-17 Construct a formal loop invariant proof for Selection Sort finding the minimum element in A[i..n-1] at each outer loop iteration i. Return the output as JSON with success, proof, structure, gaps, and suggestions. | fail→pass | 20,588 | 9,574 | -53% | 1 | 1 | 0% | 3,604 | 2,439 | -32% | 0 | 0 | — |
▸case-18 Generate a structural induction proof for searching a key in a Binary Search Tree (BST), showing that key comparison correctly eliminates left or right subtrees. Format as JSON with success, proof, structure, gaps, and suggestions. | pass→pass | 13,896 | 14,306 | +3% | 1 | 1 | 0% | 3,117 | 3,618 | +16% | 0 | 0 | — |
▸case-19 Formally prove using mathematical induction that recursive exponentiation by squaring correctly calculates x^n in O(log n) steps for non-negative integers n. Output JSON with success, proof, structure, gaps, and suggestions. | pass→pass | 17,243 | 12,584 | -27% | 1 | 1 | 0% | 3,815 | 3,517 | -8% | 0 | 0 | — |
▸case-20 Analyze the termination of integer division via repeated subtraction for positive dividend a and divisor b. Generate a termination argument as a JSON object with success, proof, structure, gaps, and suggestions. | pass→pass | 10,967 | 10,177 | -7% | 1 | 1 | 0% | 2,287 | 2,300 | +1% | 0 | 0 | — |
▸case-21 Review a proof claim for Bubble Sort invariant: 'After pass i, the i largest elements are in their final sorted positions at the end of the array.' Verify this claim and return JSON containing success, proof, structure, gaps, and suggestions. | fail→pass | 11,826 | 7,886 | -33% | 1 | 1 | 0% | 2,354 | 2,050 | -13% | 0 | 0 | — |
▸case-22 Generate a formal loop invariant proof for Quicksort's Lomuto partition scheme maintaining sub-array regions A[low..i] <= pivot and A[i+1..j-1] > pivot. Return a JSON object with success, proof, structure, gaps, and suggestions. | pass→pass | 12,840 | 12,392 | -3% | 1 | 1 | 0% | 3,105 | 3,197 | +3% | 0 | 0 | — |