Monoid action by iterates of a map #
In this file we define IterateMulAct f
, f : α → α
, as a one field structure wrapper over ℕ
that acts on α
by iterates of f
, ⟨n⟩ • x = f^[n] x
.
It is useful to convert between definitions and theorems about maps and monoid actions.
A structure with a single field val : ℕ
that additively acts on α
by ⟨n⟩ +ᵥ x = f^[n] x
.
- val : ℕ
The value of
n : IterateAddAct f
.
Instances For
theorem
IterateMulAct.ext_iff
{α : Type u_1}
{f : α → α}
{x : IterateMulAct f}
{y : IterateMulAct f}
:
theorem
IterateAddAct.ext
{α : Type u_1}
{f : α → α}
{x : IterateAddAct f}
{y : IterateAddAct f}
(val : x.val = y.val)
:
x = y
theorem
IterateAddAct.ext_iff
{α : Type u_1}
{f : α → α}
{x : IterateAddAct f}
{y : IterateAddAct f}
:
theorem
IterateMulAct.ext
{α : Type u_1}
{f : α → α}
{x : IterateMulAct f}
{y : IterateMulAct f}
(val : x.val = y.val)
:
x = y
A structure with a single field val : ℕ
that acts on α
by ⟨n⟩ • x = f^[n] x
.
- val : ℕ
The value of
n : IterateMulAct f
.
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
theorem
IterateAddAct.instAddCommMonoid.proof_4
{α : Type u_1}
{f : α → α}
:
∀ (x : IterateAddAct f), (fun (n : ℕ) (a : IterateAddAct f) => { val := n * a.val }) 0 x = 0
theorem
IterateAddAct.instAddCommMonoid.proof_6
{α : Type u_1}
{f : α → α}
:
∀ (x x_1 : IterateAddAct f), x + x_1 = x_1 + x
theorem
IterateAddAct.instAddCommMonoid.proof_1
{α : Type u_1}
{f : α → α}
(a : IterateAddAct f)
(b : IterateAddAct f)
(c : IterateAddAct f)
:
theorem
IterateAddAct.instAddCommMonoid.proof_3
{α : Type u_1}
{f : α → α}
:
∀ (x : IterateAddAct f), x + 0 = x + 0
theorem
IterateAddAct.instAddCommMonoid.proof_5
{α : Type u_1}
{f : α → α}
(n : ℕ)
(a : IterateAddAct f)
:
(fun (n : ℕ) (a : IterateAddAct f) => { val := n * a.val }) (n + 1) a = (fun (n : ℕ) (a : IterateAddAct f) => { val := n * a.val }) n a + a
theorem
IterateAddAct.instAddCommMonoid.proof_2
{α : Type u_1}
{f : α → α}
:
∀ (x : IterateAddAct f), 0 + x = x
Equations
- IterateAddAct.instAddCommMonoid = AddCommMonoid.mk ⋯
Equations
- IterateMulAct.instCommMonoid = CommMonoid.mk ⋯
Equations
- IterateAddAct.instAddAction = AddAction.mk ⋯ ⋯
Equations
- IterateMulAct.instMulAction = MulAction.mk ⋯ ⋯