File size: 362 Bytes
57b8ac6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def parse_sat(formula: str):
    """
    Parses CNF SAT formula:
    (x1|x2|x3)&(~x1|x4|x5)
    """
    formula = formula.replace(" ", "")
    clauses = formula.split("&")
    parsed = []

    for clause in clauses:
        clause = clause.replace("(", "").replace(")", "")
        literals = clause.split("|")
        parsed.append(literals)

    return parsed