free context – How the language $ {a ^ nb ^ mc ^ nd ^ m | n geq1, m geq1 } $ is used to verify if the formal and real parameters are the same?

How the language works $ L = {a ^ nb ^ mc ^ nd ^ m mid n geq1, m geq1 } $ Summarize the problem of verifying that the number of formal parameters in the declaration of a procedure matches the number of actual parameters in a use of the procedure?

I just did not understand what each of the variables $ a, b, c, d, n $ Y $ m $ will it represent? It seems $ 1 ^ {st} $ pair $ (n, m) $ It is for formal parameters and then for real ones. But I did not understand why there is $ a $ Y $ b $? Could not a single variable be enough?