Hyperoperation sequence #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the Hyperoperation sequence.
hyperoperation 0 m k = k + 1
hyperoperation 1 m k = m + k
hyperoperation 2 m k = m * k
hyperoperation 3 m k = m ^ k
hyperoperation (n + 3) m 0 = 1
hyperoperation (n + 1) m (k + 1) = hyperoperation n m (hyperoperation (n + 1) m k)
References #
Tags #
hyperoperation
Implementation of the hyperoperation sequence
where hyperoperation n m k
is the n
th hyperoperation between m
and k
.
Equations
- hyperoperation (n.succ.succ + 1) m (k + 1) = hyperoperation n.succ.succ m (hyperoperation (n.succ.succ + 1) m k)
- hyperoperation (n + 3) _x 0 = 1
- hyperoperation (1 + 1) m (k + 1) = hyperoperation 1 m (hyperoperation (1 + 1) m k)
- hyperoperation 2 _x 0 = 0
- hyperoperation (0 + 1) m (k + 1) = hyperoperation 0 m (hyperoperation (0 + 1) m k)
- hyperoperation 1 m 0 = m
- hyperoperation 0 _x k = k + 1
theorem
hyperoperation_recursion
(n m k : ℕ) :
hyperoperation (n + 1) m (k + 1) = hyperoperation n m (hyperoperation (n + 1) m k)