Skip to main content

Guided Labs

Download the offline combinatorics and graph kit. Extract it and work inside combinatorics-graphs. Python 3.10+ and the standard library suffice. The README specifies inputs, bounds, ordering and error behavior.

python check.py starter
python run_labs.py starter

The unfinished starter fails intentionally. Implement the eight contracts before consulting reference.py; use python check.py reference to calibrate afterward. Save a hand-derived fixture, first attempt, general argument, failing test and changed-assumption result in the evidence template.

LabImplementationsProof obligationPlanning time
1Bounded distributions, onto mapsDisjoint last-coordinate cases; inclusion-exclusion with empty functions4–6 h
2No-adjacent-one words, coin coefficientsState/base definitions; ordered versus unordered construction4–6 h
3Graph report, walk-count matrixComponents and bridge deletion; walk decomposition by last edge4–6 h
4Proper-coloring count, maximum matchingExhaustive coverage; valid witness plus a matching upper bound4–6 h

All graph vertices, including isolates, are explicit. The graph reporter classifies Euler existence but does not return a route. Proper coloring uses labeled colors; the matching report includes a left subset and its neighborhood certifying its optimal size. Explain each output without running the code.

The independent checks enumerate small objects, cycles, walks and edge trails; coloring counts are cross-checked with inclusion-exclusion on monochromatic edges, and matching optima with subsets of edges. These checks establish finite evidence, not a general theorem. No planarity or Hamilton solver is included: those lessons require proofs, drawings or explicitly verified witnesses.

The demonstration is a worked version of the workshop project. Attempt its model and numerical predictions before reading that implementation.