automated theorem proving, logic programming, partial correctness, Prolog, termination, verification.