| Correct (1) | Missing or very wrong (0) | ||
|---|---|---|---|
| Inductive variable identified | Correctly identified induction variable and how it relates to the problem. | Missing or broken | |
| 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 and Goal | Strong inductive claim with correct bounds and claim explicitly stated with matching goal in rest of the step | Bounds not strong or don't match with base cases or claim not explicitly stated or minor error in goal of reet of the step. | No upper bound. More than one error or missing. |
| Correct (3) | Buggy (2) | Missing or wrong (0) | |
| Division and subproblems | Problem broken down correctly. Trees divided from the root and strings divided as appropriate. | Small issues with the division of the problem in either clarity or structure. | Large issue with the division. Trees grafting on rather than breaking down. Strings not matching type. |
| Correct (3) | Buggy (2) | Missing or very wrong (0) | |
| Use of Inductive hypothesis | Inductive hypothesis used correctly on objects of the correct type and called out when used. | Either inductive hypothesis used with incorrect values or not called out. | Inductive hypothesis never used, used incorrectly, not used in all needed places. |
| 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. | Small errors in details and flow of problem correct including algebra, types but reaches final conclusion. Assumptions of only one string of a given length or one tree of a given height. | Major errors in flow or structure. Proof not inductive. Proof does not describe the structure and only uses equations in the inductive step. |
| 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. |