Completion Based Inductive Theorem Proving: An Abstract Framework and its Applications