Theorem Catalog¶
The declarations selected in
Verify.lean,
by module. CI checks that each depends only on propext, Classical.choice and
Quot.sound (see the Axiom Dashboard). A clean axiom record does not
discharge a theorem's hypotheses: they are part of the statement, summarized below and
given in full in the source.
Notation: \(\Phi_k(x) = (\alpha(x), \alpha(fx), \dots, \alpha(f^{k-1}x))\) is the delay
map (delayEmbedding f α k); \(d = \dim M\) on a manifold \(M\).
Finite and discrete delay maps¶
OrdinalPattern¶
| Declaration | Statement |
|---|---|
IsOrdinalPatternOf |
\(\sigma\) is the ordinal pattern of \(v : \mathrm{Fin}\,d \to \mathbb{R}\) if \(v \circ \sigma\) is strictly increasing |
ordinalPattern |
The ordinal pattern of a tie-free \(v\) |
ordinalPattern_exists_unique |
A tie-free \(v\) has exactly one ordinal pattern |
isOrdinalPatternOf_comp_strictMono |
A strictly increasing \(g\) preserves ordinal patterns |
ordinalPattern_surjective |
Every permutation is the pattern of some tie-free vector |
ordinalPattern_eq_tuple_sort |
The ordinal pattern is Mathlib's Tuple.sort |
ordinalPattern_eq_iff |
Two tie-free vectors have the same pattern iff they induce the same strict order |
ordinalPattern_comp_strictMono |
Pattern of \(g \circ v\) equals pattern of \(v\) for strictly increasing \(g\) |
ordinalPattern_comp_strictAnti |
For strictly decreasing \(g\), the pattern of \(g \circ v\) is \(\sigma \circ \mathrm{rev}\) |
Tuple.sort_comp_strictMono |
The stable sort is invariant under strictly increasing \(g\), ties included |
card_equiv_perm_fin |
There are \(d!\) ordinal patterns of order \(d\) |
DelayWindow¶
| Declaration | Statement |
|---|---|
delayEmbedding |
The delay map \(\Phi_k\) |
SeparatesOrbits |
\(\alpha\) separates \(f\)-orbits at window \(k\): equal windows force equal states |
WindowDistinct |
The window at \(x\) has no ties |
delayEmbedding_injective_iff_separatesOrbits |
\(\Phi_k\) is injective iff \(\alpha\) separates orbits at window \(k\) |
separatesOrbits_of_le |
Separation at \(m\) implies separation at every \(n \ge m\) |
delayEmbedding_continuous |
\(\Phi_k\) is continuous for continuous \(f\), \(\alpha\) |
delayEmbedding_iterate_apply |
A sampling lag \(q\) is the delay map of \(f^q\) |
delayEmbedding_succ_eq_iff |
Windows of length \(k+1\) agree iff the first values and the next windows of length \(k\) agree |
coincidenceLength |
First index where the observed orbits of \(x\), \(y\) differ, in \(\mathbb{N}_\infty\) |
natCast_le_coincidenceLength_iff |
\(n \le c(x,y)\) iff the observations agree before \(n\) |
delayEmbedding_eq_iff_le_coincidenceLength |
\(\Phi_k(x) = \Phi_k(y)\) iff \(k \le c(x,y)\) |
coincidenceLength_eq_top_iff |
\(c(x,y) = \infty\) iff the observations agree at every time |
coincidenceLength_eq_natCast_iff |
\(c(x,y) = n\) iff agreement before \(n\) and disagreement at \(n\) |
coincidenceLength_comm |
\(c\) is symmetric |
coincidenceLength_self |
\(c(x,x) = \infty\) |
coincidenceLength_eq_zero_iff |
\(c(x,y) = 0\) iff \(\alpha(x) \ne \alpha(y)\) |
coincidenceLength_of_ne |
One-step recursion, first values differ |
coincidenceLength_of_eq |
One-step recursion: \(c(x,y) = c(fx, fy) + 1\) when \(\alpha(x) = \alpha(y)\) |
separatesOrbits_iff_forall_coincidenceLength_lt |
Separation at \(k\) iff \(c(x,y) < k\) for all \(x \ne y\) |
separatingHorizon |
\(\sup_{x \ne y} (c(x,y) + 1)\) in \(\mathbb{N}_\infty\) |
separatesOrbits_iff_separatingHorizon_le |
Separation at \(k\) iff the horizon is at most \(k\) |
exists_separatesOrbits_iff_separatingHorizon_ne_top |
Some window separates iff the horizon is finite |
isLeast_separatingHorizon |
A finite horizon is the least separating window |
separatingHorizon_eq_zero_iff |
The horizon is \(0\) iff there are no two distinct states |
separatingHorizon_eq_top_of_forall |
A never-distinguished pair forces an infinite horizon |
exists_separatingHorizon_eq |
On a finite space with at least two states the horizon is attained by a distinct pair |
separatingHorizon_eq_top_iff |
On a finite space the horizon is infinite iff some pair is never distinguished |
exists_separatingWindow_iff |
On a finite space some window separates iff every distinct pair is eventually distinguished |
delayEmbedding_image_card_le |
At most \(\lvert X\rvert\) distinct windows |
delayEmbedding_image_card_of_injective |
Exactly \(\lvert X\rvert\) windows when \(\Phi_k\) is injective |
IteratePeriod¶
| Declaration | Statement |
|---|---|
separatesOrbits_of_injective |
An injective observation separates orbits at every \(k \ge 1\) |
windowDistinct_of_injective_of_le_minimalPeriod |
Injective \(\alpha\) and \(k \le\) minimal period give a tie-free window |
isPeriodicPt_of_injective_iterate_eq |
For injective \(f\), a repeated iterate makes \(x\) periodic |
windowDistinct_of_injective_orbit |
Injective \(\alpha\) and a non-repeating orbit segment give a tie-free window |
TakensDiscrete¶
| Declaration | Statement |
|---|---|
forall_iterate_eq_of_delayEmbedding_eq |
On \(N\) states, equal windows of length \(N-1\) give equal observations at all times |
coincidenceLength_lt_card_sub_one |
A finite coincidence length on \(N\) states is below \(N-1\) |
separatingHorizon_le_card_sub_one |
A finite horizon on \(N\) states is at most \(N-1\) |
separatesOrbits_card_sub_one_iff |
Window \(N-1\) separates iff some window does |
countdown |
The chain \(i \mapsto i-1\) on \(\mathrm{Fin}\,N\), \(0\) fixed |
countdownObs |
The indicator of state \(0\) |
separatingHorizon_countdown |
The countdown chain needs exactly \(N-1\) coordinates: the bound is sharp |
HorizonResult |
Result type of the horizon search |
horizonSearch |
Exact search for the least separating window on \(\mathrm{Fin}\,n\) |
horizonSearch_separating |
A separating k answer is the exact horizon |
horizonSearch_indistinguishable |
An indistinguishable x y answer is a distinct pair never distinguished |
horizonSearch_eq_separating_iff |
The search returns separating k iff the horizon is \(k\) |
exists_horizonSearch_eq_indistinguishable_iff |
The search returns a pair iff the horizon is infinite |
Reconstruction¶
| Declaration | Statement |
|---|---|
delayDecoder |
The inverse of an injective delay map on its image |
delayDecoder_delayEmbedding |
Decoding a window returns the state |
delayEmbedding_delayDecoder |
Encoding a decoded window returns the window |
reconstructedDynamics |
\(\Phi_k \circ f \circ \Phi_k^{-1}\) on the image |
reconstructedDynamics_delayEmbedding |
It maps the window of \(x\) to the window of \(fx\) |
reconstructedDynamics_iterate_delayEmbedding |
The same for iterates |
reconstructedDynamics_apply_of_lt |
Shift formula: only the last coordinate is new |
reconstructedDynamics_bijective |
Bijective for bijective \(f\) |
delayHomeomorph |
For compact \(X\), an injective delay map is a homeomorphism onto its image |
continuous_delayDecoder |
The decoder is continuous (compact \(X\)) |
reconstructedDynamics_eq_conj |
The reconstructed dynamics is conjugate to \(f\) by the homeomorphism |
continuous_reconstructedDynamics |
The reconstructed dynamics is continuous (compact \(X\)) |
Ordinal codes¶
OrdinalTakens¶
| Declaration | Statement |
|---|---|
ordinalDelayMap |
The ordinal pattern of the window, on tie-free states |
ordinalDelayMap_monotone_invariant |
Invariant under strictly increasing transformations of \(\alpha\) |
windowDistinct_comp |
An injective transformation keeps windows tie-free |
ordinalDelayMap_comp_strictMono |
Invariance under strictly increasing \(g\) |
ordinalDelayMap_comp_strictAnti |
Relabeling \(\sigma \mapsto \sigma \circ \mathrm{rev}\) under strictly decreasing \(g\) |
ordinalDelayMap_eq_iff |
Equal codes iff the windows induce the same strict order |
ordinalDelayMap_eq_of_order_eq |
Same strict order gives the same code |
observedPatterns |
The patterns seen along \(N\) windows of an orbit |
observedPatterns_comp_strictMono |
Invariant under strictly increasing \(g\), ties included |
observedPatterns_comp_strictAnti |
Relabeled under strictly decreasing \(g\) on tie-free segments |
coe_observedPatterns_eq_ordinalDelayMap |
On tie-free segments, the observed patterns are the codes along the orbit |
card_observedPatterns_le_factorial |
At most \(d!\) observed patterns |
card_observedPatterns_le_length |
At most \(N\) |
card_observedPatterns_le_period |
At most the minimal period on a periodic orbit |
OrdinalEntropy¶
| Declaration | Statement |
|---|---|
patternCount |
Number of windows with a given pattern |
patternFreq |
Empirical frequency of a pattern |
patternEntropy |
Shannon entropy of the empirical pattern distribution |
sum_patternCount |
Counts add up to \(N\) |
sum_patternFreq |
Frequencies add up to \(1\) for \(N > 0\) |
patternCount_pos_iff |
Positive count iff the pattern is observed |
patternEntropy_nonneg |
The entropy is nonnegative |
patternEntropy_le_log_card |
At most the log of the number of observed patterns |
patternEntropy_le_log_min |
At most \(\log \min(d!, N)\) |
patternEntropy_le_log_min_period |
Also at most the log of the minimal period on periodic orbits |
patternEntropy_comp_strictMono |
Invariant under strictly increasing \(g\) |
patternCount_comp_strictAnti |
Counts relabel under strictly decreasing \(g\) on tie-free segments |
patternEntropy_comp_strictAnti |
Entropy is invariant under strictly decreasing \(g\) on tie-free segments |
patternEntropy_zero_length |
No windows, zero entropy |
patternEntropy_eq_zero_of_le_one |
Windows of length at most \(1\) carry no entropy |
OrdinalQuotient¶
| Declaration | Statement |
|---|---|
ordinalSetoid |
Two tie-free states are equivalent if they have the same code |
ordinalSetoid_iff |
Equivalence is equality of the strict orders of the windows |
ordinalQuotientEquivRange |
The quotient is in bijection with the codes that occur |
exists_factor_iff |
A quantity factors through the code iff it is constant on code fibers |
factor_unique |
The factor is unique on the codes that occur |
exists_ordinalDynamics_iff |
Codes evolve by a map on codes iff equal codes have equal next codes |
not_injective_ordinalDelayMap_of_factorial_lt |
The code is not injective on more than \(k!\) tie-free states |
not_injective_ordinalDelayMap_of_infinite |
Nor on infinitely many |
Sard's theorem¶
SardInfra¶
| Declaration | Statement |
|---|---|
criticalSet |
Points where the derivative is not surjective |
criticalValues |
Image of the critical set |
det_fderiv_eq_zero_of_not_surjective |
A non-surjective endomorphism has determinant \(0\) |
ContinuousLinearMap.surjective_iff_det_ne_zero |
Surjective iff nonzero determinant |
criticalSet_eq_det_zero |
The critical set of \(f : E \to E\) is the zero set of the Jacobian |
isClosed_criticalSet |
Closed critical set for \(C^1\) maps |
isClosed_criticalSet_of_contDiff |
The same for analytic maps (original statement) |
sard_equidim_of_contDiff |
\(C^1\), \(E \to E\): critical values are Haar-null (area formula) |
sard_equidim |
The same for analytic maps (original statement) |
addHaar_image_eq_zero_of_differentiableOn_of_finrank_lt |
A differentiable image of a lower-dimensional set is Haar-null |
sard_low_dim_of_contDiff |
\(C^1\), \(\dim E < \dim F\): critical values are Haar-null |
sard_low_dim |
The same for analytic maps (original statement) |
exists_continuousLinearEquiv_of_finrank_eq |
Equal dimensions give a continuous linear equivalence |
criticalSet_comp_equiv |
Post-composition with an equivalence keeps the critical set |
ContinuousLinearEquiv.symm_preimage_eq_image |
\(e^{-1}\)-preimage equals \(e\)-image |
map_continuousLinearEquiv_isAddHaarMeasure |
Transport of an additive Haar measure |
sard_equidim_general_of_contDiff |
\(C^1\), \(\dim E = \dim F\): critical values are Haar-null |
sard_equidim_general |
The same for analytic maps (original statement) |
Sard (with the ported Moreira theorem)¶
| Declaration | Statement |
|---|---|
hausdorffMeasure_sardMoreiraBound_image_null_of_finrank_le |
Moreira's theorem: rank-\(\le p\) points of a \(C^{k+(\alpha)}\) map have \(\mathcal{H}^{s}\)-null image, \(s = p + (n-p)/(k+\alpha)\) (ported) |
sardMoreiraBound |
The exponent \(p + (n-p)/(k+\alpha)\) (ported) |
coe_sardMoreiraBound_sub_add_one |
For rank \(m-1\), order \(n-m+1\), \(\alpha = 0\) the exponent is \(m\) |
criticalSet_eq_empty_of_finrank_eq_zero |
Maps into a zero-dimensional space have no critical points |
addHaar_image_inter_criticalSet_eq_zero |
Local form: \(C^r\) at every point of \(s\) gives Haar-null critical values on \(s\) |
addHaar_image_inter_criticalSet_eq_zero_of_contDiffOn |
Open-set form |
sard |
Sard's theorem: \(C^r\) with \(r \ge \max\{1, \dim E - \dim F + 1\}\) gives Haar-null critical values |
Genericity in finite-dimensional families¶
Avoidance¶
| Declaration | Statement |
|---|---|
exists_lipschitzOnWith_levelSet_subset_image |
Near a submersion point, a level set is a Lipschitz image of a piece of the kernel |
addHaar_image_levelSet_eq_zero |
Projections of such level sets of too small dimension are Haar-null |
range_eq_top_of_comp_inl |
A derivative onto in the first factor is onto |
ae_forall_ne_of_hasStrictFDerivAt |
Parametric avoidance: for almost every parameter, \(\Phi(a, \cdot)\) misses \(c\) on \(U\) when \(\dim Z < \dim Y\) |
GenericFamily¶
| Declaration | Statement |
|---|---|
ae_forall_add_apply_ne |
An affine family \(G_0 + L\,a\) with onto \(L\) misses a value on a lower-dimensional set for a.e. \(a\) |
ae_forall_injective_fderiv_add_apply |
Generic immersion in an affine family when \(2\dim X \le \dim Y\) |
ae_forall_add_apply_ne_add_apply |
Generic separation of two affine families when \(\dim X_1 + \dim X_2 < \dim Y\) |
ae_forall_injective_fderiv_add_sum |
Generic immersion for \(\Psi_0 + \sum_i a_i \Psi_i\) under a span condition |
ae_forall_add_sum_ne_add_sum |
Generic separation for finite families under a span condition |
PolynomialNull¶
| Declaration | Statement |
|---|---|
MvPolynomial.ae_eval_ne_zero |
A nonzero real polynomial in finitely many variables is nonzero almost everywhere, for any additive Haar measure |
ae_add_sum_mul_ne_zero |
An affine function of the coefficients that is nonzero somewhere is nonzero almost everywhere |
ae_injective_add_sum |
In an affine family of linear maps between finite-dimensional spaces, if one member is injective then almost every member is |
ae_injective_add_sum_clm |
The same for continuous linear maps |
Smooth delay maps¶
SmoothTakens¶
| Declaration | Statement |
|---|---|
smoothDelayMap |
The real-valued delay map (compatibility name for delayEmbedding) |
smoothDelayMap_continuous |
Continuous for continuous data |
smoothDelayMap_isClosedEmbedding |
Compact domain and injective: a closed embedding |
smoothDelayMap_isEmbedding |
Compact domain and injective: an embedding |
smoothDelayMapRangeHomeomorph |
Homeomorphism onto the image |
smoothDelayMap_eq_delayEmbedding |
It is delayEmbedding |
SmoothDelay¶
| Declaration | Statement |
|---|---|
IsContMDiffEmbedding |
A \(C^r\) map with injective differentials that is a topological embedding |
IsContMDiffEmbedding.of_le |
A \(C^r\) embedding is a \(C^s\) embedding for \(s \le r\) |
IsContMDiffEmbedding.isDiffImmersionAt |
Its differential has a continuous left inverse |
isContMDiffEmbedding_of_injective |
On a compact manifold an injective \(C^r\) immersion is a \(C^r\) embedding |
contMDiff_delayEmbedding |
\(C^n\) dynamics and observation give a \(C^n\) delay map |
mfderiv_iterate_succ_apply |
Chain rule for iterates |
delayCovector |
The covector \(Dh_{T^i x} \circ D(T^i)_x\) |
delayCovector_eq_mvfderiv |
It is the differential of \(h \circ T^i\) |
mfderiv_delayEmbedding_apply |
The \(i\)-th coordinate of the differential is the \(i\)-th delayed covector |
injective_mfderiv_delayEmbedding_iff |
Immersion at \(x\) iff no nonzero vector is killed by all delayed covectors |
injective_mfderiv_delayEmbedding_iff_span |
Immersion at \(x\) iff the delayed covectors span the cotangent space |
finrank_le_of_injective_mfderiv_delayEmbedding |
An immersion needs at least \(d\) coordinates |
not_injective_mfderiv_delayEmbedding_id |
For \(T = \mathrm{id}\) and \(d \ge 2\), no observation gives an immersion |
isContMDiffEmbedding_delayEmbedding |
Compact, injective and immersive: a \(C^r\) embedding |
DelayPerturbation¶
| Declaration | Statement |
|---|---|
injective_fderiv_comp_extChartAt_symm |
An immersion has injective chart derivatives |
perturbObservation |
The observation \(h + \sum_i a_i \varphi_i\) |
delayEmbedding_perturbObservation |
Its delay map is affine in \(a\) |
contMDiff_perturbObservation |
It is \(C^n\) for \(C^n\) data |
ae_forall_injective_mfderiv_delayEmbedding_perturb |
If the differentials of the \(\varphi_i\)-delay maps span \(\mathbb{R}^k\) along every nonzero vector and \(2d \le k\), a.e. perturbation is an immersion |
ae_forall_delayEmbedding_perturb_ne |
If differences of \(\varphi_i\)-delay vectors span \(\mathbb{R}^k\) on a set of pairs and \(2d < k\), a.e. perturbation separates those pairs |
ae_isContMDiffEmbedding_delayEmbedding_perturb |
Both span conditions everywhere on a compact manifold: a.e. perturbation is a \(C^2\) embedding |
exists_isContMDiffEmbedding_delayEmbedding_perturb |
Such perturbations exist with \(\lVert a \rVert < \varepsilon\) |
DelaySpan¶
| Declaration | Statement |
|---|---|
InterpolatesValues |
Any values at \(n \le N\) distinct points are attained by a combination of the family |
InterpolatesDerivatives |
Any directional derivatives at \(n \le N\) distinct points are attained |
telescope_sub |
Explicit solution of \(v_j - v_{j+m} = c_j\) |
surjective_sum_smul_sub_delayEmbedding |
Separation span condition for injective \(T\) without periodic points of period \(\le 2k-2\) |
surjective_sum_smul_mvfderiv_delayEmbedding |
Immersion span condition when \(x, \dots, T^{k-1}x\) are distinct and \(DT\) is injective |
ae_isContMDiffEmbedding_delayEmbedding_perturb_of_interpolates |
Fixed \(T\) without periodic points of period \(\le 4d\): a.e. perturbation in an interpolating family has a \(C^2\) delay embedding with \(2d+1\) coordinates |
InterpolatesValues.exists_eq_on |
Values on a finite set of at most \(N\) points are attained by a combination |
surjective_sum_smul_sub_delayEmbedding_of_aperiodic |
Separation span condition for \(x \ne y\) when \(x\) alone has no period \(\le 2k - 2\) |
InterpolatesCovectors |
Any covectors at \(n \le N\) distinct points are the differentials of a combination |
DelayPeriodic¶
| Declaration | Statement |
|---|---|
mfderiv_iterate_add_apply |
Chain rule \(D(T^{m+n})_x = D(T^m)_{T^n x} \circ D(T^n)_x\) |
mvfderiv_perturbObservation_apply |
The differential of \(h + \sum_i a_i \varphi_i\) |
exists_injective_mfderiv_delayEmbedding_perturb_of_periodic |
At a point of minimal period \(p \le 2d\) with an observing covector, some perturbation makes the delay map with \(2d+1\) coordinates an immersion there |
ae_injective_mfderiv_delayEmbedding_perturb_of_exists |
If one perturbation is an immersion at \(z\), almost every perturbation is |
ae_delayEmbedding_perturb_ne_of_ne |
A family interpolating values at two points separates them for almost every perturbation |
ae_isContMDiffEmbedding_delayEmbedding_perturb_of_periodic |
Fixed \(T\) with countably many points of period \(\le 4d\) and observability at periods \(\le 2d\): a.e. perturbation in an interpolating family has a \(C^2\) delay embedding with \(2d+1\) coordinates |
InterpolatingFamily¶
| Declaration | Statement |
|---|---|
momentFunctional |
\(q \mapsto \sum_r t^r q_r\) in the coordinates of a basis |
exists_forall_momentFunctional_ne_zero |
Among \(L > \lvert V\rvert D\) moment functionals one vanishes on no vector of \(V\) |
momentFamily |
The functions \(x \mapsto (\ell_l(e(x)))^s\) |
interpolatesValues_momentFamily |
For injective \(e\), the family interpolates values at \(N\) points |
interpolatesDerivatives_momentFamily |
For an injective \(C^1\) immersion \(e\), it interpolates derivatives at \(N\) points |
ae_isContMDiffEmbedding_delayEmbedding_momentFamily |
Fixed-map theorem with this explicit family |
exists_family_forall_ae_isContMDiffEmbedding_delayEmbedding |
On a compact smooth manifold, one finite smooth family works for every injective \(C^2\) map with injective differentials and no periodic points of period \(\le 4d\), and every \(C^2\) observation |
exists_family_forall_exists_isContMDiffEmbedding_delayEmbedding |
The same with coefficient vectors of arbitrarily small norm |
exists_finset_forall_momentFunctional_ne_zero |
Among \(L \ge \lvert V\rvert D + m\) moment functionals, \(m\) vanish on no vector of \(V\) |
interpolatesCovectors_momentFamily |
For an injective \(C^1\) immersion \(e\), the family interpolates covectors at \(N\) points |
ae_isContMDiffEmbedding_delayEmbedding_momentFamily_of_periodic |
The periodic fixed-map theorem with this explicit family |
exists_family_forall_ae_isContMDiffEmbedding_delayEmbedding_of_periodic |
One finite smooth family works for every \(T\) satisfying the periodic conditions and every \(C^2\) observation |
exists_family_forall_exists_isContMDiffEmbedding_delayEmbedding_of_periodic |
The same with coefficient vectors of arbitrarily small norm |
The \(C^2\) topology and generic observations¶
JetTopology¶
| Declaration | Statement |
|---|---|
ChartWindow |
A compact set of coordinates in the extended chart at a point |
ChartWindow.jet |
The \(k\)-th derivative of a chart expression at the points of a window |
ChartWindow.dist_jet_zero |
Jets of order \(0\) compare values |
ChartWindow.dist_jet_one |
Jets of order \(1\) compare first derivatives |
ContMDiffMap.instTopologicalSpace |
The weak \(C^n\) topology on \(C^n\) maps into a normed space |
ContMDiffMap.continuous_jet |
Jets of order \(\le n\) depend continuously on the map |
ContMDiffMap.eventually_forall_dist_jet_lt |
Uniform closeness of jets on a window is a neighbourhood condition |
ContMDiffMap.eventually_forall_dist_jet_lt_of_one_le |
The same for values and first derivatives on finitely many windows |
ContMDiffMap.continuous_of_continuous_jet |
A map into \(C^n\) maps is continuous if its jets are |
EmbeddingStability¶
| Declaration | Statement |
|---|---|
ContinuousLinearMap.exists_mul_norm_le_norm_of_injective |
An injective linear map on a finite-dimensional space is bounded below |
exists_closedBall_forall_injOn |
Local stability of immersions on a closed chart ball |
exists_forall_injective_of_near |
Stability of embeddings: an injective \(C^1\) immersion of a compact manifold has a \(C^1\) neighbourhood of injective immersions |
fderiv_comp_comp_extChartAt_symm |
Chain rule for the chart expression of \(k \circ S\) |
exists_window_forall_near_comp |
Precomposition with a \(C^1\) map, near a point |
exists_forall_near_comp |
Precomposition with a \(C^1\) map preserves \(C^1\)-closeness on a window |
GenericObservation¶
| Declaration | Statement |
|---|---|
ContMDiffMap.perturb |
The \(C^n\) observation \(h + \sum_i a_i \varphi_i\) |
ContMDiffMap.jet_perturb |
Its jets are the corresponding combinations |
ContMDiffMap.continuous_perturb |
It depends continuously on \(a\) in the weak \(C^n\) topology |
isOpen_setOf_isContMDiffEmbedding_delayEmbedding |
For a \(C^2\) map \(T\), the observations with a \(C^2\) embedding delay map form an open set |
dense_setOf_isContMDiffEmbedding_delayEmbedding |
Under the periodic conditions on \(T\), with \(2d+1\) coordinates they are dense |
isOpen_and_dense_setOf_isContMDiffEmbedding_delayEmbedding |
Takens' theorem for a fixed map in the \(C^2\) topology: open and dense |
WeakTopology¶
| Declaration | Statement |
|---|---|
BiChartWindow |
A compact set of coordinates in the extended chart at a source point, with a target chart |
BiChartWindow.Near |
First-order closeness of chart expressions on a window |
Diffeomorph.instTopologicalSpace |
The \(C^n\) topology on \(C^n\) diffeomorphisms, through charts on source and target |
Diffeomorph.eventually_near |
For \(n \ge 1\), first-order closeness on finitely many windows is a neighbourhood condition |
Diffeomorph.tendsto_nhds_of_tendstoUniformlyOn |
Uniform convergence of the jets on every window gives convergence of diffeomorphisms |
WeakComposition¶
| Declaration | Statement |
|---|---|
BiChartWindow.exists_near_comp |
Composition preserves first-order closeness on a window |
BiChartWindow.exists_near_iterate |
So does iteration, for each number of iterates |
GenericPair¶
| Declaration | Statement |
|---|---|
isOpen_setOf_isContMDiffEmbedding_delayEmbedding_pair |
Good pairs are open: the pairs \((T, h)\) whose delay map with \(k\) coordinates is a \(C^2\) embedding form an open set of \(\mathrm{Diff}^2(M) \times C^2(M, \mathbb{R})\) |
Bounded-period density and generic pairs¶
PeriodicGood¶
| Declaration | Statement |
|---|---|
GoodUpTo |
At every point of minimal period at most \(P\), the differential of \(T^p\) is good up to order \(4d\) |
mfderiv_iterate_mul_of_isPeriodicPt |
At a fixed point of \(T^p\), \(D(T^{qp}) = D(T^p)^q\) |
eventually_ne_self_of_det_ne_zero |
A nondegenerate fixed point is isolated |
finite_fixedPoints_of_forall_det_ne_zero |
On a compact manifold, nondegenerate fixed points are finitely many |
GoodUpTo.countable_periodic |
Goodness up to \(4d\) gives countably many points of period at most \(4d\) |
GoodUpTo.observable |
Goodness up to \(2d\) gives observability at points of period at most \(2d\) |
goodMat_mfderivEnd_iff |
Goodness of the differential at a fixed point can be read in any chart |
PeriodicNull¶
| Declaration | Statement |
|---|---|
measure_prod_setOf_not_goodMat_eq_zero |
Fubini: the pairs \((u, L)\) with \((1 + L)\, DW_u\) not good form a null set |
ae_forall_goodMat_perturb_comp |
Local null lemma: for almost every bump parameter, every fixed point of \(S_\theta \circ W\) in the core is good |
ChartPerturbation¶
| Declaration | Statement |
|---|---|
chartPerturb |
A bump perturbation in the chart at a point, the identity elsewhere |
chartPerturbDiffeo |
It is a \(C^2\) diffeomorphism for small parameters |
tendsto_trans_chartPerturbDiffeo |
\(S_\theta \circ T \to T\) in the \(C^2\) topology as \(\theta \to 0\) |
NearStability and PatchStability¶
| Declaration | Statement |
|---|---|
Diffeomorph.continuous_toContinuousMap |
The \(C^n\) topology on diffeomorphisms is finer than the compact-open topology |
Diffeomorph.eventually_forall_iterate_ne_self |
Having no fixed point of an iterate on a compact set is an open condition |
Diffeomorph.eventually_patchGood |
Goodness of the fixed points of \(T^P\) on a chart patch is an open condition |
PatchPerturbation and KupkaSmale¶
| Declaration | Statement |
|---|---|
exists_patch |
Near a point of minimal period \(P\), a patch on which small perturbations make every fixed point of \(T^P\) good |
exists_goodUpTo_mem_nhds_of_goodUpTo_pred |
The inductive step from period \(P - 1\) to \(P\) |
dense_setOf_goodUpTo |
Bounded-period nondegeneracy and observability density (Kupka--Smale-type): diffeomorphisms good up to period \(4d\) are dense |
GenericPairTakens¶
| Declaration | Statement |
|---|---|
dense_setOf_isContMDiffEmbedding_delayEmbedding_pair |
Good pairs are dense |
isOpen_and_dense_setOf_isContMDiffEmbedding_delayEmbedding_pair |
Takens' theorem for generic pairs: good pairs are open and dense in \(\mathrm{Diff}^2(M) \times C^2(M, \mathbb{R})\) |
CircleDelay¶
| Declaration | Statement |
|---|---|
quarterTurn |
\(z \mapsto iz\) on the unit circle |
firstCoord |
\(z \mapsto \operatorname{Re} z\) |
not_injective_firstCoord |
The observation alone does not determine the state |
delayEmbedding_quarterTurn_injective_iff |
The delay map is injective iff \(k \ge 2\) |
injective_mfderiv_delayEmbedding_quarterTurn |
It is an immersion for \(k \ge 2\) |
isContMDiffEmbedding_delayEmbedding_quarterTurn_iff |
A \(C^r\) embedding iff \(k \ge 2\) |
isContMDiffEmbedding_delayEmbedding_quarterTurn |
\(2 \cdot 1 + 1 = 3\) coordinates give a \(C^2\) embedding |