The paraphrase for the first solution is:<br><pre class="resultParaphrase">If something X1 is inserted then something X2 is inserted and it is false that there is a thing and it is false that X2 is X1.</pre>This doesn&#39;t sound correct at all. I would translate it into:<br>
∀X1. IsInserted(X1) ⇒ ∃X2. IsInserted(X2) ∧ ¬∃X3. IsAThing(X3) ∧ X1 ≠X2<br><br>And this would mean that if X1 is inserted then X2 is also inserted, and X2 ≠ X1.<br><br>While the 2nd solution is brilliant. The paraphrase of it is:<br>
<pre class="resultParaphrase">If a thing X1 is inserted and a thing X2 is inserted then the thing X2 is the thing X1.</pre>This paraphrase is the same for inserted prefixed with a lexicon or not.<br>I take this 2nd solution as to be the way to express exclusiveness of the kind in Attempto (until I find other ways, possibly more natural). This is equivalent to saying: If a way X1 expresses exclusiveness in Attempto and a way X2 expresses exclusiveness then the way X1 is the way X2.<br>
<br>PS: I did read most of the documentation (nutshell, course, construction rules) but I didn&#39;t learn them well enough yet. And no place in the documentation mentions mutual exclusiveness (I overlooked troubleshooting). I didn&#39;t encounter any documentation on how to express mutual exclusiveness at the level expressed by &quot;only 1 object could be inserted&quot;.  I&#39;ll report about my finding on a closer look.<br>
<br><br><div class="gmail_quote">2010/7/11 Jean-Marc Vanel <span dir="ltr">&lt;<a href="mailto:jeanmarc.vanel@gmail.com">jeanmarc.vanel@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>There also a solution with an equivalent FOL expression.</div><div>But from a naive natural language point of view, this is maybe less good; it gives the impression that 2 things are inserted.</div><div><br></div><div>

./ape.exe -guess -text &#39;If a thing X is a:inserted, and a thing Y is a:inserted then Y is X.&#39; -solo drspp</div><div>[]</div><div>   [A, B, C, D, E, F]</div><div>   object(A, thing, countable, na, eq, 1)-1/3</div>
<div>
   property(B, inserted, pos)-1/8</div><div>   predicate(C, be, A, B)-1/5</div><div>   object(D, thing, countable, na, eq, 1)-1/12</div><div>   property(E, inserted, pos)-1/17</div><div>   predicate(F, be, D, E)-1/14</div>

<div>   =&gt;</div><div>   [G]</div><div>   predicate(G, be, D, A)-1/20</div><div><div></div><div class="h5"><div><br></div><br><div class="gmail_quote"><br></div>-- <br>Jean-Marc Vanel<br>Consulting, services, training,<br>
Rule-based programming, Semantic Web<br>
<a href="http://jmvanel.free.fr/" target="_blank">http://jmvanel.free.fr/</a><br>EulerGUI, a turntable GUI for Semantic Web + rules, XML, UML, eCore, Java bytecode<br>+33 (0)6 89 16 29 52 -- +33 (0)1 39 55 58 16<br>( we rarely listen to voice messages, please send a mail instead )<br>


</div></div></blockquote></div><br><br clear="all"><br>-- <br>Regards, <br>K. Gabriele<br><br>--- unchanged since 25/1/10 ---<br>P.S. Unless a notification (LON), please reply either with an answer OR with &quot; ACK&quot; appended to this subject within 48 hours. Otherwise, I might resend.<br>
In(LON, this) ∨ In(48h, TimeNow) ∨ ∃x. In(x, MyInbox) ∧ IsAnswerTo(x, this) ∨ (In(subject(this), subject(x)) ∧ In(ACK, subject(x)) ∧ ¬IsAnswerTo(x,this)) ⇒ ¬IResend(this).<br><br>Also note that correspondence may be received only from specified a priori senders, or if the subject of this email ends with a code, eg. -LICHT01X, then also from senders whose reply contains it.<br>
∀x. In(x, MyInbox) ⇒ In(senderAddress(x), MySafeSenderList) ∨ (∃y. In(y, subject(this) ) ∧ In(y,x) ∧ isCodeLike(y, -LICHT01X) ).<br><br>