- A specification is an abstraction representing a set of possible implementations, not code itself.
- A spec is sufficient if any reasonable implementation within it satisfies the specifier, even if not fully comprehensive.
- Programmers are still needed to encode specs in formal languages like test suites, which remain distinct from code.
- LLM non-determinism and language vagueness mean specs may produce inconsistent results, reinforcing the distinction between spec and code.
- Even low-level programs (e.g., C or machine code) can be seen as specs due to varying implementations.