# Make Negative Loop Appear in Explanations like an abduction

**URL:** <https://swi-prolog.discourse.group/t/make-negative-loop-appear-in-explanations-like-an-abduction/5812>\
**Category:** Help!\
**Tags:** scasp\
**Created:** [September 28, 2022, 5:15pm UTC](https://swi-prolog.discourse.group/t/make-negative-loop-appear-in-explanations-like-an-abduction/5812 "2022-09-28T17:15:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gauntlet173](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/gauntlet173/32/3778_2.png) [@Gauntlet173](https://swi-prolog.discourse.group/u/Gauntlet173)\
**Post date:** [September 28, 2022, 5:15pm UTC](https://swi-prolog.discourse.group/t/make-negative-loop-appear-in-explanations-like-an-abduction/5812/1 "2022-09-28T17:15:29Z")

</div>

If in s(CASP) I use an abduction, like this:  
`#abducible p(X).`  
then when `p(X)` is used in a human-style justification, it will appear as “by abduction we conclude p(X)”.

Sometimes I want to make the conclusion abducible, but only for other than extant values, so as to avoid duplicate explanations. So I might say something like this:

```prolog
p(bob).
-p(X) :- not p(X), X \= bob.
p(X) :- not -p(X), X \= bob.

```

If I do that, in the explanations, it appears as “p(X), because not -p(X), because p(X) is assumed”.

This is a problem because I want to be able to detect what portions of the justificaiton tree are assumptions, and format them differently. But here I have two different formats.

How can I get both sorts of abduction to display in the same way, so that they can be found in the justifications?
