Normally, goal inline expansion is performed implicitly by the compiler. For certain meta-programming applications (e.g. for writing other compilers) it can be performed explicitly using expand_goal/2. Goal inline expansion is the third transformation which is applied during the compilation process: macro expansion, then clause expansion, then goal inline expansion.
[eclipse 1]: lib(fd).
yes.
[eclipse 5]: expand_goal(X#>Y, G).
X = X
Y = Y
G = fd_arith : fd_gec(X, -1, Y, -1, 0)
yes.