deduplicate_clause_circuit

Function deduplicate_clause_circuit 

Source
pub fn deduplicate_clause_circuit<T>(
    circuit: ClauseCircuit<T>,
) -> (ClauseCircuit<T>, bool)
where T: Clone + Copy + Ord + PartialEq + Eq + Hash + Default + TryFrom<usize>, <T as TryFrom<usize>>::Error: Debug, usize: TryFrom<T>, <usize as TryFrom<T>>::Error: Debug,
Expand description

Deduplicate clauses and clause literals.

WARNING: This function is not completely tested. It should be used enough carefully.

Deduplicate clauses and clause literals. It deduplciates same clauses and literals and subclauses (part of clauses). Returns new circuit and boolean value. If some possible literal duplicates then returns true, otherwise return false.