add true x xs add and isNat x isList xs x Cons x xs isList Cons x xs isList xs isList nil true isNat s x isNat x isNat 0 true and true true true and false x false and x false false add 3 true 0 and 2 isNat 1 isList 1 Cons 2 nil 0 s 1 0 0 false 0 FULL enger-nonloop-add.trs