def project_down(B,create_using=None,name=None):
    if create_using:
        G=create_using
        G.clear()
    else:
        G=networkx.Graph()
    if name is not None:
        G.name=name

    for v,Bvnbrs in B.adjacency_iter():
       if B.node_type[v]=="Bottom":
          G.add_node(v)
          for cv in Bvnbrs:
             G.add_edges_from([(v,u) for u in B[cv] if u!=v])
    return G
Checks that the history is not altered by the player
dataset/ETHPy150Open gkno/gkno_launcher/src/networkx/algorithms/clique.py/project_down--crossover with--dataset/ETHPy150Open Axelrod-Python/Axelrod/axelrod/tests/unit/test_mindreader.py/TestMindReader.test_history_is_same