Earlier, I partitioned Prolog into 3 subsets:
Database Prolog was what we started with;
Pure Prolog introduced lists, maths and operators
Full Prolog
goes beyond purely logical constructs and introduces various non-logical
predicates for handling such operations as input and output, and controlling
the execution of programs.