The user's task
x: Input situation
f(): Process
y: Output situation
/