Problem with generated datalog predicates when an abstract type and an object constant have the same name
In a lexicon, when an abstract type and an object constant have the same name, no difference is made between the predicate name. It is very likely to lead to a buggy generated datalog program.