title: Prolog challenge
body: <p>I have the below implementation for the sublist algorithm. 
  Problem: Given 2 lists, determine whether one is a sublist of the other.
  I would really need another distinct solution in Prolog.</p>
  
  <p>Solution one:</p>
  
  <pre><code>sublist([H1|T1], L, [H2|T2]):-
    H1 = H2,
    sublist(T1, L, T2).
  sublist([], _, _)
  sublist([H1|T1],L,[H2|T2]):-
    sublist(L,L,T2).
  </code></pre>
  
  <p>Solution two:</p>
  
  <pre><code>sublist([H|T], [H|L]):- check(T,L),
  sublist(S, [H|T]):- sublist(S,T).
  check([H|T], [H|R]):-
     check(T,R).
  check([],_).
  </code></pre>
  
  <p>Solution three:</p>
  
  <pre><code>sublist(S,L):-
    append(_,R,L),
    append(S,_,R).
  </code></pre>
  
  <p>Solution three':</p>
  
  <pre><code>sublist(S,L):-
    append3(_,S,_,L).
  </code></pre>