Logic programming
Michael Genesereth, Matthew L. Ginsberg · Communications of the ACM · 1985
Logic programming is programming by description. The programmer describes the application area and lets the program choose specific operations. Logic programs are easier to create and enable machines to explain their results and actions.