b o : Ordinal
⊢ foldr (fun p r => b ^ p.fst * p.snd + r) 0 [] = 0
b o : Ordinal
⊢ foldr (fun p r => b ^ p.fst * p.snd + r) 0 (CNF b 0) = 0
rw [CNF_zero]
no goals
b o : Ordinal
⊢ foldr (fun p r => b ^ p.fst * p.snd + r) 0 [] = 0
rfl
no goals
b o✝ o : Ordinal
ho : o ≠ 0
IH : foldr (fun p r => b ^ p.fst * p.snd + r) 0 (CNF b (o % b ^ log b o)) = o % b ^ log b o
⊢ foldr (fun p r => b ^ p.fst * p.snd + r) 0 (CNF b o) = o
rw [CNF_ne_zero ho, foldr_cons, IH, div_add_mod]