PROLOG

n.
  1. A declarative higher-level programming language in which instructions are written not as explicit procedural data-manipulation commands, but as logical statements. The language has built-in resolution procedures for logical inference.