use super::*;
#[test]
fn renumber_preserves_empty_clause_unsat_certificate() {
let fates = vec![DveFate::Defined, DveFate::Kept];
let clauses = vec![
Clause::new(Vec::new()), Clause::new(vec![Literal::new(VarId(1), true)]), ];
let (formula, _map) = renumber_formula(&fates, 2, clauses);
assert!(
formula.clauses.iter().any(|c| c.literals.is_empty()),
"empty clause (UNSAT certificate) must be preserved through renumber_formula",
);
}
#[test]
fn renumber_empty_when_all_literals_eliminated_is_unsat() {
let fates = vec![DveFate::Defined, DveFate::Kept]; let clauses = vec![
Clause::new(vec![Literal::new(VarId(0), true)]), Clause::new(vec![Literal::new(VarId(1), false)]), ];
let (formula, _map) = renumber_formula(&fates, 2, clauses);
assert!(
formula.clauses.iter().any(|c| c.literals.is_empty()),
"clause reduced to empty by elimination must be kept as UNSAT certificate",
);
}