% elp Standard ML of New Jersey, Version 0.93, February 15, 1993 Elp, Version 0.1x, Built: Fri Jan 7 12:41:04 EST 1994 ?- default (searching "/mnt/eniac/home3/d/dale/360/mods/"). solved yes ?- load "lists". [reading file /mnt/eniac/home3/d/dale/360/mods/lists.mod] id : {A:type} list A -> list A -> o. memb : {A:type} A -> list A -> o. append : {A:type} list A -> list A -> list A -> o. memb_and_rest : {A:type} A -> list A -> list A -> o. [closed file /mnt/eniac/home3/d/dale/360/mods/lists.mod] solved yes ?- use "lists". ?- append (1::2::nil) (5::8::nil) L. L = 1 :: 2 :: 5 :: 8 :: nil. ; no more solutions ?- append L K (1::2::3::nil). K = 1 :: 2 :: 3 :: nil, L = nil. ; K = 2 :: 3 :: nil, L = 1 :: nil. ; K = 3 :: nil, L = 1 :: 2 :: nil. ; K = nil, L = 1 :: 2 :: 3 :: nil. ; no more solutions ?- append L L (1::2::1::2::nil). L = 1 :: 2 :: nil. ; no more solutions ?- memb_and_rest X (1::3::5::nil) R. R = 3 :: 5 :: nil, X = 1. ; R = 1 :: 5 :: nil, X = 3. ; R = 1 :: 3 :: nil, X = 5. ; no more solutions ?- solved yes ?- memb 2 (1::X::Y::6::nil). Y = Y, X = 2. ; Y = 2, X = X. ; no more solutions ?- memb 2 L. L = 2 :: L1. ; L = Y :: 2 :: L2. ; L = Y :: Y1 :: 2 :: L3. ; L = Y :: Y1 :: Y2 :: 2 :: L4. ; L = Y :: Y1 :: Y2 :: Y3 :: 2 :: L5. yes ?- memb 2 L, memb 3 L. L = 2 :: 3 :: L1. ; L = 2 :: Y :: 3 :: L2. ; L = 2 :: Y :: Y1 :: 3 :: L3. ; L = 2 :: Y :: Y1 :: Y2 :: 3 :: L4. yes ?-