If only it were that simple: one of the first, pragmatic challenges to this process would be to define a software patent. Remember that algorithms are not supposed to be patentable, so most of these "software" patents actually include elements of hardware, however broad.