pub enum WfRelationKind {
Structural {
inductive_type: Name,
param_index: usize,
},
Measure {
measure_fn: Name,
},
Lexicographic {
components: Vec<WfRelationKind>,
},
NatSub,
Custom {
relation: Name,
},
}Expand description
Well-founded relation kind for termination arguments.
Variants§
Structural
Structural recursion on an inductive type.
Fields
Measure
Recursion on a numeric measure.
Lexicographic
Lexicographic combination of multiple relations.
Fields
§
components: Vec<WfRelationKind>The component relations.
NatSub
Well-founded recursion on natural number subtraction.
Custom
Custom user-provided well-founded relation.
Implementations§
Source§impl WfRelationKind
impl WfRelationKind
Sourcepub fn is_structural(&self) -> bool
pub fn is_structural(&self) -> bool
Check if this is a structural recursion.
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Return a human-readable description.
Trait Implementations§
Source§impl Clone for WfRelationKind
impl Clone for WfRelationKind
Source§fn clone(&self) -> WfRelationKind
fn clone(&self) -> WfRelationKind
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 moreSource§impl Debug for WfRelationKind
impl Debug for WfRelationKind
Source§impl PartialEq for WfRelationKind
impl PartialEq for WfRelationKind
impl Eq for WfRelationKind
impl StructuralPartialEq for WfRelationKind
Auto Trait Implementations§
impl Freeze for WfRelationKind
impl RefUnwindSafe for WfRelationKind
impl Send for WfRelationKind
impl Sync for WfRelationKind
impl Unpin for WfRelationKind
impl UnsafeUnpin for WfRelationKind
impl UnwindSafe for WfRelationKind
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