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
∀ a. ∀ b. Odd(a) → Odd(b) → ∃ x. a · a + b · b = 4 · x + 2Every 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. (exists i. a = 2 * i + 1) -> (exists j. b = 2 * j + 1) -> exists q. a * a + b * b = 4 * q + 2Proof neighborhood
Direct theorem prerequisites
Direct 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–4
02Separate the logical casesL5–6
03Establish hasquareL7–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd square is four multiple plus one.
- L7
have hasquare : Mod4One(a · a)Definitions: Mod4One(a · a)Original native command in the exact edition - L8
specialize odd_square_is_four_multiple_plus_one a - L9
specialize odd_square_is_four_multiple_plus_one x - L10
apply odd_square_is_four_multiple_plus_one - L11
exact ha_witness
04Establish hbsquareL12–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd square is four multiple plus one.
- L12
have hbsquare : Mod4One(b · b)Definitions: Mod4One(b · b)Original native command in the exact edition - L13
specialize odd_square_is_four_multiple_plus_one b - L14
specialize odd_square_is_four_multiple_plus_one x1 - L15
apply odd_square_is_four_multiple_plus_one - L16
exact hb_witness
05Separate the logical casesL17–18
06Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists x2 + x3
Original defined command ledger · 22 lines
- 0001
intro a - 0002
intro b - 0003
intro ha - 0004
intro hb - 0005
cases ha - 0006
cases hb - 0007
have hasquare : Mod4One(a · a)Exact native replay line
have hasquare : exists q. a * a = 4 * q + 1 - 0008
specialize odd_square_is_four_multiple_plus_one a - 0009
specialize odd_square_is_four_multiple_plus_one x - 0010
apply odd_square_is_four_multiple_plus_one - 0011
exact ha_witness - 0012
have hbsquare : Mod4One(b · b)Exact native replay line
have hbsquare : exists q. b * b = 4 * q + 1 - 0013
specialize odd_square_is_four_multiple_plus_one b - 0014
specialize odd_square_is_four_multiple_plus_one x1 - 0015
apply odd_square_is_four_multiple_plus_one - 0016
exact hb_witness - 0017
cases hasquare - 0018
cases hbsquare - 0019
exists x2 + x3 - 0020
rewrite hasquare_witness - 0021
rewrite hbsquare_witness - 0022
simp [mul_add, add_assoc, add_comm]