Maps (semi)conjugating a shift to a shift #
Denote by (S^1) the unit circle UnitAddCircle
.
A common way to study a self-map (f\colon S^1\to S^1) of degree 1
is to lift it to a map (\tilde f\colon \mathbb R\to \mathbb R)
such that (\tilde f(x + 1) = \tilde f(x)+1) for all x
.
In this file we define a structure and a typeclass
for bundled maps satisfying f (x + a) = f x + b
.
We use parameters a
and b
instead of 1
to accomodate for two use cases:
- maps between circles of different lengths;
- self-maps (f\colon S^1\to S^1) of degree other than one, including orientation-reversing maps.
A bundled map f : G → H
such that f (x + a) = f x + b
for all x
.
One can think about f
as a lift to G
of a map between two AddCircle
s.
- toFun : G → H
The underlying function of an
AddConstMap
. Use automatic coercion to function instead. An
AddConstMap
satisfiesf (x + a) = f x + b
. Usemap_add_const
instead.
Instances For
A bundled map f : G → H
such that f (x + a) = f x + b
for all x
.
One can think about f
as a lift to G
of a map between two AddCircle
s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Typeclass for maps satisfying f (x + a) = f x + b
.
Note that a
and b
are outParam
s,
so one should not add instances like
[AddConstMapClass F G H a b] : AddConstMapClass F G H (-a) (-b)
.
- coe : F → G → H
- coe_injective' : Function.Injective DFunLike.coe
A map of
AddConstMapClass
class semiconjugates shift bya
to the shift byb
:∀ x, f (x + a) = f x + b
.
Instances
Properties of AddConstMapClass
maps #
In this section we prove properties like f (x + n • a) = f x + n • b
.
Auxiliary lemmas for the "monotonicity on a fundamental interval implies monotonicity" lemmas.
We formulate it for any relation so that the proof works both for Monotone
and StrictMono
.
Coercion to function #
Equations
- AddConstMap.instAddConstMapClassAddConstMap = AddConstMapClass.mk (_ : ∀ (f : AddConstMap G H a b) (x : G), f.toFun (x + a) = f.toFun x + b)
Constructions about G →+c[a, b] H
#
Equations
- AddConstMap.instInhabitedAddConstMap = { default := AddConstMap.id }
Composition of two AddConstMap
s.
Equations
Instances For
Change constants a
and b
in (f : G →+c[a, b] H)
to improve definitional equalities.
Equations
- AddConstMap.replaceConsts f a' b' ha hb = { toFun := ⇑f, map_add_const' := (_ : ∀ (x : G), f (x + a') = f x + b') }
Instances For
Additive action on G →+c[a, b] H
#
If f
is an AddConstMap
, then so is (c +ᵥ f ·)
.
Equations
- One or more equations did not get rendered due to their size.
Monoid structure on endomorphisms G →+c[a, a] G
#
Equations
- One or more equations did not get rendered due to their size.
Multiplicative action on (b : H) × (G →+c[a, b] H)
#
If K
acts distributively on H
, then for each f : G →+c[a, b] H
we define (AddConstMap.smul c f : G →+c[a, c • b] H)
.
One can show that this defines a multiplicative action of K
on (b : H) × (G →+c[a, b] H)
but we don't do this at the moment because we don't need this.
Pointwise scalar multiplication of f : G →+c[a, b] H
as a map G →+c[a, c • b] H
.
Equations
Instances For
The map that sends c
to a translation by c
as a monoid homomorphism from Multiplicative G
to G →+c[a, a] G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If f : G → H
is an AddConstMap
, then so is fun x ↦ -f (-x)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A map f : R →+c[1, a] G
is defined by its values on Set.Ico 0 1
.
Equations
- One or more equations did not get rendered due to their size.