fork(2) download
  1. add([],[],[]).
  2. add([],Y, Z) :- append([], Y, Z).
  3. add(X,[], Z) :- append(X,[],Z).
  4.  
  5. add([HX|TX],[HY|TY], Z) :-
  6. HX = 1,
  7. HY = 1,
  8. add(TX,TY, Z1),
  9. add([1],Z1, Z2),
  10. append([0],Z2,Z),!.
  11.  
  12. add([HX|TX],[HY|TY], Z) :-
  13. HX = 0,
  14. HY = 1,
  15. add(TX,TY,Z1),
  16. append([1],Z1, Z),!.
  17.  
  18. add([HX|TX],[HY|TY], Z) :-
  19. HX = 1,
  20. HY = 0,
  21. add(TX,TY,Z1),
  22. append([1],Z1, Z),!.
  23.  
  24.  
  25. add([HX|TX],[HY|TY], Z) :-
  26. HX = 0,
  27. HY = 0,
  28. add(TX,TY,Z1),
  29. append([0],Z1, Z),!.
Success #stdin #stdout 0.04s 6160KB
stdin
add([1,1,1,1], [1,1],Z).
add([1], [1],Z).
add([1,1,0,1], [1,1],Z).
add([1],[0],Y).
add([0], [1],Z).
stdout
Standard output is empty