equal
deleted
inserted
replaced
331 where |
331 where |
332 "collatz n = |
332 "collatz n = |
333 (if n \<le> 1 then Some [n] |
333 (if n \<le> 1 then Some [n] |
334 else if even n |
334 else if even n |
335 then do { ns \<leftarrow> collatz (n div 2); Some (n # ns) } |
335 then do { ns \<leftarrow> collatz (n div 2); Some (n # ns) } |
336 else do { ns \<leftarrow> collatz (3 * n + 1); Some (n # ns)})" |
336 else do { ns \<leftarrow> collatz (3 * n + 1); Some (n # ns)})" |
337 |
337 |
338 declare collatz.simps[code] |
338 declare collatz.simps[code] |
339 value "collatz 23" |
339 value "collatz 23" |
340 |
340 |
341 |
341 |