This paper explores the semantics of predicate logic as a programming language, comparing operational and fixpoint semantics with proof theory and model theory. It defines operational semantics as the input-output relation computed by a program, and fixpoint semantics as the minimal fixpoint of a transformation associated with the program. It concludes that operational semantics is part of proof theory and fixpoint semantics is a special case of model-theoretic semantics. The paper also shows that operational and fixpoint semantics are equivalent, as a special case of Gödel's completeness theorem. It discusses the procedural interpretation of predicate logic, where sets of clauses are interpreted as programs, and computation is initiated by an initial goal statement. The paper also defines the syntax of well-formed formulas, the procedural interpretation, and the operational and fixpoint semantics of predicate logic programs. It demonstrates that predicate logic is a nondeterministic programming language and that its semantics can be interpreted as input-output relations. The paper also compares model-theoretic and fixpoint semantics, showing that they coincide for sets of procedure declarations. It concludes that the semantics of predicate logic as a programming language has important implications for both the theory and practice of computing.This paper explores the semantics of predicate logic as a programming language, comparing operational and fixpoint semantics with proof theory and model theory. It defines operational semantics as the input-output relation computed by a program, and fixpoint semantics as the minimal fixpoint of a transformation associated with the program. It concludes that operational semantics is part of proof theory and fixpoint semantics is a special case of model-theoretic semantics. The paper also shows that operational and fixpoint semantics are equivalent, as a special case of Gödel's completeness theorem. It discusses the procedural interpretation of predicate logic, where sets of clauses are interpreted as programs, and computation is initiated by an initial goal statement. The paper also defines the syntax of well-formed formulas, the procedural interpretation, and the operational and fixpoint semantics of predicate logic programs. It demonstrates that predicate logic is a nondeterministic programming language and that its semantics can be interpreted as input-output relations. The paper also compares model-theoretic and fixpoint semantics, showing that they coincide for sets of procedure declarations. It concludes that the semantics of predicate logic as a programming language has important implications for both the theory and practice of computing.