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§impl Debug for WfRelationKind
impl Debug for WfRelationKind
impl Eq for WfRelationKind
Source§impl PartialEq for WfRelationKind
impl PartialEq for WfRelationKind
impl StructuralPartialEq for WfRelationKind
Auto Trait Implementations§
impl !Send for WfRelationKind
impl !Sync for WfRelationKind
impl Forget for WfRelationKind
impl Freeze for WfRelationKind
impl Move for WfRelationKind
impl RefUnwindSafe 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