Update: don't nest multiple temporal implications in declaratively induced knowledge
@@ -170,13 +170,18 @@ static bool NAL_NestedHOLStatement(Term *conclusionTerm)
return false;
//We don't allow two ==> or <=> in one statement:
int imp_equ = 0;
+ int temp_equ = 0;
for(int i=0; i<COMPOUND_TERM_SIZE_MAX; i++)
{
if(Narsese_copulaEquals(conclusionTerm->atoms[i], IMPLICATION) || Narsese_copulaEquals(conclusionTerm->atoms[i], EQUIVALENCE))
{
imp_equ++;
}
- if(imp_equ >= 2)
+ if(Narsese_copulaEquals(conclusionTerm->atoms[i], TEMPORAL_IMPLICATION))
+ {
+ temp_equ++;
+ }
+ if(imp_equ >= 2 || temp_equ >= 2)
{
return true;
}
