| name | synthesis-specification-language |
| description | Define specifications for program synthesis using various paradigms |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep"] |
| metadata | {"specialization":"computer-science","domain":"science","category":"program-synthesis","phase":6} |
| graph | {"domains":["domain:computer-science"],"specializations":["specialization:theoretical-computer-science"],"skillAreas":["skill-area:graph-algorithms","skill-area:mathematical-reasoning","skill-area:language-design"],"workflows":["workflow:research-grant-lifecycle"],"roles":["role:research-engineer","role:research-scientist"]} |
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