Example #1
0
 /**
  * Syllogistic rules whose both premises are on the same symmetric relation
  *
  * @param belief The premise that comes from a belief
  * @param taskSentence The premise that comes from a task
  * @param figure The location of the shared term
  * @param memory Reference to the memory
  */
 private static void symmetricSymmetric(
     Sentence belief, Sentence taskSentence, int figure, Memory memory) {
   Statement s1 = (Statement) belief.cloneContent();
   Statement s2 = (Statement) taskSentence.cloneContent();
   switch (figure) {
     case 11:
       if (Variable.unify(Symbols.VAR_INDEPENDENT, s1.getSubject(), s2.getSubject(), s1, s2)) {
         SyllogisticRules.resemblance(
             s1.getPredicate(), s2.getPredicate(), belief, taskSentence, figure, memory);
       }
       break;
     case 12:
       if (Variable.unify(Symbols.VAR_INDEPENDENT, s1.getSubject(), s2.getPredicate(), s1, s2)) {
         SyllogisticRules.resemblance(
             s1.getPredicate(), s2.getSubject(), belief, taskSentence, figure, memory);
       }
       break;
     case 21:
       if (Variable.unify(Symbols.VAR_INDEPENDENT, s1.getPredicate(), s2.getSubject(), s1, s2)) {
         SyllogisticRules.resemblance(
             s1.getSubject(), s2.getPredicate(), belief, taskSentence, figure, memory);
       }
       break;
     case 22:
       if (Variable.unify(Symbols.VAR_INDEPENDENT, s1.getPredicate(), s2.getPredicate(), s1, s2)) {
         SyllogisticRules.resemblance(
             s1.getSubject(), s2.getSubject(), belief, taskSentence, figure, memory);
       }
       break;
   }
 }