| Correct (2) | Buggy (1) | Missing or very wrong (0) | |
|---|---|---|---|
| Base case(s) | Checks correct values and shows some work. | Either checks incorrect values or does not show work. | Major errors in checks or missing. |
| Correct (2) | Buggy (1) | Missing or very wrong (0) | |
| Inductive hypothesis | Strong inductive claim with correct bounds and claim explicitly stated. | Bounds not strong or don't match with base cases or claim not explicitly stated. | No upper bound. More than one error or missing. |
| Correct (2) | Buggy (1) | Missing or very wrong (0) | |
| Style and clarity | Easy to follow, with appropriate use of punctuation, notation, latex, and whitespace. Algebra, variable declarations, and use of definitions is correct or nearly so. | Slightly hard to follow. Small number of minor mistakes e.g. formatting bugs, algebra mistakes, too few steps or key steps not explained. | Hard to follow or looks unprofessional. Serious or multiple technical issues. |
| Correct (3) | Buggy (2) | Missing or wrong (0) | |
| Goal and division of problem | Larger problem split correctly into smaller problems and the goal value matches the inductive hypothesis. | Either goal off by one or small issue with the split but not both. | Large issue with goal or subproblems. |
| Correct (3) | Buggy (2) | Missing or very wrong (0) | |
| Use of Inductive hypothesis | Inductive hypothesis used correctly and called out when used. | Either inductive hypothesis used with incorrect values or not called out. | Inductive hypothesis never used or used incorrectly. |
| Correct (3) | Buggy (2) | Missing or very wrong (0) | |
| Details and flow | All details and flow of problem correct including algebra, types, and reaches final conclusion. Proof starts by defining the induction variable. | Small errors in details and flow of problem correct including algebra, types but reaches final conclusion. | Major errors in flow or structure. |