The most common, and most purely linguistic, criterion is that of mutual intelligibility: two varieties are said to be dialects of the same language if being a speaker of one variety confers sufficient knowledge to understand and be understood by a speaker of the other; otherwise, they are said to be different languages. However, this definition becomes problematic in the case of dialect continua, in which it may be the case that dialect B is mutually intelligible with both dialect A and dialect C but dialects A and C are not mutually intelligible with each other. In this case the criterion of mutual intelligibility makes it impossible to decide whether A and C are dialects of the same language or not. Cases may also arise in which a speaker of dialect X can understand a speaker of dialect Y, but not vice versa; the mutual intelligibility criterion flounders here as well.
What is the definition of mutual intelligibility?
if being a speaker of one variety confers sufficient knowledge to understand and be understood by a speaker of the other