MCPcopy Create free account
hub / github.com/argumentcomputer/ix / try_eval_nat_value_for_pred

Method try_eval_nat_value_for_pred

crates/kernel/src/whnf.rs:2079–2084  ·  view source on GitHub ↗

A shallow Nat evaluator for bounded native helpers. This is intentionally not used by `Nat.beq`/`Nat.ble` primitive reduction; those follow Lean and only compare WHNF'd literal-extension arguments. BitVec helpers use this narrower evaluator to avoid forcing large recursive Nat models when only a bounded width is useful.

(
    &mut self,
    e: &KExpr<M>,
  )

Source from the content-addressed store, hash-verified

2077 }
2078
2079 let ExprData::Const(rec_id, rec_us, _) = head.data() else {
2080 return None;
2081 };
2082 if rec_id.addr != self.prims.decidable_rec.addr || args.len() < 5 {
2083 return None;
2084 }
2085
2086 let ExprData::Lam(motive_name, motive_bi, motive_dom, _, _) =
2087 args[1].data()

Callers 1

Tested by

no test coverage detected