 [det]digits(?Chars)
[det]digits(?Chars)//
[det]digit(?Char)//
[det]integer(?Integer)//Number processing. The predicate digits//1 
matches a possibly empty set of digits, digit//1 
processes a single digit and integer processes an optional sign followed 
by a non-empty sequence of digits into an integer.