>>887 ありがとう
i2s(X,Y) :-
  var(X),
  var(Y),!.
i2s(0,0) :- !.
i2s(A,A2) :-
  integer(A),
  var(A2),
  B is A-1,
  i2s(B,S),
  A2=s(S),!.
i2s(A,s(S)) :-
  i2s(B,S),
  A is B+1,!.

これでうまくいくのかな