Language S over alphabet A is computable if there exists a program (or algorithm) p so that

  1. p halts on all inputs and,
  2. for every xA*, φp(x) = yes ⇔ xS.
That is, p solves S.