Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Conley–Zehnder index via winding intervals; dynamical convexity

Definition
HryniewiczCriterion_ConleyZehnder

by Mazecto · Oct 5, 2026 · Mathlib 0df444a (Lean v4.33.1)

contact-geometrydynamical-systemssymplectic-geometry

Winding interval. Let φ:[0,1]→Sp(1)\varphi:[0,1]\to Sp(1)φ:[0,1]→Sp(1) be a path with φ(0)=I\varphi(0)=Iφ(0)=I. For s∈[0,2π]s\in[0,2\pi]s∈[0,2π] let θ(⋅,s)\theta(\cdot,s)θ(⋅,s) be the continuous argument of t↦φ(t)eist\mapsto\varphi(t)e^{is}t↦φ(t)eis with θ(0,s)=s\theta(0,s)=sθ(0,s)=s, so that φ(t)eis=r eiθ(t,s)\varphi(t)e^{is}=r\,e^{i\theta(t,s)}φ(t)eis=reiθ(t,s) with r>0r>0r>0. Put Δ(s)=(θ(1,s)−s)/2π\Delta(s)=(\theta(1,s)-s)/2\piΔ(s)=(θ(1,s)−s)/2π. The winding interval is

I(φ)={Δ(s):s∈[0,2π]}.I(\varphi)=\{\Delta(s): s\in[0,2\pi]\}.I(φ)={Δ(s):s∈[0,2π]}.

Conley–Zehnder index. With I(φ)=[a,b]I(\varphi)=[a,b]I(φ)=[a,b], Hryniewicz sets μ^(J)=2k\hat\mu(J)=2kμ^​(J)=2k if k∈J∩Zk\in J\cap\mathbb{Z}k∈J∩Z and μ^(J)=2k+1\hat\mu(J)=2k+1μ^​(J)=2k+1 if J⊂(k,k+1)J\subset(k,k+1)J⊂(k,k+1). Degenerate paths use the lower semicontinuous extension μ^(J)=lim⁡ϵ→0+μ^(J−ϵ)\hat\mu(J)=\lim_{\epsilon\to0^+}\hat\mu(J-\epsilon)μ^​(J)=limϵ→0+​μ^​(J−ϵ). In closed form,

μ(φ)={2(⌈b⌉−1)if a≤⌈b⌉−1,2⌈b⌉−1otherwise.\mu(\varphi)=\begin{cases}2(\lceil b\rceil-1) & \text{if } a\le\lceil b\rceil-1,\\ 2\lceil b\rceil-1 & \text{otherwise.}\end{cases}μ(φ)={2(⌈b⌉−1)2⌈b⌉−1​if a≤⌈b⌉−1,otherwise.​

Index of a periodic orbit. Let P=(x,T)P=(x,T)P=(x,T) be a periodic orbit of XHX_HXH​ on S=H−1(1)S=H^{-1}(1)S=H−1(1) and let Y(t)Y(t)Y(t) be the linearized flow, Y(0)=idY(0)=\mathrm{id}Y(0)=id, Y˙=DXH(x(t)) Y\dot Y=DX_H(x(t))\,YY˙=DXH​(x(t))Y. Project TxST_xSTx​S onto ξx=ker⁡λ0\xi_x=\ker\lambda_0ξx​=kerλ0​ along XHX_HXH​; this turns the linearized Hamiltonian flow into the linearized Reeb flow on ξ\xiξ. The path φ(τ)\varphi(\tau)φ(τ), τ∈[0,1]\tau\in[0,1]τ∈[0,1], is the matrix of v↦πx(Tτ)Y(Tτ)vv\mapsto\pi_{x(T\tau)}Y(T\tau)vv↦πx(Tτ)​Y(Tτ)v, ξx(0)→ξx(Tτ)\xi_{x(0)}\to\xi_{x(T\tau)}ξx(0)​→ξx(Tτ)​, in the global symplectic frame Z1,Z2Z_1,Z_2Z1​,Z2​. Then μCZ(P)=μ(φ)\mu_{CZ}(P)=\mu(\varphi)μCZ​(P)=μ(φ).

Dynamical convexity (Definition 1.1, after Hofer–Wysocki–Zehnder): μCZ(P)≥3\mu_{CZ}(P)\ge3μCZ​(P)≥3 for every periodic orbit PPP on SSS, prime or multiply covered.

On the round sphere every Hopf fibre has μCZ=3\mu_{CZ}=3μCZ​=3. On an ellipsoid with radii r1<r2r_1<r_2r1​<r2​ the short axis has index 333 and the long axis index 2⌊r22/r12⌋+12\lfloor r_2^2/r_1^2\rfloor+12⌊r22​/r12​⌋+1.

Formalization Note Paths are maps ℝ → Matrix (Fin 2) (Fin 2) ℝ used on [0,1][0,1][0,1]. Dynamical convexity quantifies over every solution Y of the variational equation; for smooth HHH that solution exists and is unique.

Definition code
import Definitions.Def_HryniewiczCriterion_Basic
import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic
import Mathlib.LinearAlgebra.Matrix.Determinant.Basic
import Mathlib.Algebra.Order.Floor.Ring

/-!
# The Conley–Zehnder index and dynamical convexity

Hryniewicz, arXiv:1105.2077, §2.1.1 (pp. 5–6): the winding interval `I(φ)` of a path
`φ : [0, 1] → Sp(1)` with `φ(0) = I`, the index `μ̂(I(φ))` of (4), its lower
semicontinuous extension (5) to degenerate paths, and Definition 1.1 (dynamical
convexity). The path attached to a periodic orbit is the linearized flow on `ξ`
written in the global frame `Z₁, Z₂` of `Definitions.Def_HryniewiczCriterion_Basic`.
-/

namespace HryniewiczCriterion

noncomputable section

/-- The unit vector `e^{is} = (cos s, sin s)` of `ℝ²`. -/
def rotationVector (s : ℝ) : Fin 2 → ℝ := ![Real.cos s, Real.sin s]

/-- `θ` is a continuous argument of `t ↦ φ(t) e^{is}` on `[0, 1]` with `θ(0) = s`:
`φ(t) e^{is} = r e^{iθ(t)}` with `r > 0`. -/
def IsAngleLift (φ : ℝ → Matrix (Fin 2) (Fin 2) ℝ) (s : ℝ) (θ : ℝ → ℝ) : Prop :=
  ContinuousOn θ (Set.Icc 0 1) ∧ θ 0 = s ∧
    ∀ t ∈ Set.Icc (0 : ℝ) 1, ∃ r : ℝ, 0 < r ∧
      (φ t).mulVec (rotationVector s) = r • rotationVector (θ t)

/-- The winding interval `I(φ) = {Δ(s) : s ∈ [0, 2π]}`, `Δ(s) = (θ(1, s) - s) / 2π`
(total rotation of `e^{is}` under `φ`, in turns). -/
def windingInterval (φ : ℝ → Matrix (Fin 2) (Fin 2) ℝ) : Set ℝ :=
  {d | ∃ s ∈ Set.Icc (0 : ℝ) (2 * Real.pi), ∃ θ : ℝ → ℝ,
    IsAngleLift φ s θ ∧ d = (θ 1 - s) / (2 * Real.pi)}

/-- The Conley–Zehnder index `μ(φ) = μ̂(I(φ))` of (4)–(5): with `I(φ) = [a, b]`,
`μ̂(J) = lim_{ε → 0⁺} μ̂(J - ε)`, where `μ̂(J) = 2k` if `k ∈ J` and `2k + 1` if
`J ⊂ (k, k + 1)`. In closed form: `2(⌈b⌉ - 1)` if `a ≤ ⌈b⌉ - 1`, else `2⌈b⌉ - 1`. -/
def czIndexOfPath (φ : ℝ → Matrix (Fin 2) (Fin 2) ℝ) : ℤ :=
  let a := sInf (windingInterval φ)
  let b := sSup (windingInterval φ)
  if a ≤ ((⌈b⌉ - 1 : ℤ) : ℝ) then 2 * (⌈b⌉ - 1) else 2 * ⌈b⌉ - 1

/-- `Y` is the linearized flow of `X_H` along `x`: `Y(0) = id` and
`Y'(t) = DX_H(x(t)) ∘ Y(t)`. -/
def IsLinearizedFlow (H : R4 → ℝ) (x : ℝ → R4) (Y : ℝ → (R4 →L[ℝ] R4)) : Prop :=
  Y 0 = ContinuousLinearMap.id ℝ R4 ∧
    ∀ t : ℝ, HasDerivAt Y ((fderiv ℝ (hamiltonianVectorField H) (x t)).comp (Y t)) t

/-- Projection onto `ker λ₀(x)` along `X_H(x)`. On `T_x S` it turns the linearized
Hamiltonian flow into the linearized Reeb flow on `ξ`. -/
def reebProjection (H : R4 → ℝ) (x v : R4) : R4 :=
  v - (liouvilleForm x v / liouvilleForm x (hamiltonianVectorField H x)) •
    hamiltonianVectorField H x

/-- Coordinates of `v ∈ ξ_x` in the frame `Z₁, Z₂`: `v = a Z₁ + b Z₂` with
`a = ω₀(v, Z₂)`, `b = ω₀(Z₁, v)`. -/
def xiCoords (H : R4 → ℝ) (x v : R4) : Fin 2 → ℝ :=
  ![omega0 v (xiFrame2 H x), omega0 (xiFrame1 H x) v]

/-- The path `φ : [0, 1] → Sp(1)` of a periodic orbit `P = (x, T)`: the linearized
Reeb flow on `ξ` from `x(0)` to `x(Tτ)`, in the frame `Z₁, Z₂`. Column `j` is the
image of `Zⱼ(x(0))`. -/
def linearizedXiPath (H : R4 → ℝ) (P : PeriodicOrbit H) (Y : ℝ → (R4 →L[ℝ] R4)) :
    ℝ → Matrix (Fin 2) (Fin 2) ℝ :=
  fun τ => Matrix.of fun i j =>
    xiCoords H (P.x (P.T * τ))
      (reebProjection H (P.x (P.T * τ))
        (Y (P.T * τ) (![xiFrame1 H (P.x 0), xiFrame2 H (P.x 0)] j))) i

/-- Hryniewicz Definition 1.1 (after HWZ): every periodic orbit on `S`, prime or
multiply covered, has Conley–Zehnder index at least `3`. (On `S ≅ S³` every orbit
is contractible and `c₁(ξ) = 0`.) -/
def IsDynamicallyConvex (H : R4 → ℝ) : Prop :=
  ∀ (P : PeriodicOrbit H) (Y : ℝ → (R4 →L[ℝ] R4)),
    IsLinearizedFlow H P.x Y → 3 ≤ czIndexOfPath (linearizedXiPath H P Y)

end

end HryniewiczCriterion
Source
Hryniewicz, Systems of global surfaces of section for dynamically convex Reeb flows on the 3-sphere, J. Symplectic Geom. 12 (2014) 791-862, https://arxiv.org/abs/1105.2077, Section 2.1.1, pp. 5-6 (winding interval, eqs. (4)-(5)) and Definition 1.1, p. 1
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Read-back: Def_HryniewiczCriterion_ConleyZehnder

Namespace HryniewiczCriterion; uses the notions of Def_HryniewiczCriterion_Basic: R4\mathbb R^4R4 with coordinates x0,…,x3x_0,\dots,x_3x0​,…,x3​; λx(v)=12(x0v1−x1v0+x2v3−x3v2)\lambda_x(v)=\tfrac12(x_0v_1-x_1v_0+x_2v_3-x_3v_2)λx​(v)=21​(x0​v1​−x1​v0​+x2​v3​−x3​v2​); ω0(u,v)=u0v1−u1v0+u2v3−u3v2\omega_0(u,v)=u_0v_1-u_1v_0+u_2v_3-u_3v_2ω0​(u,v)=u0​v1​−u1​v0​+u2​v3​−u3​v2​; XH(x)=(−∂1H,∂0H,−∂3H,∂2H)(x)X_H(x)=(-\partial_1H,\partial_0H,-\partial_3H,\partial_2H)(x)XH​(x)=(−∂1​H,∂0​H,−∂3​H,∂2​H)(x) (all partials 000 where HHH is not differentiable); periodic orbits P=(xP,TP)P=(x_P,T_P)P=(xP​,TP​) with TP>0T_P>0TP​>0 any (not necessarily minimal) period; and the vectors ξ1(x)=∣x∣−1(Q2x−DHx(Q2x)DHx(x)x)\xi_1(x)=|x|^{-1}\bigl(Q_2x-\tfrac{DH_x(Q_2x)}{DH_x(x)}x\bigr)ξ1​(x)=∣x∣−1(Q2​x−DHx​(x)DHx​(Q2​x)​x), ξ2(x)=∣x∣−1(Q1x−DHx(Q1x)DHx(x)x)\xi_2(x)=|x|^{-1}\bigl(Q_1x-\tfrac{DH_x(Q_1x)}{DH_x(x)}x\bigr)ξ2​(x)=∣x∣−1(Q1​x−DHx​(x)DHx​(Q1​x)​x) with Q1x=(−x2,x3,x0,−x1)Q_1x=(-x_2,x_3,x_0,-x_1)Q1​x=(−x2​,x3​,x0​,−x1​), Q2x=(x3,x2,−x1,−x0)Q_2x=(x_3,x_2,-x_1,-x_0)Q2​x=(x3​,x2​,−x1​,−x0​) (quotient :=0:=0:=0 if DHx(x)=0DH_x(x)=0DHx​(x)=0; ξi(0)=0\xi_i(0)=0ξi​(0)=0). For x≠0x\neq0x=0, ω0(ξ1(x),ξ2(x))=1\omega_0(\xi_1(x),\xi_2(x))=1ω0​(ξ1​(x),ξ2​(x))=1.

Throughout, φ:R→R2×2\varphi:\mathbb R\to\mathbb R^{2\times2}φ:R→R2×2 is an arbitrary function (no continuity, invertibility or symplecticity is assumed); only its values on [0,1][0,1][0,1] are ever used.

rotationVector

e(s)=(cos⁡s, sin⁡s)∈R2,s∈R.e(s)=(\cos s,\ \sin s)\in\mathbb R^2,\qquad s\in\mathbb R .e(s)=(coss, sins)∈R2,s∈R.

IsAngleLift

For φ\varphiφ, a starting angle s∈Rs\in\mathbb Rs∈R and a function θ:R→R\theta:\mathbb R\to\mathbb Rθ:R→R, "θ\thetaθ is an angle lift of φ\varphiφ from sss" means:

  • θ\thetaθ is continuous on [0,1][0,1][0,1];
  • θ(0)=s\theta(0)=sθ(0)=s;
  • for every t∈[0,1]t\in[0,1]t∈[0,1] there is r>0r>0r>0 with
φ(t) e(s)=r e(θ(t)),\varphi(t)\,e(s)=r\,e(\theta(t)) ,φ(t)e(s)=re(θ(t)),

i.e. θ(t)\theta(t)θ(t) is a polar angle of the vector φ(t)e(s)\varphi(t)e(s)φ(t)e(s) (matrix times column vector).

Consequences: a lift can exist only if φ(t)e(s)≠0\varphi(t)e(s)\neq0φ(t)e(s)=0 for all t∈[0,1]t\in[0,1]t∈[0,1] and φ(0)e(s)\varphi(0)e(s)φ(0)e(s) is a positive multiple of e(s)e(s)e(s). Because θ(t)\theta(t)θ(t) is determined modulo 2π2\pi2π at each ttt, the restriction of a lift to [0,1][0,1][0,1] is unique when it exists. Values of θ\thetaθ outside [0,1][0,1][0,1] are unconstrained and irrelevant.

windingInterval

W(φ)={θ(1)−s2π : s∈[0,2π], θ an angle lift of φ from s}⊆R.W(\varphi)=\Bigl\{\tfrac{\theta(1)-s}{2\pi}\ :\ s\in[0,2\pi],\ \theta \text{ an angle lift of }\varphi\text{ from }s\Bigr\}\subseteq\mathbb R .W(φ)={2πθ(1)−s​ : s∈[0,2π], θ an angle lift of φ from s}⊆R.

Starting angles range over the closed interval [0,2π][0,2\pi][0,2π] (both endpoints, which give the same direction). The set is empty if no starting direction admits a lift (e.g. if φ(t)\varphi(t)φ(t) kills some direction, or φ\varphiφ jumps). Despite its name, nothing in the definition makes it an interval.

czIndexOfPath

Let a=inf⁡W(φ)a=\inf W(\varphi)a=infW(φ), b=sup⁡W(φ)b=\sup W(\varphi)b=supW(φ) (real infimum/supremum, with the junk convention: inf⁡\infinf is 000 if WWW is empty or unbounded below; sup⁡\supsup is 000 if WWW is empty or unbounded above). Let k=⌈b⌉∈Zk=\lceil b\rceil\in\mathbb Zk=⌈b⌉∈Z. Then

μ(φ)={2(k−1)if a≤k−1,2k−1otherwise.\mu(\varphi)=\begin{cases}2(k-1) & \text{if } a\le k-1,\\[2pt] 2k-1 & \text{otherwise.}\end{cases}μ(φ)={2(k−1)2k−1​if a≤k−1,otherwise.​

Case-by-case:

  • b∉Zb\notin\mathbb Zb∈/Z: k−1=⌊b⌋k-1=\lfloor b\rfloork−1=⌊b⌋; μ=2⌊b⌋\mu=2\lfloor b\rfloorμ=2⌊b⌋ if a≤⌊b⌋a\le\lfloor b\rfloora≤⌊b⌋ (i.e. [a,b][a,b][a,b] contains the integer ⌊b⌋\lfloor b\rfloor⌊b⌋), else μ=2⌊b⌋+1\mu=2\lfloor b\rfloor+1μ=2⌊b⌋+1.
  • b∈Zb\in\mathbb Zb∈Z: μ=2(b−1)\mu=2(b-1)μ=2(b−1) if a≤b−1a\le b-1a≤b−1, else μ=2b−1\mu=2b-1μ=2b−1. In particular if a=b∈Za=b\in\mathbb Za=b∈Z then μ=2b−1\mu=2b-1μ=2b−1.

Junk values: if W(φ)=∅W(\varphi)=\varnothingW(φ)=∅ then a=b=0a=b=0a=b=0, k=0k=0k=0, and μ=−1\mu=-1μ=−1. If WWW is nonempty but unbounded above, bbb is taken as 000 (so k=0k=0k=0) and μ∈{−2,−1}\mu\in\{-2,-1\}μ∈{−2,−1} according to whether a≤−1a\le-1a≤−1.

IsLinearizedFlow

For HHH, a curve x:R→R4x:\mathbb R\to\mathbb R^4x:R→R4 and a family Y:R→L(R4,R4)Y:\mathbb R\to L(\mathbb R^4,\mathbb R^4)Y:R→L(R4,R4) of linear maps: Y(0)=idY(0)=\mathrm{id}Y(0)=id and, for every t∈Rt\in\mathbb Rt∈R, YYY is differentiable at ttt with

Y′(t)=DXH(x(t))∘Y(t),Y'(t)=DX_H\bigl(x(t)\bigr)\circ Y(t),Y′(t)=DXH​(x(t))∘Y(t),

where DXH(p)DX_H(p)DXH​(p) is the Fréchet derivative of the map XH:R4→R4X_H:\mathbb R^4\to\mathbb R^4XH​:R4→R4 at ppp (junk value 000 where XHX_HXH​ is not differentiable; then the equation reads Y′(t)=0Y'(t)=0Y′(t)=0). The curve xxx is not required to be a trajectory here.

reebProjection

For x,v∈R4x,v\in\mathbb R^4x,v∈R4:

πx(v)=v−λx(v)λx(XH(x)) XH(x).\pi_x(v)=v-\frac{\lambda_x(v)}{\lambda_x(X_H(x))}\,X_H(x).πx​(v)=v−λx​(XH​(x))λx​(v)​XH​(x).

This is the projection along XH(x)X_H(x)XH​(x) onto ker⁡λx\ker\lambda_xkerλx​, provided λx(XH(x))=12DHx(x)≠0\lambda_x(X_H(x))=\tfrac12DH_x(x)\neq0λx​(XH​(x))=21​DHx​(x)=0. Junk value: if λx(XH(x))=0\lambda_x(X_H(x))=0λx​(XH​(x))=0, the quotient is 000 and πx(v)=v\pi_x(v)=vπx​(v)=v.

xiCoords

For x,v∈R4x,v\in\mathbb R^4x,v∈R4, the pair

cx(v)=(ω0(v,ξ2(x)), ω0(ξ1(x),v))∈R2.c_x(v)=\Bigl(\omega_0\bigl(v,\xi_2(x)\bigr),\ \omega_0\bigl(\xi_1(x),v\bigr)\Bigr)\in\mathbb R^2 .cx​(v)=(ω0​(v,ξ2​(x)), ω0​(ξ1​(x),v))∈R2.

Since ω0(ξ1,ξ2)=1\omega_0(\xi_1,\xi_2)=1ω0​(ξ1​,ξ2​)=1 (for x≠0x\neq0x=0), a vector v=α ξ1(x)+β ξ2(x)v=\alpha\,\xi_1(x)+\beta\,\xi_2(x)v=αξ1​(x)+βξ2​(x) has cx(v)=(α,β)c_x(v)=(\alpha,\beta)cx​(v)=(α,β). For a general vvv the formula is still applied as written (it is a linear map R4→R2\mathbb R^4\to\mathbb R^2R4→R2). At x=0x=0x=0 it gives (0,0)(0,0)(0,0).

linearizedXiPath

For HHH, a periodic orbit P=(xP,TP)P=(x_P,T_P)P=(xP​,TP​) and a family YYY, the path Φ:R→R2×2\Phi:\mathbb R\to\mathbb R^{2\times2}Φ:R→R2×2 given by: for τ∈R\tau\in\mathbb Rτ∈R and i,j∈{1,2}i,j\in\{1,2\}i,j∈{1,2} (written 0,10,10,1 in the code),

Φ(τ)ij=[cxP(TPτ)(πxP(TPτ)(Y(TPτ) ξj(xP(0))))]i.\Phi(\tau)_{ij}=\Bigl[c_{x_P(T_P\tau)}\Bigl(\pi_{x_P(T_P\tau)}\bigl(Y(T_P\tau)\,\xi_j(x_P(0))\bigr)\Bigr)\Bigr]_i .Φ(τ)ij​=[cxP​(TP​τ)​(πxP​(TP​τ)​(Y(TP​τ)ξj​(xP​(0))))]i​.

So column jjj is: take the frame vector ξj\xi_jξj​ at the starting point xP(0)x_P(0)xP​(0), push it by YYY at time TPτT_P\tauTP​τ, project along XHX_HXH​ onto ker⁡λ\ker\lambdakerλ at the current point xP(TPτ)x_P(T_P\tau)xP​(TP​τ), and express it in the coordinates ccc at that point. Time is rescaled so that τ∈[0,1]\tau\in[0,1]τ∈[0,1] covers t∈[0,TP]t\in[0,T_P]t∈[0,TP​], i.e. one full traversal of the period TPT_PTP​ carried by PPP (which may be a multiple of the minimal period).

IsDynamicallyConvex

HHH is dynamically convex iff for every periodic orbit PPP of HHH (every curve and every positive period, including multiple covers and any stationary orbits) and every YYY satisfying the linearized-flow condition along xPx_PxP​,

μ(ΦH,P,Y) ≥ 3,\mu\bigl(\Phi_{H,P,Y}\bigr)\ \ge\ 3 ,μ(ΦH,P,Y​) ≥ 3,

with μ\muμ = czIndexOfPath and Φ\PhiΦ = linearizedXiPath above.

Vacuity/edge cases: the condition holds vacuously if HHH has no periodic orbits; for a given PPP it holds vacuously if no YYY satisfies the linearized-flow condition; if several such YYY exist, all must satisfy the bound. No smoothness, star-shapedness or other hypothesis on HHH is part of this definition. If the winding set of Φ\PhiΦ is empty, μ=−1\mu=-1μ=−1 and the bound fails.

Human review
  • Endorsed by Shuze Chen · Oct 6, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Mazecto · Oct 6, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me