poole@CPSC-M-POOLE01 prolog % swipl Welcome to SWI-Prolog (threaded, 64 bits, version 9.0.4) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit https://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- [dates]. true. ?- born(justin,D). D = ce(1994, mar, 1). ?- [dates]. true. ?- older(A,B). A = justin, B = ella_mai ; A = justin, B = shawn_mendez ; A = pierre, B = justin ; A = pierre, B = ella_mai ; A = pierre, B = shawn_mendez ; A = ella_mai, B = shawn_mendez ; false. ?- X is 3+4. X = 7. ?- is(Z,3+5*6). Z = 33. ?- A = 3+5*6. A = 3+5*6. ?- X = 3*x*x+4*y+7. X = 3*x*x+4*y+7. ?- [myis]. true. ?- myis(X, 3+two*7). X = 17 ; false. ?- myis(X, 3*(two+7)+10). X = 37 . ?- X myis 33*three. X = 99 . ?- 33*three myis 33*three. false. ?- X myis +(7,11). X = 18 . ?- mymember(X, cons(jan,cons(feb,empty))). ERROR: Unknown procedure: mymember/2 (DWIM could not correct goal) ?- [mylist]. true. ?- mymember(X, cons(jan,cons(feb,empty))). X = jan ; X = feb ; false. ?- myappend(cons(jan,cons(feb,empty)), cons(mar,empty), M3). M3 = cons(jan, cons(feb, cons(mar, empty))). ?- myappend(cons(jan,cons(feb,empty)), cons(mar,empty), M3), myappend(A,B,M3). M3 = B, B = cons(jan, cons(feb, cons(mar, empty))), A = empty ; M3 = cons(jan, cons(feb, cons(mar, empty))), A = cons(jan, empty), B = cons(feb, cons(mar, empty)) ; M3 = cons(jan, cons(feb, cons(mar, empty))), A = cons(jan, cons(feb, empty)), B = cons(mar, empty) ; M3 = A, A = cons(jan, cons(feb, cons(mar, empty))), B = empty . ?- X = [1,2|[]]. X = [1, 2]. ?- X = [1,2|[3]] | . X = [1, 2, 3]. ?- X = [1,2|[3, 4 ,5]]. X = [1, 2, 3, 4, 5]. ?- X = [1,2|[3, 4 ,5 | Y]]. X = [1, 2, 3, 4, 5|Y]. ?- [lists]. true. ?- member(X, [1,2,3,4]). X = 1 ; X = 2 ; X = 3 ; X = 4 ; false. ?- member(3,[1,2,X,Y]). X = 3 ; Y = 3 ; false. ?- member(b,[a,[b,c]]). false. ?- member(X,[a,[b,c]]). X = a ; X = [b, c] ; false. ?- member(X,[a|[b,c]]). X = a ; X = b ; X = c ; false. ?- member(val(b,V),[val(aa,3), val(b,7), val(dd,23)]). V = 7