Minor nitpick: prolog uses unification not pattern matching which is more general because it can handle unbound variables.
Major nitpick: declarative thinking becomes the dominant way of thinking not pattern matching. When you write prolog declaratively (w/o cuts at the expense of efficiency) your code can answer multiple questions/queries.