Real inner-product space: Sylvester conditions as a universal positive-definiteness certificate for a matrix form on ℝ²

On this page
  1. Goal and scope
  2. Givens and symbols
  3. Rules and sources
  4. Main derivation
  5. Substeps and lemmas
  6. Reverse audits
  7. Error controls and negative controls
  8. Result and limitations
  9. Verification and source binding

← Guide index · Original MKO

derivation-mko-real-inner-product-space-01 · production-20261019-adopted-96

Goal and scope

Let M be the symmetric integer matrix with first row (2,1) and second row (1,3), and ⟨x,y⟩_M=xᵀMy for x,y∈ℝ². (1) Prove separately that ⟨·,·⟩_M is bilinear, symmetric and positive definite, hence an inner product on ℝ²; positive definiteness is certified universally by the 2-by-2 Sylvester conditions, with both sufficiency and necessity proved in full. (2) Decide why the forms given by N (rows (1,2),(2,1)), P (rows (1,1),(1,1)) and R (rows (2,1),(0,3)) are not inner products.

Works inside the MKO's scope: matrices and vectors are fully specified, with 2-by-2 integer candidate matrices (assumption a1); positive definiteness is checked by exact leading-principal-minor and determinant conditions, not established from finitely many sampled vectors (assumption a2). Bilinearity, symmetry and positive definiteness are three separate obligations. The induced norm (the next node), completeness and the Sylvester criterion for n>2 are not treated, and the canonical MKO and its English edition are not changed.

Givens and symbols

  • matrix_product_def
  • distributive
  • square_nonneg
  • order_basics
  • numeric_evaluation
  • G1 — V=ℝ², with vectors x=(x₁,x₂) treated as columns and operations coordinatewise.
  • G2 — M has rows (2,1) and (1,3); ⟨x,y⟩_M=xᵀMy.
  • G3 — Comparison matrices: N with rows (1,2),(2,1); P with rows (1,1),(1,1); R with rows (2,1),(0,3); each defines ⟨x,y⟩=xᵀ(matrix)y.
  • M=\begin{pmatrix}2&1\\1&3\end{pmatrix} — the candidate symmetric integer matrix
  • \langle x,y\rangle_M=x^{T}My — the bilinear form defined by M
  • q(x)=\langle x,x\rangle_M — the associated quadratic form
  • \begin{pmatrix}a&b\\b&c\end{pmatrix} — a general 2-by-2 real symmetric matrix, q(x)=ax_1^2+2bx_1x_2+cx_2^2
  • a,\ ac-b^2 — the leading principal minor and the determinant
  • N,P,R — the three comparison matrices

Rules and sources

  • matrix_product_def · prerequisite — Matrix product: for A of size m×n and B of size n×p, (AB)_{ij}=Σ_{k=1}^{n} A_{ik}B_{kj}. Matrix multiplication is in general not commutative.
  • distributive · prerequisite — Distributivity: u(v+w)=uv+uw; with commutativity also (v+w)u=vu+wu.
  • square_nonneg · prerequisite — Squares are nonnegative: for every real u, u²≥0, and u²=0 ⇔ u=0.
  • order_basics · prerequisite — Order of the reals: exactly one of u<v, u=v, u>v holds; u<v and v<w give u<w; u<v gives u+w<v+w; u<v and w>0 give uw<vw; u<v and w<0 give uw>vw.
  • numeric_evaluation · prerequisite — Exact evaluation of an explicit integer or rational expression; independently recomputable.
  • def_unfold · prerequisite — Unfolding a definition: replacing a defined term by its definition (or folding it back) does not change whether a statement is true.
  • mul_assoc · prerequisite — Associativity of multiplication: (uv)w=u(vw).
  • mul_comm · prerequisite — Commutativity of multiplication: uv=vu (in commutative number systems such as ℤ, ℚ, ℝ, ℂ).
  • finite_sum_rules · prerequisite — Finite sums: Σ_{i=1}^{0} a_i=0 and Σ_{i=1}^{n+1} a_i=Σ_{i=1}^{n} a_i + a_{n+1}; Σ(a_i+b_i)=Σa_i+Σb_i; Σ c·a_i=c·Σa_i.
  • add_comm · prerequisite — Commutativity of addition: u+v=v+u.
  • def_intro · prerequisite — Introducing a definition: a statement, expression or object may be given a name, after which the name and what it stands for are interchangeable.
  • zero_product · prerequisite — Zero-product property: in ℤ, ℚ, ℝ, ℂ (or any integral domain), uv=0 ⇔ u=0 or v=0.
  • power_laws · prerequisite — Integer exponent laws (base nonzero, or exponents positive integers): a^m·a^n=a^{m+n}, (a^m)^n=a^{mn}, (ab)^n=a^n b^n, a^0=1.
  • add_inverse · prerequisite — Additive inverse: every u has −u with u+(−u)=0; u−v means u+(−v).
  • mul_inverse_nonzero · prerequisite — Inverse of a nonzero number: in ℚ, ℝ or ℂ, if u≠0 there is 1/u with u·(1/u)=1, and v/u means v·(1/u). 0 has no inverse, so v/0 is undefined.
  • contrapositive · prerequisite — Contrapositive: P⇒Q is equivalent to ¬Q⇒¬P. The converse Q⇒P is in general not equivalent to P⇒Q.
  • and_intro_elim · prerequisite — Conjunction: from P and Q infer P∧Q; from P∧Q infer P and infer Q.
  • forall_elim · prerequisite — ∀-elimination (instantiation): if ∀x∈D, P(x) holds and a∈D, then P(a) holds.
  • mul_zero · prerequisite — Multiplying by zero: u·0=0. Reason: u·0=u·(0+0)=u·0+u·0; subtracting u·0 from both sides gives 0=u·0.
  • quantifier_negation · prerequisite — Negating quantifiers: ¬(∀x, P(x)) is equivalent to ∃x, ¬P(x), and ¬(∃x, P(x)) is equivalent to ∀x, ¬P(x).
  • mko_ips_def · cited — On the same real vector space, an inner product must be bilinear in both slots, symmetric and satisfy ⟨x,x⟩>0 for every nonzero x. This slice uses integer-coefficient symmetric matrices on ℝ² and the Sylvester conditions as a universal positive-definiteness certificate. · mko-real-inner-product-space
  • mko_bilinear_def · cited — B:V×V→ℝ is bilinear when fixing either input leaves a linear map in the other; the integer-coefficient matrix formula B(x,y)=xᵀAy serves as a universal coordinate certificate. · mko-real-bilinear-form
  • L_sylvester_suff · lemma — For reals a,b,c, if a>0 and ac−b²>0, then q(x)=ax₁²+2bx₁x₂+cx₂² is positive for every x≠0.
  • L_sylvester_nec · lemma — For reals a,b,c, if q(x)=ax₁²+2bx₁x₂+cx₂² is positive for every x≠0, then a>0 and ac−b²>0.

Main derivation

S01 · definition

Before

\langle\cdot,\cdot\rangle_M\ \text{inner product on}\ \mathbb{R}^2

After

\text{bilinear}\ \land\ \text{symmetric}\ \land\ \forall x\neq0:\ \langle x,x\rangle_M>0

Conditions: none

Rule: mko_ips_def · Uses: G1, G2, mko_ips_def

Leaf basis: mko_ips_def + def_unfold

By the MKO, an inner product has three separate obligations: bilinear in both slots, symmetric, and positive definite (⟨x,x⟩ strictly positive for every nonzero vector). S03 to S07 prove them one by one, and none can be skipped; each comparison matrix in S12 to S14 lacks one of them.

S02 · equivalent

Before

\langle x,y\rangle_M=x^{T}My

After

\langle x,y\rangle_M=2x_1y_1+x_1y_2+x_2y_1+3x_2y_2

Conditions: none

Rule: matrix_product_def · Uses: G2, matrix_product_def

Leaf basis: matrix_product_def + distributive

First My=(2y₁+y₂, y₁+3y₂); multiplying by xᵀ gives x₁(2y₁+y₂)+x₂(y₁+3y₂), which expands into four terms. The coefficients 2, 1, 1, 3 are exactly the entries M_{ij}, attached to x_iy_j.

S03 · equivalent

Before

\langle\alpha x+\beta z,\ y\rangle_M

After

\alpha\langle x,y\rangle_M+\beta\langle z,y\rangle_M

Conditions: none

Rule: mko_bilinear_def · Uses: S02, mko_bilinear_def

Leaf basis: distributive + mul_assoc + mul_comm + finite_sum_rules

Linearity in the first slot: αx+βz has coordinates αx_i+βz_i; substituting into the four terms of S02, each term M_{ij}(αx_i+βz_i)y_j splits by distributivity into αM_{ij}x_iy_j+βM_{ij}z_iy_j, and the terms regroup. x, z, y, α, β are arbitrary, so this is a universal certificate (N1 checks it as a polynomial identity).

S04 · equivalent

Before

\langle x,\ \alpha y+\beta w\rangle_M

After

\alpha\langle x,y\rangle_M+\beta\langle x,w\rangle_M

Conditions: none

Rule: mko_bilinear_def · Uses: S02, mko_bilinear_def

Leaf basis: distributive + mul_assoc + mul_comm + finite_sum_rules

Linearity in the second slot works the same way: each term M_{ij}x_i(αy_j+βw_j) splits into αM_{ij}x_iy_j+βM_{ij}x_iw_j. The second slot must be checked separately: bilinearity is an obligation for each slot.

S05 · implies

Before

\langle y,x\rangle_M=2y_1x_1+y_1x_2+y_2x_1+3y_2x_2

After

\langle y,x\rangle_M=\langle x,y\rangle_M\ \ (\forall x,y)

Conditions: M_{12}=M_{21}

Rule: mul_comm · Uses: S02, G2

Leaf basis: mul_comm + add_comm

After swapping x and y, the term y₁x₂ matches x₂y₁ of the original and y₂x₁ matches x₁y₂; both carry coefficient 1 because M_{12}=M_{21}=1. Commutativity of multiplication then makes the four terms agree one by one. Symmetry relies on M being symmetric.

S06 · definition

Before

q(x)=\langle x,x\rangle_M

After

q(x)=2x_1^2+2x_1x_2+3x_2^2=ax_1^2+2bx_1x_2+cx_2^2\ \ (a,b,c)=(2,1,3)

Conditions: none

Rule: def_intro · Uses: S02

Leaf basis: def_intro + mul_comm + distributive

Put y=x in S02; the terms x₁x₂ and x₂x₁ combine into 2x₁x₂. A general symmetric matrix with rows (a,b),(b,c) gives q=ax₁²+2bx₁x₂+cx₂²; here a=2, b=1, c=3.

S07 · theorem_application

Before

a=2>0,\ \ ac-b^2=6-1=5>0

After

\forall x\neq0:\ q(x)>0

Conditions: a>0; ac-b^2>0

Rule: L_sylvester_suff · Uses: S06

Leaf basis: square_nonneg + order_basics + zero_product

Sylvester conditions: the leading principal minor a=2>0 and the determinant ac−b²=2·3−1²=5>0. By Lemma L_sylvester_suff, q is positive at every nonzero vector. The lemma is proved completely by completing the square in sub-steps S07.1 to S07.3, for all x at once, without samples.

S08 · equivalent

Before

2\,q(x)=2(2x_1^2+2x_1x_2+3x_2^2)

After

2\,q(x)=(2x_1+x_2)^2+5x_2^2

Conditions: none

Rule: distributive · Uses: S06, S07.1

Leaf basis: distributive + power_laws

Substitute a=2, b=1, c=3 into the identity of S07.1: 2q(x)=(2x₁+x₂)²+5x₂². This is the concrete completing-the-square certificate for M: both terms on the right are nonnegative and vanish together only at x=0.

S09 · implies

Before

\text{S03},\ \text{S04},\ \text{S05},\ \text{S07}

After

\langle\cdot,\cdot\rangle_M\ \text{is an inner product};\ (\mathbb{R}^2,\langle\cdot,\cdot\rangle_M)\ \text{real inner-product space}

Conditions: none

Rule: and_intro_elim · Uses: S01, S03, S04, S05, S07

Leaf basis: and_intro_elim + mko_ips_def

All three obligations are proved: bilinearity (S03, S04), symmetry (S05) and positive definiteness (S07). By the definition in S01, ⟨·,·⟩_M is an inner product on ℝ².

S10 · implies

Before

e_1=(1,0),\ e_2=(0,1),\ x=(1,-1)

After

\langle e_1,e_2\rangle_M=1,\ q(e_1)=2,\ q(e_2)=3,\ q(1,-1)=2-2+3=3

Conditions: none

Rule: numeric_evaluation · Uses: S02, S06

Leaf basis: numeric_evaluation

Exact evaluation: ⟨e₁,e₂⟩_M=M₁₂=1; q(e₁)=a=2 and q(e₂)=c=3; q(1,−1)=2·1+2·1·(−1)+3·1=3>0. Consistent with S08: 2q(1,−1)=(2−1)²+5=6. These values are examples only; positive definiteness is proved in S07.

S11 · implies

Before

\forall x\neq0:\ ax_1^2+2bx_1x_2+cx_2^2>0

After

a>0\ \land\ ac-b^2>0

Conditions: none

Rule: L_sylvester_nec · Uses: S06

Leaf basis: order_basics + mul_inverse_nonzero

The Sylvester conditions are also necessary (Lemma L_sylvester_nec), so for 2-by-2 symmetric matrices they are an exact criterion: positive definite ⇔ a>0 and ac−b²>0. The necessary direction lets a failed condition refute positive definiteness directly (S12, S13). The proof is in sub-steps S11.1 and S11.2.

S12 · implies

Before

N:\ a=1,\ b=2,\ c=1,\ ac-b^2=1-4=-3<0

After

q_N(-2,1)=4-8+1=-3<0\ \Rightarrow\ \langle\cdot,\cdot\rangle_N\ \text{not an inner product}

Conditions: none

Rule: contrapositive · Uses: G3, S11

Leaf basis: contrapositive + numeric_evaluation

N is symmetric and bilinear and its diagonal entries 1, 1 are positive, but its determinant is −3<0, so by the contrapositive of L_sylvester_nec it is not positive definite. The witness vector (−b,a)=(−2,1) of S11.2 gives q_N=1·4+4·(−2)·1+1·1=−3<0. Another witness, (1,−1), gives 1−4+1=−2.

S13 · implies

Before

P:\ a=b=c=1,\ ac-b^2=0

After

q_P(x)=(x_1+x_2)^2\ge0,\ q_P(1,-1)=0\ \Rightarrow\ \text{semi-definite, not an inner product}

Conditions: none

Rule: contrapositive · Uses: G3, S11

Leaf basis: contrapositive + square_nonneg + numeric_evaluation

P is symmetric and bilinear, with q_P=x₁²+2x₁x₂+x₂²=(x₁+x₂)²≥0, so it is positive semi-definite; but its determinant 0 is not strictly positive, and the nonzero vector (1,−1) gives q_P=0, violating 'strictly positive on nonzero vectors'. Thus this merely positive-semidefinite form, with a nonzero null vector, is not an inner product. Positive-semidefinite in the inclusive sense also includes positive-definite forms, so the conclusion is not that every semidefinite form fails to be an inner product.

S14 · implies

Before

R=\begin{pmatrix}2&1\\0&3\end{pmatrix}

After

\langle e_1,e_2\rangle_R=R_{12}=1\neq 0=R_{21}=\langle e_2,e_1\rangle_R\ \Rightarrow\ \text{not symmetric}

Conditions: none

Rule: quantifier_negation · Uses: G3, S02

Leaf basis: quantifier_negation + matrix_product_def

xᵀRy is still bilinear (the arguments of S03 and S04 do not use symmetry), but ⟨e₁,e₂⟩_R=R₁₂=1 and ⟨e₂,e₁⟩_R=R₂₁=0, so symmetry fails. Hence R does not define an inner product, whatever its quadratic form does; the three obligations must be checked separately.

S15 · implies

Before

\text{S09},\ \text{S12},\ \text{S13},\ \text{S14}

After

M\ \text{inner product};\ N\ \text{indefinite};\ P\ \text{semi-definite};\ R\ \text{not symmetric}

Conditions: none

Rule: and_intro_elim · Uses: S09, S12, S13, S14

Leaf basis: and_intro_elim

Combine: M passes all three obligations and is an inner product; N is indefinite (determinant −3); P is only semi-definite (determinant 0); R is not symmetric.

Substeps and lemmas

S07.1 · equivalent

Before

a\,q(x)=a(ax_1^2+2bx_1x_2+cx_2^2)

After

a\,q(x)=(ax_1+bx_2)^2+(ac-b^2)x_2^2

Conditions: none

Rule: distributive · Uses: distributive

Leaf basis: distributive + power_laws + add_inverse

Expand the right side: (ax₁+bx₂)²=a²x₁²+2abx₁x₂+b²x₂², and adding (ac−b²)x₂² gives a²x₁²+2abx₁x₂+acx₂², which is the left side. Multiplying by a instead of dividing keeps the identity valid for every real a (N3).

S07.2 · implies

Before

a>0,\ ac-b^2>0,\ a\,q(x)=(ax_1+bx_2)^2+(ac-b^2)x_2^2

After

a\,q(x)\ge 0\ \Rightarrow\ q(x)\ge 0

Conditions: a>0; ac-b^2>0

Rule: square_nonneg · Uses: S07.1, square_nonneg, order_basics

Leaf basis: square_nonneg + order_basics + mul_inverse_nonzero

Squares are nonnegative, and (ac−b²)>0 times the nonnegative x₂² is nonnegative, so a·q(x)≥0; multiplying by 1/a>0 (the order axioms keep the direction) gives q(x)≥0.

S07.3 · implies

Before

q(x)=0

After

x_2=0\ \land\ x_1=0,\ \text{so}\ x\neq0\Rightarrow q(x)>0

Conditions: a>0; ac-b^2>0

Rule: zero_product · Uses: S07.1, S07.2, zero_product

Leaf basis: zero_product + square_nonneg + order_basics + contrapositive

If q(x)=0, the two nonnegative terms sum to 0, so both are 0: (ac−b²)x₂²=0 with ac−b²≠0 gives x₂=0; then (ax₁+bx₂)²=0 gives ax₁=0, and a≠0 gives x₁=0. Contrapositively x≠0 ⇒ q(x)≠0, and with S07.2, q(x)>0. S07.1 to S07.3 together prove Lemma L_sylvester_suff.

S11.1 · implies

Before

x=e_1=(1,0)\neq0

After

q(e_1)=a>0

Conditions: none

Rule: forall_elim · Uses: S06

Leaf basis: forall_elim + mul_zero + numeric_evaluation

Specialize the positivity hypothesis to x=e₁≠0: q(e₁)=a·1+2b·0+c·0=a, so a>0.

S11.2 · implies

Before

x=(-b,a)\neq0

After

q(-b,a)=ab^2-2ab^2+ca^2=a(ac-b^2)>0\ \Rightarrow\ ac-b^2>0

Conditions: a>0

Rule: forall_elim · Uses: S11.1

Leaf basis: forall_elim + order_basics + distributive + mul_inverse_nonzero

Since a>0, the vector (−b,a) has a nonzero second coordinate and is nonzero. Substituting gives a·b²+2b·(−b)·a+c·a²=a(ac−b²) (N6). Positivity gives a(ac−b²)>0, and multiplying by 1/a>0 gives ac−b²>0. S11.1 and S11.2 together prove Lemma L_sylvester_nec.

Reverse audits

  • S15 · sufficient_goal_reduction · S09, S12, S13, S14, and_intro_elim — The goal is the conjunction of the four decisions; each is proved forwards by the listed steps, and H⇒G by conjunction introduction.
  • S14 · premise_audit · quantifier_negation, matrix_product_def — One counterexample pair refutes universal symmetry (N9).
  • S13 · premise_audit · S11, contrapositive, numeric_evaluation — Witness: (1,−1)≠0 while q_P=0 (N8).
  • S12 · premise_audit · S11, contrapositive, numeric_evaluation — One negative witness refutes positive definiteness (N7); no other vectors are needed.
  • S11.2 · premise_audit · S11.1, forall_elim, order_basics — It needs a>0 from S11.1, both to ensure (−b,a)≠0 and to divide by a.
  • S11.1 · premise_audit · forall_elim, mul_zero — Only one instance of the positivity hypothesis is used.
  • S11 · premise_audit · L_sylvester_nec — Together with S07 it gives an equivalence; this step uses only the necessary direction.
  • S10 · premise_audit · S02, numeric_evaluation — Recomputable by N5; finitely many values cannot replace the universal certificate of S07 (see the error controls).
  • S09 · sufficient_goal_reduction · S01, S03, S04, S05, S07, and_intro_elim — Goal G: an inner product. Sufficient condition H: the three obligations; H⇒G by S01. H is proved forwards from G2, using neither G nor sampled vectors.
  • S08 · inverse_equivalence · S07.1, numeric_evaluation — A polynomial identity (N4), valid both ways.
  • S07.3 · premise_audit · zero_product, square_nonneg, contrapositive — It uses 'a sum of nonnegatives is 0 ⇒ each is 0' and the zero-product property; both strict conditions are used.
  • S07.2 · premise_audit · square_nonneg, order_basics — a>0 is needed to divide by a without flipping the inequality; no converse is claimed.
  • S07.1 · inverse_equivalence · distributive, power_laws — A polynomial identity; both sides have the same value.
  • S07 · premise_audit · S06, L_sylvester_suff, numeric_evaluation — Both strict inequalities are needed; if ac−b²=0 (see S13) the conclusion fails.
  • S06 · premise_audit · S02, def_intro — It only names and collects like terms; the positive-definiteness check is made on q from here on.
  • S05 · premise_audit · mul_comm, G2 — The condition M_{12}=M_{21} cannot be dropped: R in S14 violates it and its form is not symmetric (N2 checks this step as an identity).
  • S04 · inverse_equivalence · distributive, mul_assoc, mul_comm — An identity, valid both ways.
  • S03 · inverse_equivalence · distributive, mul_assoc, mul_comm — Only real identities are used; both sides have the same value, so the step holds both ways.
  • S02 · inverse_equivalence · matrix_product_def, distributive — The expansion is an identity; backward, the four terms regroup into xᵀMy, so both sides have the same value.
  • S01 · premise_audit · mko_ips_def — It only unfolds the definition and derives no new fact.

Error controls and negative controls

Symmetric bilinear or semi-definite is not enough

The MKO's misconception is to call a symmetric bilinear form, or a semi-definite one, an inner product. N and P are both symmetric and bilinear; N is negative at (1,−1) and P is 0 at the nonzero vector (1,−1). An inner product must be strictly positive on every nonzero vector.

Sampled vectors do not prove positive definiteness

The quadratic form of N takes the values 1, 1, 6 at (1,0), (0,1), (1,1), all positive, so sampling would wrongly suggest positive definiteness; but q_N(1,−1)=−2. Positive definiteness must come from a universal certificate: the completing-the-square identity plus the Sylvester conditions (S07).

Positive diagonal entries are not enough

The diagonal entries 1, 1 of N are positive, satisfying only the first condition a>0; the determinant ac−b²=−3 reveals that it is not positive definite. For 2-by-2 matrices both conditions are required (S11 proves both are necessary).

  • The quadratic form of N is positive at (1,0), (0,1), (1,1), so ⟨·,·⟩_N is an inner product → reject — q_N(1,−1)=1−4+1=−2<0.
  • P is symmetric and q_P≥0, so ⟨·,·⟩_P is an inner product → reject — q_P(1,−1)=0 although (1,−1)≠0; it is only semi-definite.
  • xᵀRy is bilinear with positive diagonal entries, so it is an inner product → reject — ⟨e₁,e₂⟩_R=1 but ⟨e₂,e₁⟩_R=0; it is not symmetric.
  • A 2-by-2 symmetric matrix with positive diagonal entries is always positive definite → reject — N has diagonal entries 1, 1 but determinant −3, and q_N(−2,1)=−3.

Result and limitations

⟨x,y⟩_M=2x₁y₁+x₁y₂+x₂y₁+3x₂y₂ is bilinear in both slots and symmetric, and 2q(x)=(2x₁+x₂)²+5x₂² vanishes only at x=0; the Sylvester conditions a=2>0 and ac−b²=5>0 give a universal positive-definiteness certificate, so (ℝ²,⟨·,·⟩_M) is a real inner-product space. For 2-by-2 symmetric matrices the Sylvester conditions are necessary and sufficient for positive definiteness. N (determinant −3, q_N(−2,1)=−3), P (determinant 0, q_P(1,−1)=0) and R (not symmetric) give no inner product.

  • The MKO notes that an inner-product space is not automatically complete; ℝ² itself is complete, but this guide does not treat completeness or Hilbert spaces.
  • The Sylvester criterion is proved completely only for 2-by-2 matrices; the general n-by-n form is outside this guide's scope.

Verification and source binding

10 declared checks for this guide; only the listed expressions are covered.

  • source commit: b28a5edbd46279b1db2a3f3f48bb3f447e18899f
  • adopted source SHA-256: d02e546e2588353f6bbb496de2a5d6006b38b2adc1288620b1b7141c8175932f
  • original source SHA-256: b8b97eaec9185806e2d7a87378d14b180297a8ad4a22308761b5db72c6a6627c
  • Lean: NOT_RUN · independent AI: NOT_MEASURED

Same-source full JSON (formulas, ASTs, controls and revision log)