pub enum RecursionPlan {
IntCountdown,
ListStructural,
StringPosAdvance,
MutualIntCountdown,
MutualStringPosAdvance {
rank: usize,
},
MutualSizeOfRanked {
rank: usize,
metric_param_index: usize,
},
}Expand description
Proof-mode recursion support class for emitted Lean definitions.
Variants§
IntCountdown
Single-function recursion where first Int parameter decreases by 1.
ListStructural
Single-function structural recursion on first List<_> parameter.
StringPosAdvance
Single-function recursion where first String stays the same and second Int
parameter strictly advances (pos + k, k >= 1).
MutualIntCountdown
Mutual recursion group where first Int parameter decreases by 1 across SCC calls.
MutualStringPosAdvance
Mutual recursion group where first String is preserved and second Int
either stays the same across rank-decreasing edges, or strictly advances.
MutualSizeOfRanked
Generic mutual recursion plan using sizeOf on a selected parameter,
plus rank for same-parameter edges.
Trait Implementations§
Source§impl Clone for RecursionPlan
impl Clone for RecursionPlan
Source§fn clone(&self) -> RecursionPlan
fn clone(&self) -> RecursionPlan
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 RecursionPlan
impl Debug for RecursionPlan
Source§impl PartialEq for RecursionPlan
impl PartialEq for RecursionPlan
impl Copy for RecursionPlan
impl Eq for RecursionPlan
impl StructuralPartialEq for RecursionPlan
Auto Trait Implementations§
impl Freeze for RecursionPlan
impl RefUnwindSafe for RecursionPlan
impl Send for RecursionPlan
impl Sync for RecursionPlan
impl Unpin for RecursionPlan
impl UnsafeUnpin for RecursionPlan
impl UnwindSafe for RecursionPlan
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