You can look into this article regarding the dual inheritance concept in Pega. For more information about this topic you can refer into this discussion.
The concept of dual inheritance is pretty same like multiple inheritance in Java which can be partially achieved through Interfaces. Same concept has been used to implement the dual inheritance concept in Pega using Pattern(using Interface inheritance) and Direct(using class inheritance) inheritances. This is the reason we have Direct inheritance is mandatory and Pattern inheritance as optional.
Hope it gives you clear idea about the dual inheritance in pega.