Stable Semantics for Logic Programs and Default Theories