def split_conflicting(mas, agents, agent, eqclass):
    """
    Split the given equivalence class for agent into non conflicting subsets.
    
    mas -- a multi-agents system;
    agents -- a subset of agents of mas;
    agent -- an agent of agents;
    eqclass -- a subset of moves for agents composed of states equivalent for
               agent.
    
    Generate all splitted non conflicting subsets.
    """
    others_cube = mas.bddEnc.inputsCube - mas.inputs_cube_for_agents({agent})
    while eqclass.isnot_false():
        si = mas.pick_one_state_inputs(eqclass)
        ncss = eqclass & si.forsome(mas.bddEnc.statesCube | others_cube)
        eqclass = eqclass - ncss
        yield ncss
