pub enum CongrProof {
Refl(Expr),
Symm(Box<CongrProof>),
Trans(Box<CongrProof>, Box<CongrProof>),
Congr(Box<CongrProof>, Box<CongrProof>),
Hyp(Name),
}Expand description
A proof of an equality in the congruence closure.
Variants§
Refl(Expr)
refl a: a = a.
Symm(Box<CongrProof>)
symm p: p proves a = b, so symm proves b = a.
Trans(Box<CongrProof>, Box<CongrProof>)
trans p q: p proves a = b and q proves b = c.
Congr(Box<CongrProof>, Box<CongrProof>)
congr p q: p proves f = g and q proves a = b, so (f a) = (g b).
Hyp(Name)
hyp name: an equality hypothesis.
Implementations§
Source§impl CongrProof
impl CongrProof
Sourcepub fn hypothesis_count(&self) -> usize
pub fn hypothesis_count(&self) -> usize
Count the number of hypothesis uses.
Trait Implementations§
Source§impl Clone for CongrProof
impl Clone for CongrProof
Source§fn clone(&self) -> CongrProof
fn clone(&self) -> CongrProof
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 CongrProof
impl RefUnwindSafe for CongrProof
impl Send for CongrProof
impl Sync for CongrProof
impl Unpin for CongrProof
impl UnsafeUnpin for CongrProof
impl UnwindSafe for CongrProof
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