Prolog
Definite clause grammar
Logic programming
Inference
Negation as failure
Append
Fril
Prolog syntax and semantics
Software engineering
Computing
Computer programming