OAI/MathematicalPhysics/Elasticity/Recovery.lean
61 declarations, 0 contain sorry, 0 declared as axioms
Finite-type uniqueness used in the last step of the elasticity proof. All spaces and coefficient fields below are actual functions, not axioms.
- abbrev
OAI.ElasticityConic.C3line 11 - abbrev
OAI.ElasticityConic.Mat3line 12 - def
OAI.ElasticityConic.nullline 14 - def
OAI.ElasticityConic.thetaline 16 - def
OAI.ElasticityConic.h₁line 19 - def
OAI.ElasticityConic.h₂line 20 - lemma
OAI.ElasticityConic.dot3line 22 - lemma
OAI.ElasticityConic.theta_nullline 25 - lemma
OAI.ElasticityConic.theta_dot_h₁line 30 - lemma
OAI.ElasticityConic.theta_dot_h₂line 35 - lemma
OAI.ElasticityConic.theta_eqline 40 - lemma
OAI.ElasticityConic.theta_ne_zeroline 44 - lemma
OAI.ElasticityConic.null_dot_zeroline 55Source documentation
The concrete spanning assertion used twice in the source proof.
lemma null_dot_zero (v : C3) (hv : ∀ θ : C3, θ ≠ 0 → null θ → dotProduct θ v = 0) : v = 0 := by …Mentions: OAI.ElasticityConic.C3, OAI.ElasticityConic.null
- theorem
OAI.ElasticityConic.scalar_of_null_annihilatorline 73Source documentation
Null directions used to test the entire ambient matrix, without an analytic argument on projective space. These imply precisely (scalar-ambient-difference).
theorem scalar_of_null_annihilator (K : Mat3) (hK : ∀ θ : C3, θ ≠ 0 → null θ → ∀ p : C3, dotProduct θ p = 0 → dotProduct (K *ᵥ θ) p = 0) : ∃ κ : ℂ, K = κ • (1 : Mat3) := by …Mentions: OAI.ElasticityConic.Mat3, OAI.ElasticityConic.C3, OAI.ElasticityConic.null
- theorem
OAI.ElasticityFiniteType.zero_of_homogeneous_systemline 128 - def
OAI.ElasticityFiniteType.Dline 163Source documentation
Constant-direction differentiation. All directions are real; the values may be real or complex, as in the source lemma.
def D (f : E → F) (v : E) : E → F := fun x => fderiv ℝ f x v
- lemma
OAI.ElasticityFiniteType.contDiff_Dline 165 - lemma
OAI.ElasticityFiniteType.D_Dline 169 - lemma
OAI.ElasticityFiniteType.D_commline 177 - lemma
OAI.ElasticityFiniteType.D_addline 185 - lemma
OAI.ElasticityFiniteType.D_mulline 190 - lemma
OAI.ElasticityFiniteType.D_sumline 195 - def
OAI.ElasticityFiniteType.matrixCLMline 205 - lemma
OAI.ElasticityFiniteType.matrixCLM_applyline 208 - def
OAI.ElasticityFiniteType.coordLline 212 - def
OAI.ElasticityFiniteType.systemCLMline 215 - lemma
OAI.ElasticityFiniteType.systemCLM_basisline 220 - lemma
OAI.ElasticityFiniteType.continuous_systemCLMline 226 - theorem
OAI.ElasticityFiniteType.zero_of_coordinate_systemline 240Source documentation
Coordinate form of the homogeneous-system uniqueness statement.
theorem zero_of_coordinate_system (b : Basis ι ℝ E) {f : E → κ → ℝ} {M : E → ι → κ → κ → ℝ} (hf : Differentiable ℝ f) (hM : ∀ s a c, Continuous (fun x => M x s a c)) (hsystem : ∀ x s a, fderiv ℝ f x (b s) a = ∑ c, M x s a c * f x c) {x₀ : E} (hzero : f x₀ = 0) : ∀ x, f x = 0 := by … - def
OAI.ElasticityFiniteType.Cline 262 - def
OAI.ElasticityFiniteType.dline 266 - theorem
OAI.ElasticityFiniteType.finite_type_closureline 269 - lemma
OAI.ElasticityFiniteType.contDiff_Cline 317 - lemma
OAI.ElasticityFiniteType.contDiff_dline 326 - theorem
OAI.ElasticityFiniteType.finite_type_zeroline 334Source documentation
The precise global finite-type endpoint needed after taking the common exterior extensions. The index type has at least two elements, so there is a non-diagonal Hessian entry for each direction.
theorem finite_type_zero [FiniteDimensional ℝ E] [Nontrivial ι] (e : Basis ι ℝ E) {η q : E → ℝ} {B : ι → ι → ι → E → ℝ} (hη : ContDiff ℝ (⊤ : ℕ∞) η) (hq : ContDiff ℝ (⊤ : ℕ∞) q) (hB : ∀ i j a, ContDiff ℝ (⊤ : ℕ∞) (B i j a)) (hess : ∀ i j, D (D η (e i)) (e j) = fun x => ∑ a, B i j a x * D η (e a) x + if i = j then q x else 0) {W : Set E} (hW : IsOpen W) (hne : W.Nonempty) (hz : ∀ x ∈ W, η x = 0) : (∀ x, η x = 0) ∧ (∀ x, q x = 0) := by …Mentions: OAI.ElasticityFiniteType.D
- abbrev
OAI.ElasticityRecovery.Xline 417 - abbrev
OAI.ElasticityRecovery.RMatline 418 - def
OAI.ElasticityRecovery.basisline 420 - def
OAI.ElasticityRecovery.gradline 422 - def
OAI.ElasticityRecovery.hessianline 424 - def
OAI.ElasticityRecovery.dirline 427 - lemma
OAI.ElasticityRecovery.D_subline 430 - lemma
OAI.ElasticityRecovery.grad_subline 435 - lemma
OAI.ElasticityRecovery.dir_subline 439 - lemma
OAI.ElasticityRecovery.fderiv_zero_of_nullline 443 - lemma
OAI.ElasticityRecovery.zero_of_null_derivativesline 453 - lemma
OAI.ElasticityRecovery.real_scalar_of_null_annihilatorline 461 - def
OAI.ElasticityRecovery.QMatrixline 474Source documentation
Real matrix whose null contraction is exactly the Q block.
def QMatrix (m k : X → ℝ) (x : X) : RMat := fun i j => …
Mentions: OAI.ElasticityRecovery.X, OAI.ElasticityRecovery.RMat
- def
OAI.ElasticityRecovery.Tline 480 - def
OAI.ElasticityRecovery.Qline 483 - def
OAI.ElasticityRecovery.EqualRestrictedTransportsline 488Source documentation
This is equality of the two restricted bottom rows, not a DN hypothesis. Deriving it from the actual DN maps is still required by the full theorem.
def EqualRestrictedTransports (m₁ k₁ m₂ k₂ : X → ℝ) : Prop := …
Mentions: OAI.ElasticityRecovery.X
- lemma
OAI.ElasticityRecovery.contDiff_logline 494 - lemma
OAI.ElasticityRecovery.contDiff_logRatioline 499 - lemma
OAI.ElasticityRecovery.ratio_equalline 506 - lemma
OAI.ElasticityRecovery.ratios_algebraline 531 - lemma
OAI.ElasticityRecovery.hessian_subline 544 - lemma
OAI.ElasticityRecovery.contDiff_gradline 553 - lemma
OAI.ElasticityRecovery.contDiff_hessianline 556 - lemma
OAI.ElasticityRecovery.contDiff_QMatrixline 559 - lemma
OAI.ElasticityRecovery.recovery_entryline 571 - theorem
OAI.ElasticityRecovery.coefficients_equal_of_restricted_transportsline 585Source documentation
The final coefficient-recovery step, with its genuine intermediate transport hypothesis explicit. This is not the main DN uniqueness theorem.
theorem coefficients_equal_of_restricted_transports {m₁ k₁ m₂ k₂ : X → ℝ} (hm₁ : ContDiff ℝ (⊤ : ℕ∞) m₁) (hk₁ : ContDiff ℝ (⊤ : ℕ∞) k₁) (hm₂ : ContDiff ℝ (⊤ : ℕ∞) m₂) (hk₂ : ContDiff ℝ (⊤ : ℕ∞) k₂) (hmp₁ : ∀ x, 0 < m₁ x) (hkp₁ : ∀ x, 0 < k₁ x) (hmp₂ : ∀ x, 0 < m₂ x) (hkp₂ : ∀ x, 0 < k₂ x) (ht : EqualRestrictedTransports m₁ k₁ m₂ k₂) {W : Set X} (hW : IsOpen W) (hne : W.Nonempty) (hmW : ∀ x ∈ W, m₁ x = m₂ x) (hkW : ∀ x ∈ W, k₁ x = k₂ x) : m₁ = m₂ ∧ k₁ = k₂ := by …Mentions: OAI.ElasticityRecovery.X, OAI.ElasticityRecovery.EqualRestrictedTransports