Reworked the definition of reduction for lists of terms to comply with Prolog's sensitivity to goal order. Also removed operators ! and ? in favor of "say" and "hear", respectively.