pub struct CongruenceTheorem {
pub fn_name: Name,
pub num_args: usize,
pub arg_kinds: Vec<CongrArgKind>,
pub proof: Option<Expr>,
pub ty: Option<Expr>,
}Expand description
A congruence theorem for a specific function.
Fields§
§fn_name: NameThe function this theorem is about
num_args: usizeThe number of arguments
arg_kinds: Vec<CongrArgKind>The kind of each argument
proof: Option<Expr>The proof term (if generated)
ty: Option<Expr>The type of the congruence lemma
Implementations§
Source§impl CongruenceTheorem
impl CongruenceTheorem
Sourcepub fn new(fn_name: Name, arg_kinds: Vec<CongrArgKind>) -> Self
pub fn new(fn_name: Name, arg_kinds: Vec<CongrArgKind>) -> Self
Create a new congruence theorem description.
Sourcepub fn has_eq_args(&self) -> bool
pub fn has_eq_args(&self) -> bool
Check if any argument needs an equality proof.
Sourcepub fn num_eq_hypotheses(&self) -> usize
pub fn num_eq_hypotheses(&self) -> usize
Get the number of equality hypotheses needed.
Trait Implementations§
Source§impl Clone for CongruenceTheorem
impl Clone for CongruenceTheorem
Source§fn clone(&self) -> CongruenceTheorem
fn clone(&self) -> CongruenceTheorem
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 CongruenceTheorem
impl RefUnwindSafe for CongruenceTheorem
impl Send for CongruenceTheorem
impl Sync for CongruenceTheorem
impl Unpin for CongruenceTheorem
impl UnsafeUnpin for CongruenceTheorem
impl UnwindSafe for CongruenceTheorem
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