What does progress promise?
- A well-typed program runs fast
- A well-typed program is never stuck
- A well-typed program never loops
What does a small-step rule assert?
- What one step of running does
- What the whole program outputs
- How fast the program runs
Preservation says taking a step keeps the program's type.
Circle one: True False
What does preservation alone rule out?
- A program changing type in the middle of a run
- A program running out of memory
- A program asking for input
A well-typed program uses a null reference and stops without yielding a value. Which lemma breaks?
- Preservation
- Neither, this is allowed
- Progress
The type system forbids an error, yet it happens at run time. What failed?
- The program was too short
- Soundness: at least one of the two promises failed
- The hardware disobeyed arithmetic
A program is stuck but ill-typed. Does that violate progress?
- No, progress only covers well-typed programs
- Yes, all stuck programs violate it
- Yes, typing never matters
Name a feature that breaks soundness, and say which lemma it breaks.
- Null references, breaking preservation
- Integers, breaking progress
- Null references, breaking progress