(formula)
return graph
Builds the implication graph from the formula
Builds the implication graph from the formula
Builds the implication graph from the formula
def build_graph(formula):
    ''' Builds the implication graph from the formula '''
    graph = {}

    for clause in formula:
        for (lit, _) in clause:
            for neg in [False, True]:
                graph[(lit, neg)] = []

    for ((a_lit, a_neg), (b_lit, b_neg)) in formula:
        add_edge(graph, (a_lit, a_neg), (b_lit, not b_neg))
        add_edge(graph, (b_lit, b_neg), (a_lit, not a_neg))

    return graph
def build_graph ( formula ) : graph = { } for clause in formula : for ( lit , _ ) in clause : for neg in [ False , True ] : graph [ ( lit , neg ) ] = [ ] for ( ( a_lit , a_neg ) , ( b_lit , b_neg ) ) in formula : add_edge ( graph , ( a_lit , a_neg ) , ( b_lit , not b_neg ) ) add_edge ( graph , ( b_lit , b_neg ) , ( a_lit , not a_neg ) ) return graph