def is_independent(L):
    """Return True if all mappings in the list are decomposed into independent
    subgroups, i.e., no key and no value are shared between two different
    groups."""
    keys = []
    values = []
    for g in L:
        keys.extend(g.unique_keys())
        values.extend(g.unique_values())
    return len(values) == len(set(values)) and len(keys) == len(set(keys))
