title: Prolog not recursing as intended
body: <p>I have a function which takes in a list of lists, and I want to pattern match each int in the inner list to a specific pattern. There are 9 lists in the list of lists (call it A), and each list within the list also contains 9 ints. I want to use recursion to traverse down each list 3 at a time, and print appropriately, but I don't seem to be getting past the first step of recursion in my main function. 
  Code for clarity:</p>
  
  <pre><code>print_tail([]).
  print_tail([A,B,C|Ts]) :-
    write('print_tail called'), nl,
    print_tail_h(A,B,C),
    write('Recursed'),             % this never prints
    print_tail(Ts).                % this never happens
  
  % working, or so it seems 
  print_tail_h([A1,A2,A3|As],[B1,B2,B3|Bs],[C1,C2,C3|Cs]) :-
    printer([A1,A2,A3,B1,B2,B3,C1,C2,C3]),nl,
    write('Helper recursed'), nl,
    print_tail_h(As, Bs, Cs).
  
  printer([]).
  printer([X|Xs]) :-
    write(X),
    printer(Xs).
  </code></pre>
  
  <p>I'm calling this function to test it:</p>
  
  <pre><code>test_print_tail :-
    X = [
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],   % stops recursing here
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9],
               [1,2,3,4,5,6,7,8,9]],
    print_tail(X).
  </code></pre>
  
  <p>My output is as follows:</p>
  
  <pre><code>print_tail called
  123123123
  Helper recursed
  456456456
  Helper recursed
  789789789
  Helper recursed
  false.
  </code></pre>
  
  <p>I <em>feel like</em> it should work, but clearly I'm doing something wrong. Any help would be appreciated.</p>