Joint work with Michael Codish
Goal : Find a suitable semantics for "observing" termination.
Computed answers are in the S-semantics.
For each program P and goal G :
solving G with P is the same as solving G with the
of P.
cond_assert(F) in_database(F),  !.
in_database(G)
solve(Head,[ ]) cond_assert(fact(Head)).
A symbolic norm is a function  
Both methods can be implemented using the entailment and projection mechanisms
of the constraints solver.
For example :
This semantics was shown to capture call patterns and computed answers.
(Gabbrielli and Giacobazzi 1994).
  and  
.
)
.
create the same set of pairs of related calls for
iterate retract(flag),  iterate.
iterate.
cond_assert(F) assert(F),  cond_assert(flag).
functor(G,N,A),  functor(B,N,A), 
call(B),  subsumes(B,G),  ! .
user_clause(Head, Body),
solve(Head, Body).
solve(Head,[B|_])cond_assert( bin(Head,B) ).
solve(Head,[B|_])bin(B,C),   cond_assert(bin(Head,C)).
solve(Head,[B|Bs]) fact(B),   solve(Head, Bs).
Termination.
  such that
where
Can be obtained in two ways :
  if  
  is an integer.
to argument positions which
are instantiated enough and testing for inconsistency.