So imagine you define some amazing PSL (Problem/Solution Language). It let's you "Code" by defining the problem and solution, ie: Define SORT: Given SET(x), Find SET(y) Where [For i in y] y[i]>y[i-1]. So now you're feeling all giddy because this amazing language is so awesome--you didn't have to specify how to do something step by step. You just declared what you wanted, and it gave it to you. Fantastic. But then, no…
No. You're thinking imperatively. The pure form would express something like: "given the property sorted(s) defined in this way, let s be a set such that for all elements e of s, e is an element of the program input. Then let the output of the program be the list l such that sorted(l) is true.
>given the property sorted(s) defined in this way
"Prompt SET"
>let s be a set such that for all elements e of s, e is an element of the program input. ... such that sorted(l) is true. "SORT SET"
>Then let the output of the program be the list l Display SET.
You've changed the wording and grammar, but you haven't stated anything different.