Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
forall A B C D m. A * B = C * D -> C = D + m -> (A * A + B * B) + (C * C + D * D) = (A + B) * (A + B) + m * mEvery purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall A B C D m. A * B = C * D -> C = D + m -> (A * A + B * B) + (C * C + D * D) = (A + B) * (A + B) + m * mProof neighborhood
Direct theorem prerequisites
TS0029 two_square_add_left_commDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–7
02Calculate and transport equalitiesL8–8
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L8
rewrite hdifference at hcross
03Establish hproductL9–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
Original defined command ledger · 17 lines
- 0001
intro A - 0002
intro B - 0003
intro C - 0004
intro D - 0005
intro m - 0006
intro hcross - 0007
intro hdifference - 0008
rewrite hdifference at hcross - 0009
have hproduct : B * A = D * D + m * D - 0010
trans A * B - 0011
apply mul_comm - 0012
trans (D + m) * D - 0013
exact hcross - 0014
apply add_mul - 0015
rewrite hdifference - 0016
rewrite hdifference - 0017
simp [mul_add, add_mul, add_assoc, add_comm, two_square_add_left_comm, mul_comm, hproduct]