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. ModEq(2,a · a,a)Every 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. (exists fsps_u_square fsps_v_square. (a * a) + 2 * fsps_u_square = (a) + 2 * fsps_v_square)Proof 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–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro a
02Establish hparityL2–3
03Separate the logical casesL4–5
04Use earlier factsL6–8
05Separate the logical casesL9–10
06Use earlier factsL11–13
07Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
08Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hparity_witness_left
09Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists x
10Use earlier factsL17–20
11Separate the logical casesL21–22
12Use earlier factsL23–25
13Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x
14Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hparity_witness_right
15Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists x
16Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hparity_witness_right
17Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists x
18Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hparity_witness_right
Original defined command ledger · 31 lines
- 0001
intro a - 0002
have hparity : exists q. a = 2 * q \/ a = 2 * q + 1 - 0003
apply parity_cases - 0004
cases hparity - 0005
cases hparity_witness - 0006
specialize matching_parity_mod_two (a * a) - 0007
specialize matching_parity_mod_two a - 0008
apply matching_parity_mod_two - 0009
left - 0010
split - 0011
specialize even_mul_left a - 0012
specialize even_mul_left a - 0013
apply even_mul_left - 0014
exists x - 0015
exact hparity_witness_left - 0016
exists x - 0017
exact hparity_witness_left - 0018
specialize matching_parity_mod_two (a * a) - 0019
specialize matching_parity_mod_two a - 0020
apply matching_parity_mod_two - 0021
right - 0022
split - 0023
specialize odd_mul_odd a - 0024
specialize odd_mul_odd a - 0025
apply odd_mul_odd - 0026
exists x - 0027
exact hparity_witness_right - 0028
exists x - 0029
exact hparity_witness_right - 0030
exists x - 0031
exact hparity_witness_right