Our second task will be in the context of programming-by-example, a popular application of program synthesis. For this task, you will not have access to sub-specifications.
Say the user wishes to synthesize a function f which accepts two integer-valued arguments as input and produces an integer as output. They specify the function f as follows :
In response, the synthesizer produces the following implementation :
f(x,y)= if x≤1 then 3x elif y≤1 then 3y else 1
Consider the following sub-expression in the implementation : f(x,y)= if x≤1 then 3x elif y≤1 then 3y else 1 Which input-output examples are relevant to the sub-expression?
What do you think is the user's intent?
We want to add a few input-output examples to the specification in order to improve it. What do you think are the best examples to add?