pub enum ProofStep {
Beta {
redex_depth: u32,
},
Delta {
name: String,
},
Zeta,
Iota {
recursor: String,
ctor_idx: u32,
},
Eta,
SubstLevel {
params: Vec<String>,
},
Assumption,
}Expand description
A single step in a proof reduction sequence.
These steps record the high-level reduction moves taken during kernel type-checking, enabling efficient replay or auditing.
Variants§
Beta
β-reduction: substitute the argument into the body.
redex_depth records the nesting depth at which this reduction occurred.
Delta
δ-reduction: unfold a named definition.
Zeta
ζ-reduction: substitute a let-binding.
Iota
ι-reduction: reduce a recursor application to a branch.
Fields
Eta
η-reduction: contract λ x, f x to f.
SubstLevel
Universe-level substitution.
Assumption
Appeal to a local assumption (hypothesis) in the context.
Trait Implementations§
impl Eq for ProofStep
impl StructuralPartialEq for ProofStep
Auto Trait Implementations§
impl Freeze for ProofStep
impl RefUnwindSafe for ProofStep
impl Send for ProofStep
impl Sync for ProofStep
impl Unpin for ProofStep
impl UnsafeUnpin for ProofStep
impl UnwindSafe for ProofStep
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