A second extension of generalization is by enumerating the occurring values in a finite domain term instead of replacing them by a variable. A logic programming extension with finite domain terms is presented in [\protect\citeauthoryearBoley1994]. In this case anti-unification of and results in the literal
additive(ppn_1060,dom[flame-retardent,fluent])where the second term is the finite domain containing both original constants flame-retardent and fluent. This does not induce new knowledge but only compresses the information of two literals into one. However, if we anti-unify all three terms into one we do obtain an inductive generalization. The resulting fact
additive(dom[ppn_1060,r_5320],dom[flame-retardent,fluent])with two finite domains really represents four facts, which we get by combining each value of the first with each of the second domain. In addition to the two original clauses we get that novodur r_5320 has the fluent additive fluent. In order to decide whether this hypothesis is actually true we again require validation.