Computer Viruses Consider the set of programs which produce one or more programs as output.
A viral set is a maximal set of programs V such that for every pair of programs p and q in V , p eventually produces q , and q eventually produces p . A program is said to be infected simpliciter when there is some viral set V of which it is a member. A program which is an instance of some virus is said to spread whenever it produces another instance of that virus. The simplest virus is a viral set that contains exactly one program, where that program simply produces itself. Larger sets represent polymorphic viruses, which have a number of different possible forms, all of which eventually produce all the others.