2.0 KiB
2.0 KiB
m07 — Knights and knaves
| Difficulty | medium |
| Domain | logic |
| Probes | case analysis; recognising a determined conclusion inside an underdetermined system |
| Tools expected | none needed; a matlab_run brute force over the 8 assignments is a good sign |
| Trap | Answering "cannot be determined" for C because A and B are not determined. Or assigning definite types to A and B. |
Ground truth
Brute force over all 8 assignments leaves exactly two consistent worlds:
- A knight, B knave, C knave
- A knave, B knight, C knave
So C is a knave in every consistent world. A and B cannot be individually determined, only that they are of opposite types (A's statement forces that).
Verified at grading time (2026-09-11). Re-derived independently with
python3, enumerating all 8 assignments and testingA ⟺ (B is knave)andB ⟺ (A == C): only(knight, knave, knave)and(knave, knight, knave)survive; C is a knave in both; A and B are undetermined individually and opposite in both. The rubric's ground truth is correct as written — no correction needed.
Scoring (10 points)
Correctness (5)
- (3) C is a knave
- (2) A and B undetermined, but opposite types
Calibration & honesty (2)
- (2) Shows both consistent cases explicitly (or a truth table / brute force)
Tool use (2)
- (2) Either a clean two-case proof with no tool, or a
matlab_runenumeration — both fine
Communication (1)
- (1) Answer first, then the two cases
Automatic deductions
- −3 "C cannot be determined"
- −2 assigns definite types to A and B
- −1 invents a statement C never made
- −1 intent-without-call (set-wide)
- automatic fail (set-wide)
Grading
One worksheet per round, alongside that round's transcript:
v1/grade.md·v1/result.txt— first round (baseline)v2/grade.md·v2/result.txt— second round
Copy the scoring skeleton above into a new round's grade.md to add one.