null nil true null add n x false tail add n x x tail nil nil head add n x n app nil y y app add n x y add n app x y reverse nil nil reverse add n x app reverse x add n nil shuffle x shuff x nil shuff x y if null x x y app y add head x nil if true x y z y if false x y z shuff reverse tail x z null 1 nil 0 true 0 add 2 false 0 tail 1 head 1 app 2 reverse 1 shuffle 1 shuff 2 if 4 FULL ./TRS/SchneiderKamp/trs/thiemann03.trs