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.