From e2ad8ab349ce79f67acb5c1509e9046e9d8589af Mon Sep 17 00:00:00 2001
From: Patrick Hammer <patham9@gmail.com>
Date: Thu, 29 Mar 2018 17:00:24 -0400
Subject: [PATCH] Receive both negated task variants for anticipation
 disappointments as the alternative, temporal inference on negations of all
 input events would be expensive.

---
 nars_core/nars/control/ConceptProcessing.java | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/nars_core/nars/control/ConceptProcessing.java b/nars_core/nars/control/ConceptProcessing.java
index 624f4d8fc0..85498a1f08 100644
--- a/nars_core/nars/control/ConceptProcessing.java
+++ b/nars_core/nars/control/ConceptProcessing.java
@@ -621,10 +621,14 @@ public class ConceptProcessing {
         }
         
         Term T = ((Statement)concept.negConfirmation.getTerm()).getPredicate();
-        Sentence s2 = new Sentence(T, Symbols.JUDGMENT_MARK, new TruthValue(0.0f,Parameters.DEFAULT_JUDGMENT_CONFIDENCE),
+        Sentence s1 = new Sentence(T, Symbols.JUDGMENT_MARK, new TruthValue(0.0f,Parameters.DEFAULT_JUDGMENT_CONFIDENCE),
                         new Stamp(concept.memory));
-        Task negated = new Task(s2,concept.negConfirmation.getBudget().clone(),true);
-        concept.memory.inputTask(negated, false); //disappointed
+        Sentence s2 = new Sentence(Negation.make(T), Symbols.JUDGMENT_MARK, new TruthValue(1.0f,Parameters.DEFAULT_JUDGMENT_CONFIDENCE),
+                        new Stamp(concept.memory));
+        Task negated1 = new Task(s1,concept.negConfirmation.getBudget().clone(),true);
+        Task negated2 = new Task(s2,concept.negConfirmation.getBudget().clone(),true);
+        concept.memory.inputTask(negated1, false); //disappointed
+        concept.memory.inputTask(negated2, false); //disappointed
         concept.memory.emit(OutputHandler.DISAPPOINT.class,((Statement) concept.negConfirmation.sentence.term).getPredicate());
         concept.negConfirmation = null;
     }
-- 
GitLab