Theorem Catalog¶
Statements as they appear in the source. Every declaration compiles under lake build --wfail; the axioms of those listed in CdFormal/Verify.lean are checked in CI. The continuum results come first; the finite-graph results are at the end.
Throughout the continuum sections, n, M and the instance arguments
variable {n : ℕ} {M : Type*}
[TopologicalSpace M]
[ChartedSpace (EuclideanSpace ℝ (Fin n)) M]
[IsManifold (SemioticModel n) ⊤ M]
[MetricSpace M] [CompactSpace M] [ConnectedSpace M]
[SemioticManifold n M]
are implicit where they appear.
Definitions¶
| Declaration | Meaning |
|---|---|
SemioticContext |
\(\kappa, \gamma, \mu : M \to [0,1]\), \(b\), \(c \geq c_0 > 0\), \(p > 1\) |
SemioticContext.a |
\(a(x) = \kappa(x)\gamma(x)\mu(x)\) |
SemioticContext.canonicalViability |
\(\kappa(x)\gamma(x) - \lambda\mu(x)\), for a parameter \(\lambda\) |
SemioticOperators |
abstract Laplacian and gradient norm |
SemioticBVP |
coefficients, operators, a boundary set, and the fields SemioticBVP.equation and SemioticBVP.boundaryCondition |
IsWeakCoherentConfiguration |
bvp.equation Φ ∧ bvp.boundaryCondition Φ |
The default SemioticBVP.equation is
fun Φ ↦ ∀ x, -(ops.laplacian Φ x) =
(ctx.a x) * (ops.gradNorm Φ x) + (ctx.b x) * (Φ x) - (ctx.c x) * (max (Φ x) 0) ^ (ctx.p)
and the default boundary condition is fun Φ ↦ ∀ x ∈ boundary, Φ x = 0. See the assumption boundary for PDEInfra, SolutionOperator and PrincipalEigendata.
Conditional existence¶
Nonnegative solution (Paper Theorem 3.12)¶
theorem SemioticBVP.exists_isWeakCoherentConfiguration
(bvp : SemioticBVP n M)
(solOp : SolutionOperator bvp)
[infra : PDEInfra bvp solOp]
(B : ℝ) (hB : ∀ x, bvp.ctx.b x ≤ B) :
∃ Phi : M → ℝ,
IsWeakCoherentConfiguration bvp Phi ∧
(∀ x, Phi x ≥ 0)
Uses PDEInfra.T_compact, PDEInfra.linfty_bound, PDEInfra.schaefer, PDEInfra.fixed_point_nonneg and SolutionOperator.T_fixed_point. With the default equation, \(\Phi \equiv 0\) is already such a solution (zero_solves_equation, below).
Solution positive at an interior point (Paper Theorem 3.16)¶
theorem SemioticBVP.exists_pos_isWeakCoherentConfiguration
(bvp : SemioticBVP n M)
(solOp : SolutionOperator bvp)
[infra : PDEInfra bvp solOp]
(beta : ℝ)
(eig : PrincipalEigendata bvp beta)
(eigval_neg : eig.eigval < 0) :
∃ Phi : M → ℝ,
IsWeakCoherentConfiguration bvp Phi ∧
(∀ x, Phi x ≥ 0) ∧
(∃ x, x ∉ bvp.boundary ∧ Phi x > 0)
Uses PDEInfra.monotone_iteration, PDEInfra.fixed_point_nonneg and SolutionOperator.T_fixed_point. Positivity is at one interior point.
Algebra and real analysis¶
def viabilityThreshold (L : ℝ) (b : ℝ) : ℝ :=
(Real.pi / L) ^ 2 / b
theorem spectral_characterization_1d
(L : ℝ) (b : ℝ) (beta : ℝ) (hb : b > 0) :
let beta_star := viabilityThreshold L b
beta > beta_star → (Real.pi / L) ^ 2 - beta * b < 0
theorem viabilityThreshold_lt_iff (L : ℝ) {b : ℝ} (hb : 0 < b) (beta : ℝ) :
viabilityThreshold L b < beta ↔ (Real.pi / L) ^ 2 - beta * b < 0
spectral_characterization_1d is an inequality about the expression \((\pi/L)^2 - \beta b\), which for \(L > 0\) and constant \(b\) is the principal Dirichlet eigenvalue of \(-d^2/dx^2 - \beta b\) on \([0, L]\); that identification is not formalized.
lemma scaling_algebraic_contradiction
(p : ℝ) (k : ℝ) (c : ℝ) (Phi_val : ℝ)
(hp : p > 1) (hk : k > 1) (hc : c > 0) (hPhi : Phi_val > 0)
(h_eq : -c * k * Phi_val ^ p ≤ -c * k ^ p * Phi_val ^ p) :
False
lemma rpow_le_of_mul_rpow_le
(v b c p : ℝ) (hv : v > 0) (hc : c > 0)
(h : b * v ≥ c * v ^ p) :
v ^ (p - 1) ≤ b / c
theorem linfty_bound_algebraic
(v b c p : ℝ) (hv : v > 0) (hc : c > 0) (hp : p > 1)
(h : b * v ≥ c * v ^ p) :
v ≤ (b / c) ^ (1 / (p - 1))
Order theory¶
For {α : Type u} [CompleteLattice α] (f : α →o α):
theorem OrderHom.nextFixed_le_of_le
{sub super : α}
(h_sub : sub ≤ f sub)
(h_super : f super ≤ super)
(h_le : sub ≤ super) :
(f.nextFixed sub h_sub : α) ≤ super
theorem monotone_fixed_point_between
{sub super : α}
(h_sub : sub ≤ f sub)
(h_super : f super ≤ super)
(h_le : sub ≤ super) :
∃ x : α, f x = x ∧ sub ≤ x ∧ x ≤ super
Consequences of the structure fields¶
For ops : SemioticOperators n M and ctx : SemioticContext n M:
@[simp] lemma laplacian_zero :
ops.laplacian (fun _ : M ↦ (0 : ℝ)) = fun _ ↦ 0
lemma laplacian_linear (f g : M → ℝ) (c : ℝ) :
ops.laplacian (fun x ↦ c * f x + g x) =
fun x ↦ c * ops.laplacian f x + ops.laplacian g x
@[simp] lemma gradNorm_zero (x : M) :
ops.gradNorm (fun _ : M ↦ (0 : ℝ)) x = 0
theorem zero_solves_equation (ctx : SemioticContext n M) (x : M) :
-(ops.laplacian (fun _ ↦ 0) x) =
ctx.a x * ops.gradNorm (fun _ ↦ 0) x + ctx.b x * 0 - ctx.c x * max (0 : ℝ) 0 ^ ctx.p
theorem SemioticContext.a_nonneg (x : M) : 0 ≤ ctx.a x
theorem SemioticContext.a_le_one (x : M) : ctx.a x ≤ 1
theorem SemioticContext.p_sub_one_pos : 0 < ctx.p - 1
Scaling¶
theorem scaling_uniqueness
(ops : SemioticOperators n M)
(ctx : SemioticContext n M)
(Φ : M → ℝ) (k : ℝ)
(hk : k > 1)
(hΦ_eq : ∀ x, -(ops.laplacian Φ x) =
(ctx.a x) * (ops.gradNorm Φ x) + (ctx.b x) * (Φ x) -
(ctx.c x) * (max (Φ x) 0) ^ ctx.p)
(hkΦ_eq : ∀ x,
-(ops.laplacian (fun y ↦ k * Φ y) x) =
(ctx.a x) * (ops.gradNorm (fun y ↦ k * Φ y) x) +
(ctx.b x) * (k * Φ x) -
(ctx.c x) * (max (k * Φ x) 0) ^ ctx.p)
(x₀ : M) (hc : ctx.c x₀ > 0) (hΦpos : Φ x₀ > 0) :
False
A solution \(\Phi\) with \(\Phi(x_0) > 0\) and \(c(x_0) > 0\) has no solution multiple \(k\Phi\) with \(k > 1\). This is not uniqueness among all solutions, which the paper leaves open.
Finite-graph existence¶
For a finite type V with [Fintype V] and G : SemioticGraph V. Here every operator is defined from the data, and no hypothesis stands in for analysis.
| Declaration | Meaning |
|---|---|
SemioticGraph |
weights \(w(x,y) = w(y,x) \geq 0\), a boundary set, \(\kappa, \gamma, \mu : V \to [0,1]\), \(b\), \(c > 0\), \(p > 1\) |
SemioticGraph.a |
\(a(x) = \kappa(x)\gamma(x)\mu(x)\) |
SemioticGraph.laplacian |
\((L u)(x) = \sum_y w(x,y)\,(u(x) - u(y))\) |
SemioticGraph.gradNorm |
\(\lvert\nabla u\rvert(x) = \sqrt{\sum_y w(x,y)\,(u(y) - u(x))^2}\) |
SemioticGraph.IsSolution |
the equation at every interior vertex, and \(u = 0\) on the boundary |
SemioticGraph.interiorGraph |
interior vertices, adjacent when joined by an edge of positive weight |
SemioticGraph.energy |
\(\tfrac12 \sum_x \sum_y w(x,y)\,(u(x) - u(y))^2 - \sum_x b(x)\,u(x)^2\), the quadratic form of \(L - \operatorname{diag}(b)\) |
SemioticGraph.principalEigenvalue |
the infimum of SemioticGraph.energy over SemioticGraph.unitSphere, the functions that vanish on the boundary with \(\sum_x u(x)^2 = 1\) |
def SemioticGraph.IsSolution (u : V → ℝ) : Prop :=
(∀ x, x ∉ G.boundary →
G.laplacian u x = G.a x * G.gradNorm u x + G.b x * u x - G.c x * max (u x) 0 ^ G.p) ∧
∀ x ∈ G.boundary, u x = 0
The sums run over all vertices, so the boundary values, which are zero, enter through boundary edges. The weights are not normalized and there is no vertex measure. This is the discretization chosen for the formalization; it is not claimed to match any deployed model.
Positive solution¶
theorem SemioticGraph.exists_pos_graph (hconn : G.interiorGraph.Connected)
(hdom : ∀ x y, x ∉ G.boundary → y ∉ G.boundary → x ≠ y → 0 < G.w x y →
G.a x ≤ √(G.w x y))
(hneg : G.principalEigenvalue < 0) :
∃ u : V → ℝ, G.IsSolution u ∧ ∀ x, x ∉ G.boundary → 0 < u x
theorem SemioticGraph.exists_pos_graph_of_unweighted (hw : ∀ x y, G.w x y = 0 ∨ G.w x y = 1)
(hconn : G.interiorGraph.Connected) (hneg : G.principalEigenvalue < 0) :
∃ u : V → ℝ, G.IsSolution u ∧ ∀ x, x ∉ G.boundary → 0 < u x
The solution is positive at every interior vertex. The edge-dominance hypothesis hdom ranges over ordered pairs, so for every edge of positive weight between distinct interior vertices \(x\) and \(y\) it requires both \(a(x) \le \sqrt{w(x,y)}\) and \(a(y) \le \sqrt{w(x,y)}\). It is what makes the fixed-point map in the proof monotone; it is a sufficient condition for this proof, not a condition shown to be necessary for existence. For weights in \(\{0, 1\}\) it follows from \(0 \le a \le 1\), so SemioticGraph.exists_pos_graph_of_unweighted does not assume it.
Gradient norm¶
theorem SemioticGraph.gradNorm_nonneg (u : V → ℝ) (x : V) : 0 ≤ G.gradNorm u x
theorem SemioticGraph.gradNorm_smul (c : ℝ) (u : V → ℝ) (x : V) :
G.gradNorm (fun y ↦ c * u y) x = |c| * G.gradNorm u x
theorem SemioticGraph.gradNorm_const (k : ℝ) (x : V) : G.gradNorm (fun _ ↦ k) x = 0
These are the laws that SemioticOperators imposes on its gradient norm.
Principal eigendata¶
theorem SemioticGraph.principalEigenvalue_mul_le {u : V → ℝ}
(hu : ∀ x ∈ G.boundary, u x = 0) :
G.principalEigenvalue * ∑ x, u x ^ 2 ≤ G.energy u
theorem SemioticGraph.principalEigenvalue_le_of_laplacian_eq {u : V → ℝ} {μ : ℝ}
(hu : ∀ x ∈ G.boundary, u x = 0) (hne : ∃ x, u x ≠ 0)
(heq : ∀ x, x ∉ G.boundary → G.laplacian u x = G.b x * u x + μ * u x) :
G.principalEigenvalue ≤ μ
theorem SemioticGraph.exists_pos_eigenvector (hconn : G.interiorGraph.Connected) :
∃ φ ∈ G.unitSphere, (∀ x, x ∉ G.boundary → 0 < φ x) ∧
∀ x, x ∉ G.boundary → G.laplacian φ x = G.b x * φ x + G.principalEigenvalue * φ x
theorem SemioticGraph.principalEigenvalue_neg {u : V → ℝ} (hu : ∀ x ∈ G.boundary, u x = 0)
(hneg : G.energy u < 0) : G.principalEigenvalue < 0
SemioticGraph.principalEigenvalue_le_of_laplacian_eq says that no Dirichlet eigenvalue of \(L - \operatorname{diag}(b)\) is smaller than SemioticGraph.principalEigenvalue.
Sub- and supersolutions¶
theorem SemioticGraph.fixedPointMap_eq_iff_isSolution {K : ℝ} (hK : 0 < K) {u : V → ℝ} :
G.fixedPointMap K u = u ↔ G.IsSolution u
SemioticGraph.fixedPointMap is the fixed-point map of the proof; for \(K > 0\) its fixed points are exactly the solutions. SemioticGraph.fixedPointMap_mono is its monotonicity, and SemioticGraph.exists_isSolution_between gives a solution between an ordered subsolution and supersolution. The barriers are SemioticGraph.smul_subsolution and SemioticGraph.plateau_supersolution. See the proof strategy.
Example¶
SemioticGraph.triangle is the complete graph on three vertices with unit weights and one boundary vertex (its weights are also 1 on the diagonal, which does not affect the Laplacian, the gradient norm or the energy), with \(\kappa = \gamma = \mu = 1\), \(b = 2\), \(c = 1\) and \(p = 2\). SemioticGraph.exists_pos_triangle applies SemioticGraph.exists_pos_graph_of_unweighted to it, so the hypotheses of the graph theorem can all be met.
theorem SemioticGraph.triangle_isSolution : triangle.IsSolution ![0, 2, 2]
theorem SemioticGraph.triangle_gradNorm {x : Fin 3} (hx : x ∉ triangle.boundary) :
triangle.gradNorm ![0, 2, 2] x = 2
These check directly that \((0, 2, 2)\), which is positive at both interior vertices, is a solution. The gradient norm there is \(2\), so the gradient term of the equation is active: at each interior vertex the equation reads \(2 = 1 \cdot 2 + 2 \cdot 2 - 1 \cdot 2^2\).