def post_through(mas, agents, states, moves):
    """
    Return the set of states reachable from the given states through actions of
    agents allowed by the given moves for agents.
    
    mas -- a multi-agents system;
    agents -- a subset of agents of mas;
    states -- a subset of states of mas;
    moves -- a subset of moves for agents.
    """
    return mas.post(states & moves)
