Skip to main content

derive_brec_on

Function derive_brec_on 

Source
pub fn derive_brec_on(ctx: &Context, ind: &str) -> KernelResult<(Term, Term)>
Expand description

I_brecOn : Π(A…). Π(motive : I A… → Type 0). Π(t : I A…). Π(F : Π(s). I_below A… motive s → motive s). motive t

Course-of-values RECURSION — the eliminator that hands the step function every subterm at once, which is how | n+2 => … (and halve/fib/pairSum) is a structural definition rather than a re-expressed mutual block. Built the way Lean builds it: one structural recursion producing the PAIR (motive s, below motive s), then the first projection.