Synthesis Specification Language
Purpose
Provides expert guidance on defining specifications for program synthesis using examples, logic, or sketches.
Capabilities
- Input-output example specification
- Logical specification (pre/post conditions)
- Sketch-based specification
- Natural language to specification
- Specification validation
- Ambiguity detection
Usage Guidelines
- Paradigm Selection: Choose specification paradigm
- Specification Writing: Write formal specification
- Validation: Validate specification for completeness
- Disambiguation: Resolve specification ambiguities
- Integration: Connect to synthesis engines
Tools/Libraries
- SyGuS format
- Sketch
- Rosette
- FlashFill