:- use_module(library(lists)).
test a(X) returns atom(X) .+
given user:goal_expansion(a(X), current_atom(X))
test m:a(3,X) returns X =@= 15,
given user:goal_expansion(a(X,Y), Y is X*5)
test m:a(3,X) returns X =@= 9
given user:goal_expansion(a(X,Y), m, Y is X*X ))
given user:goal_expansion(a(X,Y), m, Y is X*X ), user:goal_expansion(a(X), X is 3*5)