logicng 0.1.0-alpha.3

A Library for Creating, Manipulating, and Solving Boolean Formulas
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::propositions::Proposition;

/// An unsatisfiable core (can be a minimal unsatisfiable sub-formula).
#[derive(Clone, Eq, PartialEq, Hash, Debug)]
pub struct UnsatCore {
    /// Propositions of this MUS.
    pub propositions: Vec<Proposition>,
    /// Is `true` if the core is a MUS and `false` if it is yet unknown whether
    /// it is a MUS.
    pub is_mus: bool,
}

impl UnsatCore {
    /// Constructs a new unsatisfiable core.
    pub fn new(proposition: Vec<Proposition>, is_mus: bool) -> Self {
        Self { propositions: proposition, is_mus }
    }
}