The compiled form of iterUp.
Equations
- Hex.Kernel.iterUpImpl k f a = Hex.Kernel.iterUpImpl.go✝ f k 0 a
Instances For
The compiled form of fuelRec.
Equations
- Hex.Kernel.fuelRecImpl 0 x✝¹ x✝ = x✝¹
- Hex.Kernel.fuelRecImpl k.succ x✝¹ x✝ = x✝ (Hex.Kernel.fuelRecImpl k x✝¹ x✝)
Instances For
@[implemented_by Hex.Kernel.fuelRecImpl]
fuelRec k base step = step (… (step base)), k times: the
fuel-bounded recursion of a loop with an early exit as one Nat.rec
step per unfolding (β is the loop's function type).
Equations
- Hex.Kernel.fuelRec k base step = Nat.rec base (fun (x : Nat) (ih : β) => step ih) k
Instances For
(List.range k).map f, built by the loop driver.
Equations
- Hex.Kernel.mapRange k f = (Hex.Kernel.iterUp k (fun (o : Nat) (acc : List α) => f o :: acc) []).reverse
Instances For
(List.range k).all p, by the loop driver.
Equations
- Hex.Kernel.allRange k p = Hex.Kernel.iterUp k (fun (v : Nat) (b : Bool) => b && p v) true