pub struct ProofStructure {
pub n_formulas: usize,
pub links: Vec<Link>,
}Expand description
A proof structure: a set of formula occurrences and links.
Fields§
§n_formulas: usizeNumber of formula occurrences.
links: Vec<Link>The links (axiom, cut, tensor, par, etc.).
Implementations§
Source§impl ProofStructure
impl ProofStructure
Sourcepub fn new(n_formulas: usize) -> Self
pub fn new(n_formulas: usize) -> Self
Create a new empty proof structure with n formula occurrences.
Sourcepub fn is_correct(&self) -> bool
pub fn is_correct(&self) -> bool
Check the Danos-Regnier correctness criterion (simplified: for MLL axiom nets).
A proof structure is correct iff every switching (choice of one conclusion for each par link) yields a spanning tree of the graph. Here we apply a union-find acyclicity check on the axiom links.
Sourcepub fn axiom_count(&self) -> usize
pub fn axiom_count(&self) -> usize
Count axiom links.
Trait Implementations§
Source§impl Clone for ProofStructure
impl Clone for ProofStructure
Source§fn clone(&self) -> ProofStructure
fn clone(&self) -> ProofStructure
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ProofStructure
impl RefUnwindSafe for ProofStructure
impl Send for ProofStructure
impl Sync for ProofStructure
impl Unpin for ProofStructure
impl UnsafeUnpin for ProofStructure
impl UnwindSafe for ProofStructure
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more