Guided Labs
Download the offline problem-solving lab. Extract it, open its directory, and use Python 3.10 or newer. Standard library only; no network or package installation is required.
python check.py --module reference
python check.py --module starter
python run_labs.py --module reference
The reference should pass four test groups. The untouched starter should fail
with NotImplementedError. Implement starter.py before consulting the reference,
then run the checks and report with --module starter. Save actual output,
Python version and explanations using evidence-template.md.
| Lab | Build | Independent check | Written evidence |
|---|---|---|---|
| L1: boundary reasoning | lower_bound | Linear scan over sorted small lists | Partition invariant, termination, duplicates and empty input |
| L2: construct an optimum | min_coins | Breadth-first sum enumeration | Recurrence proof, valid witness, unreachable versus zero |
| L3: reverse a relation | reverse_reachable | All-pairs reachability on every directed three-vertex graph | Edge reversal, cycles, finite-domain negative claims |
| L4: isolate a failure | shrink_failure | Failure preservation, subsequence and single-deletion checks | Predicate identity, 1-minimality and its limits |
Budget 12–18 hours across the four labs. See the API contracts. Do not report the finite checker as proof. Add one independently designed case per lab and defend it without running the implementation. Reuse this work for P13–P16 and the module project instead of submitting duplicate artifacts.