Discovery.Linear­Disentanglement.Collinear­Ambiguity

Constructive non-identifiability witnesses for finite real simultaneous-congruence families when a selected two-coordinate diagonal-shift cloud is affine-collinear.

Definitions 14 core · 0 supporting This module defines the paper-independent objects used to deform a simultaneous congruence representation along an affine-collinear pair of diagonal shifts.

Two-coordinate deformations for collinear congruence families

This module defines the paper-independent objects used to deform a simultaneous congruence representation along an affine-collinear pair of diagonal shifts. The deformation first mixes the two selected rows and then rescales them so that a unit-diagonal normalization is retained.

structure AffineLineCertificate reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

A concrete certificate that the selected two-coordinate shift cloud is contained in the affine line u x + v y = c, with a nonzero normal vector.

Definition (Lean source)
d :
E :
Type*
s :
E → Fin d → ℝ
i j :
Fin d
First component of the line's normal vector.
u :
Second component of the line's normal vector.
v :
Affine offset of the line.
c :
The normal vector is nonzero.
normal_ne :
u ≠ 0 ∨ v ≠ 0
Every selected shift pair lies on the certified affine line.
equation :
∀ e, u * s e i + v * s e j = c
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.AffineLineCertificate · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:28
def pairShear reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a dd-dimensional coordinate system, two selected coordinates, and three real numbers specifying a line normal and deformation magnitude, the elementary two-row shear is the identity matrix plus tvtv at position (i,j)(i,j) and tutu at position (j,i)(j,i). For distinct coordinates these are two off-diagonal entries; if the coordinates coincide, both increments land on the same diagonal entry.

Definition (Lean source)
d :
i j :
Fin d
u v t :
pairShear i j u v t :
1 + Matrix.single i j (t * v) + Matrix.single j i (t * u)
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.pairShear · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:43 · uses SqMatrix
def firstNormalizationDenom reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference matrix, two selected coordinates, and a shear coefficient and magnitude, the first normalization denominator is 1+tvBji1+t v B_{ji}.

Definition (Lean source)
d :
B :
i j :
Fin d
v t :
firstNormalizationDenom B i j v t :
1 + t * v * B j i
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.firstNormalizationDenom · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:51 · uses SqMatrix
def secondNormalizationDenom reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference matrix, two selected coordinates, and a shear coefficient and magnitude, the second normalization denominator is 1+tuBij1+t u B_{ij}.

Definition (Lean source)
d :
B :
i j :
Fin d
u t :
secondNormalizationDenom B i j u t :
1 + t * u * B i j
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.secondNormalizationDenom · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:58 · uses SqMatrix
def pairRowNormalizer reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference matrix, two selected coordinates, and a line normal and deformation magnitude, the pair row normalizer is the diagonal matrix that rescales the first selected row by the reciprocal of the first normalization denominator, the second selected row (when it differs from the first) by the reciprocal of the second, and leaves all other rows unchanged; a zero denominator has reciprocal zero by convention.

Definition (Lean source)
d :
B :
i j :
Fin d
u v t :
pairRowNormalizer B i j u v t :
diagonal fun k ↦ if k
= i then (firstNormalizationDenom B i j v t)⁻¹ else if k = j then (secondNormalizationDenom B i j u t)⁻¹ else 1
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.pairRowNormalizer · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:65 · uses SqMatrix
def normalizedPairDeformation reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference matrix, two selected coordinates, and a line normal and deformation magnitude, the normalized two-coordinate deformation is the pair row normalizer multiplied by the elementary pair shear.

Definition (Lean source)
d :
B :
i j :
Fin d
u v t :
normalizedPairDeformation B i j u v t :
pairRowNormalizer B i j u v t * pairShear i j u v t
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.normalizedPairDeformation · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:77 · uses SqMatrix
def deformedDiagonalizer reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference diagonalizer, two selected coordinates, and a line normal and deformation magnitude, the deformed diagonalizer is the normalized two-coordinate deformation applied to the rows of the reference diagonalizer.

Definition (Lean source)
d :
B :
i j :
Fin d
u v t :
deformedDiagonalizer B i j u v t :
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.deformedDiagonalizer · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:84 · uses SqMatrix
def PairCycleAdmissible reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d matrix and two selected coordinates, pair-cycle admissibility holds exactly when the product of the (i,j)(i,j) and (j,i)(j,i) entries is not one; for distinct coordinates these are the two opposite off-diagonal entries of the selected pair.

Definition (Lean source)
d :
B :
i j :
Fin d
PairCycleAdmissible B i j :
Prop
B i j * B j i ≠ 1
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.PairCycleAdmissible · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:91 · uses SqMatrix
def commonShiftCrossTerm reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference matrix, two selected coordinates, and a line normal, offset, and deformation magnitude, the common shift cross term is the line offset times the deformation magnitude, divided by both selected normalization denominators.

Definition (Lean source)
d :
B :
i j :
Fin d
u v c t :
commonShiftCrossTerm B i j u v c t :
(firstNormalizationDenom B i j v t)⁻¹ * (secondNormalizationDenom B i j u t)⁻¹ * (t * c)
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.commonShiftCrossTerm · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:97 · uses SqMatrix
def pairSymmetricOffDiagonal reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a dd-dimensional coordinate system, two selected coordinates, and a real entry value, the symmetric selected off-diagonal matrix is the sum of the matrix with that value at position (i,j)(i,j) and the matrix with that value at position (j,i)(j,i). For distinct coordinates it has the value in both off-diagonal positions and zero elsewhere; if the coordinates coincide, it has twice the value on that diagonal entry.

Definition (Lean source)
d :
i j :
Fin d
x :
pairSymmetricOffDiagonal i j x :
Matrix.single i j x + Matrix.single j i x
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.pairSymmetricOffDiagonal · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:106 · uses SqMatrix
def deformedInvariant reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference diagonalizer and invariant matrix, two selected coordinates, and a line normal, offset, and deformation magnitude, the deformed invariant matrix is obtained by first forming the normalized two-coordinate deformation, then taking its congruence transform of the invariant matrix and adding the symmetric common shift cross term.

Definition (Lean source)
d :
B Ω :
i j :
Fin d
u v c t :
deformedInvariant B Ω i j u v c t :
T :
T * Ω * T.transpose + pairSymmetricOffDiagonal i j (commonShiftCrossTerm B i j u v c t)
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.deformedInvariant · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:114 · uses SqMatrix
def deformedShift reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d reference diagonalizer, two selected coordinates, a line normal and deformation magnitude, an original diagonal shift vector, and a coordinate, the deformed shift at that coordinate is the corresponding diagonal entry obtained after forming the normalized two-coordinate deformation and taking the congruence transform of the original diagonal shift matrix.

Definition (Lean source)
d :
B :
i j :
Fin d
u v t :
s :
Fin d → ℝ
deformedShift B i j u v t s :
Fin d → ℝ
fun k ↦ let T := normalizedPairDeformation B i j u v t (T * diagonal s * T.transpose) k k
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.deformedShift · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:125 · uses SqMatrix
def representedCovariance reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a d2˘011by2˘011d\u2011by\u2011d diagonalizer and invariant matrix and a diagonal shift vector, the represented covariance matrix is the inverse congruence transform of the invariant matrix plus the diagonal shift matrix. This is meaningful for an invertible diagonalizer; for a singular one the matrix inverse is zero by convention, so the value is the zero matrix.

Definition (Lean source)
d :
B Ω :
s :
Fin d → ℝ
representedCovariance B Ω s :
B⁻¹ * (Ω + diagonal s) * (B⁻¹).transpose
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.representedCovariance · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:136 · uses SqMatrix
def RepresentsCovarianceFamily reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

For a dimension, an environment collection, a covariance matrix for each environment, a diagonalizer and invariant matrix, and a diagonal shift vector for each environment, the covariance family is represented exactly when every environment's covariance matrix equals the covariance represented by those common matrices and that environment's shift vector. Invertibility of the diagonalizer is not part of this predicate; a singular diagonalizer represents only the all-zero family.

Definition (Lean source)
d :
E :
Type*
Sigma :
E → SqMatrix d
B Ω :
s :
E → Fin d → ℝ
e :
RepresentsCovarianceFamily Sigma B Ω s :
Prop
Sigma e = representedCovariance B Ω (s e)
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity.RepresentsCovarianceFamily · Causalean/Discovery/LinearDisentanglement/CollinearAmbiguity/Definitions.lean:144 · uses SqMatrix
Algebra 1 core · 19 supporting This module records the entry formulas, invertibility and normalization facts, cycle product identity, shift nonnegativity, and exact congruence decomposition for the two-coordinate construction. ★ representedCovariance_deformation_eq

Algebra of the normalized two-coordinate deformation

This module records the entry formulas, invertibility and normalization facts, cycle product identity, shift nonnegativity, and exact congruence decomposition for the two-coordinate construction.

theorem representedCovariance_deformation_eq reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

With two distinct selected coordinates, an invertible reference diagonalizer, and an invertible normalized deformation, the transformed representation gives exactly the same covariance matrix in each environment.

Formal statement
d :
E :
Type*
B Ω :
i j :
Fin d
hij :
i ≠ j
s :
E → Fin d → ℝ
cert :
t :
e :
E
hB :
IsUnit B.det
hT :
IsUnit (normalizedPairDeformation B i j cert.u cert.v t).det
representedCovariance (deformedDiagonalizer B i j cert.u cert.v t) (deformedInvariant B Ω i j cert.u cert.v cert.c t) (deformedShift B i j cert.u cert.v t (s e))
Proof (Lean source)
theorem representedCovariance_deformation_eq {d : ℕ} {E : Type*} (B Ω : SqMatrix d) {i j : Fin d} (hij : i ≠ j) (s : E → Fin d → ℝ) (cert : AffineLineCertificate s i j) (t : ℝ) (e : E) (hB : IsUnit B.det) (hT : IsUnit (normalizedPairDeformation B i j cert.u cert.v t).det) : representedCovariance (deformedDiagonalizer B i j cert.u cert.v t) (deformedInvariant B Ω i j cert.u cert.v cert.c t) (deformedShift B i j cert.u cert.v t (s e)) = representedCovariance B Ω (s e) := by let T := normalizedPairDeformation B i j cert.u cert.v t have hTtr : IsUnit T.transpose.det := Matrix.isUnit_det_transpose T hT unfold representedCovariance deformedDiagonalizer change (T * B)⁻¹ * (deformedInvariant B Ω i j cert.u cert.v cert.c t + diagonal (deformedShift B i j cert.u cert.v t (s e))) * ((T * B)⁻¹).transpose = _ rw [← total_congruence_decomposition B Ω hij s cert t e] rw [Matrix.mul_inv_rev, Matrix.transpose_mul, Matrix.transpose_nonsing_inv] calc (B⁻¹ * T⁻¹) * (T * (Ω + diagonal (s e)) * T.transpose) * ((T.transpose)⁻¹ * (B⁻¹).transpose) = B⁻¹ * (T⁻¹ * T) * (Ω + diagonal (s e)) * (T.transpose * (T.transpose)⁻¹) * (B⁻¹).transpose := by noncomm_ring _ = B⁻¹ * (Ω + diagonal (s e)) * (B⁻¹).transpose := by rw [Matrix.nonsing_inv_mul T hT, Matrix.mul_nonsing_inv T.transpose hTtr] simp
19 supporting declarations (lemmas, instances)
Main 1 core · 1 supporting This module gives a paper-independent non-identifiability witness for a family (over any index set) of positive-definite covariance matrices. ★ exists_collinear_simultaneous_congruence_ambiguity

Constructive ambiguity from an affine-collinear shift pair

This module gives a paper-independent non-identifiability witness for a family (over any index set) of positive-definite covariance matrices. If two selected coordinates of all diagonal shifts lie on one affine line, an arbitrarily small nonzero normalized two-row deformation produces a distinct invertible diagonalizer and a second exact positive-definite/nonnegative representation of the same family.

theorem exists_collinear_simultaneous_congruence_ambiguity reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

Given two distinct selected coordinates, a unit-diagonal reference diagonalizer, its invertibility, an admissible selected two-cycle, a positive-definite invariant, coordinatewise nonnegative shifts, a certificate that the two selected shift coordinates of every environment lie on one affine line with nonzero normal, and a positive parameter bound, there is a deformation parameter that is nonzero and strictly smaller than the bound in absolute value, whose deformed diagonalizer, invariant and shifts (given by the explicit two-coordinate deformation formulas) satisfy: the new diagonalizer is unit-diagonal, invertible, pair-cycle admissible and different from the reference one; the new invariant is symmetric and positive definite; the new shifts are nonnegative; every covariance represented by the reference data is positive definite; and every environment's represented covariance is the same under the new data as under the reference data. The environment index may be any type, finite or not.

Formal statement
d :
E :
Type*
B₀ Ω₀ :
s :
E → Fin d → ℝ
i j :
Fin d
hij :
i ≠ j
hdiag :
hunit :
IsUnit B₀.det
hcycle :
:
Ω₀.PosDef
hs :
∀ e k, 0 ≤ s e k
cert :
r :
hr :
0 < r
∃ (t : ℝ) (B₁ Ω₁ : SqMatrix d) (s₁ : E → Fin d → ℝ),
0 < |t|
|t| < r
B₁ = deformedDiagonalizer B₀ i j cert.u cert.v t
Ω₁ = deformedInvariant B₀ Ω₀ i j cert.u cert.v cert.c t
s₁ = (fun e ↦ deformedShift B₀ i j cert.u cert.v t (s e))
IsUnit B₁.det
B₁ ≠ B₀
Ω₁.IsSymm
Ω₁.PosDef
conclusion 1
e k :
0 ≤ s₁ e k
conclusion 2
e :
(representedCovariance B₀ Ω₀ (s e)).PosDef
conclusion 3
e :
representedCovariance B₁ Ω₁ (s₁ e) = representedCovariance B₀ Ω₀ (s e)
Proof (Lean source)
theorem exists_collinear_simultaneous_congruence_ambiguity {d : ℕ} {E : Type*} (B₀ Ω₀ : SqMatrix d) (s : E → Fin d → ℝ) {i j : Fin d} (hij : i ≠ j) (hdiag : UnitDiagonal B₀) (hunit : IsUnit B₀.det) (hcycle : PairCycleAdmissible B₀ i j) (hΩ : Ω₀.PosDef) (hs : ∀ e k, 0 ≤ s e k) (cert : AffineLineCertificate s i j) {r : ℝ} (hr : 0 < r) : ∃ (t : ℝ) (B₁ Ω₁ : SqMatrix d) (s₁ : E → Fin d → ℝ), 0 < |t| ∧ |t| < r ∧ B₁ = deformedDiagonalizer B₀ i j cert.u cert.v t ∧ Ω₁ = deformedInvariant B₀ Ω₀ i j cert.u cert.v cert.c t ∧ s₁ = (fun e ↦ deformedShift B₀ i j cert.u cert.v t (s e)) ∧ UnitDiagonal B₁ ∧ IsUnit B₁.det ∧ PairCycleAdmissible B₁ i j ∧ B₁ ≠ B₀ ∧ Ω₁.IsSymm ∧ Ω₁.PosDef ∧ (∀ e k, 0 ≤ s₁ e k) ∧ (∀ e, (representedCovariance B₀ Ω₀ (s e)).PosDef) ∧ ∀ e, representedCovariance B₁ Ω₁ (s₁ e) = representedCovariance B₀ Ω₀ (s e) := by rcases exists_small_admissible_parameter B₀ Ω₀ hij hdiag hunit hcycle hΩ s cert.u cert.v cert.c cert.normal_ne hs hr with ⟨t, ht0, htr, _hfirst, _hsecond, _hdet, hTunit, hB₁unit, hB₁diag, hB₁cycle, hB₁ne, hΩ₁pos, hs₁⟩ refine ⟨t, deformedDiagonalizer B₀ i j cert.u cert.v t, deformedInvariant B₀ Ω₀ i j cert.u cert.v cert.c t, (fun e ↦ deformedShift B₀ i j cert.u cert.v t (s e)), ht0, htr, rfl, rfl, rfl, hB₁diag, hB₁unit, hB₁cycle, hB₁ne, ?_, hΩ₁pos, hs₁, ?_, ?_⟩ · have hΩsymm : Ω₀.IsSymm := by rw [← Matrix.isHermitian_iff_isSymm] exact hΩ.isHermitian exact deformedInvariant_isSymm B₀ Ω₀ hij hΩsymm cert.u cert.v cert.c t · intro e exact representedCovariance_posDef B₀ Ω₀ (s e) hunit hΩ (hs e) · intro e exact representedCovariance_deformation_eq B₀ Ω₀ hij s cert t e hunit hTunit
1 supporting declaration (lemmas, instances)
Small­Parameter 1 core · 2 supporting This module proves the openness step for the transformed invariant and packages all algebraic, normalization, invertibility, cycle-product, and nonnegativity constraints into one arbitrarily-small nonzero parameter choic ★ exists_small_admissible_parameter

Selecting a simultaneous small deformation parameter

This module proves the openness step for the transformed invariant and packages all algebraic, normalization, invertibility, cycle-product, and nonnegativity constraints into one arbitrarily-small nonzero parameter choice.

theorem exists_small_admissible_parameter reviewed
Causalean.Discovery.LinearDisentanglement.CollinearAmbiguity

Given two distinct selected coordinates, a unit-diagonal reference matrix, an invertible reference matrix, an admissible selected two-cycle, a positive-definite invariant, two line-normal coefficients that are not both zero, an affine offset entering the transformed invariant's cross term, coordinatewise nonnegative shifts, and a positive requested bound, there is a nonzero deformation parameter below that bound preserving all stated admissibility, positivity, and nonnegativity properties.

Formal statement
d :
E :
Type*
B Ω :
i j :
Fin d
hij :
i ≠ j
hBdiag :
hBunit :
IsUnit B.det
hcycle :
:
Ω.PosDef
s :
E → Fin d → ℝ
u v c :
hnormal :
u ≠ 0 ∨ v ≠ 0
hs :
∀ e k, 0 ≤ s e k
r :
hr :
0 < r
∃ t : ℝ,
0 < |t|
|t| < r
firstNormalizationDenom B i j v t ≠ 0
secondNormalizationDenom B i j u t ≠ 0
1 - t ^ 2 * u * v ≠ 0
deformedDiagonalizer B i j u v t ≠ B
(deformedInvariant B Ω i j u v c t).PosDef
conclusion 1
e k :
0 ≤ deformedShift B i j u v t (s e) k
Proof (Lean source)
theorem exists_small_admissible_parameter {d : ℕ} {E : Type*} (B Ω : SqMatrix d) {i j : Fin d} (hij : i ≠ j) (hBdiag : UnitDiagonal B) (hBunit : IsUnit B.det) (hcycle : PairCycleAdmissible B i j) (hΩ : Ω.PosDef) (s : E → Fin d → ℝ) (u v c : ℝ) (hnormal : u ≠ 0 ∨ v ≠ 0) (hs : ∀ e k, 0 ≤ s e k) {r : ℝ} (hr : 0 < r) : ∃ t : ℝ, 0 < |t| ∧ |t| < r ∧ firstNormalizationDenom B i j v t ≠ 0 ∧ secondNormalizationDenom B i j u t ≠ 0 ∧ 1 - t ^ 2 * u * v ≠ 0 ∧ IsUnit (normalizedPairDeformation B i j u v t).detIsUnit (deformedDiagonalizer B i j u v t).detUnitDiagonal (deformedDiagonalizer B i j u v t) ∧ PairCycleAdmissible (deformedDiagonalizer B i j u v t) i j ∧ deformedDiagonalizer B i j u v t ≠ B ∧ (deformedInvariant B Ω i j u v c t).PosDef ∧ ∀ e k, 0 ≤ deformedShift B i j u v t (s e) k := by rcases exists_deformedInvariant_posDef_radius B Ω hij hΩ u v c with ⟨ρp, hρp, hp⟩ rcases exists_algebraic_admissibility_radius B i j u v with ⟨ρa, hρa, ha⟩ let δ := min r (min ρp ρa) let t := δ / 2 have hδ : 0 < δ := by exact lt_min hr (lt_min hρp hρa) have ht_abs : |t| = δ / 2 := by rw [abs_of_pos] exact div_pos hδ (by norm_num) have ht0 : 0 < |t| := by rw [ht_abs]; positivity have htr : |t| < r := by rw [ht_abs] have hδr : δ ≤ r := min_le_left _ _ linarith have htp : |t| < ρp := by rw [ht_abs] have hδp : δ ≤ ρp := (min_le_right r _).trans (min_le_left _ _) linarith have hta : |t| < ρa := by rw [ht_abs] have hδa : δ ≤ ρa := (min_le_right r _).trans (min_le_right _ _) linarith rcases ha t hta with ⟨hfirst, hsecond, hdet⟩ have hTunit : IsUnit (normalizedPairDeformation B i j u v t).det := normalizedPairDeformation_isUnit_det B hij hfirst hsecond hdet have hB'unit : IsUnit (deformedDiagonalizer B i j u v t).det := by rw [deformedDiagonalizer, Matrix.det_mul] exact hTunit.mul hBunit have hdiag : UnitDiagonal (deformedDiagonalizer B i j u v t) := deformedDiagonalizer_unitDiagonal B hij hBdiag hfirst hsecond have hcycle' : PairCycleAdmissible (deformedDiagonalizer B i j u v t) i j := deformedDiagonalizer_pairCycleAdmissible B hij hBdiag hcycle hfirst hsecond hdet have htne : t ≠ 0 := abs_pos.mp ht0 have hne : deformedDiagonalizer B i j u v t ≠ B := deformedDiagonalizer_ne B hij hBunit hnormal htne hfirst hsecond have hpos : (deformedInvariant B Ω i j u v c t).PosDef := hp t htp have hshift : ∀ e k, 0 ≤ deformedShift B i j u v t (s e) k := by intro e exact deformedShift_nonnegative B hij u v t (s e) (hs e) exact ⟨t, ht0, htr, hfirst, hsecond, hdet, hTunit, hB'unit, hdiag, hcycle', hne, hpos, hshift⟩
2 supporting declarations (lemmas, instances)