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. ∀ g. ∀ A. ∀ B. ∀ q. ¬g = 0 → a = g · A → b = g · B → Coprime(A,B) → b · b = a · a · q → Dvd(a,b)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 b g A B q. ~(g = 0) -> a = g * A -> b = g * B -> (forall frp_divisor_csf_divisibility_reduced. (exists frp_left_factor_csf_divisibility_reduced. A = frp_divisor_csf_divisibility_reduced * frp_left_factor_csf_divisibility_reduced) -> (exists frp_right_factor_csf_divisibility_reduced. B = frp_divisor_csf_divisibility_reduced * frp_right_factor_csf_divisibility_reduced) -> frp_divisor_csf_divisibility_reduced = 1) -> b * b = (a * a) * q -> exists k. b = a * kProof 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro heq
03Establish hreduceL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent square factor cancel.
- L12
have hreduce : B * B = (A * A) * q - L13
specialize four_square_descent_square_factor_cancel g - L14
specialize four_square_descent_square_factor_cancel (B * B) - L15
specialize four_square_descent_square_factor_cancel ((A * A) * q) - L16
apply four_square_descent_square_factor_cancel - L17
exact hg - L18
trans b * b - L19
rewrite hb - L20
rewrite hb - L21
symm
04Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
apply four_square_product_square
05Calculate and transport equalitiesL23–23
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L23
trans (a * a) * q
06Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact heq
07Calculate and transport equalitiesL25–28
08Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply four_square_product_square
09Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
refl
10Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
apply mul_assoc
11Establish hcop_squareL32–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime mul right.
- L32
have hcop_square : Coprime(A,B · B)Definitions: Coprime(A,B · B)Original native command in the exact edition - L33
specialize coprime_mul_right A - L34
specialize coprime_mul_right B - L35
specialize coprime_mul_right B - L36
apply coprime_mul_right - L37
exact hcop - L38
exact hcop
12Establish hAoneL39–41
13Construct an explicit witnessL42–42
Supply the displayed value, then prove that it has the required property.
- L42
exists 1
14Calculate and transport equalitiesL43–43
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L43
symm
15Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply mul_one
16Construct an explicit witnessL45–45
Supply the displayed value, then prove that it has the required property.
- L45
exists (A * q)
17Calculate and transport equalitiesL46–46
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L46
trans (A * A) * q
18Use earlier factsL47–48
19Construct an explicit witnessL49–49
Supply the displayed value, then prove that it has the required property.
- L49
exists B
20Calculate and transport equalitiesL50–50
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L50
trans g * B
21Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
exact hb
22Calculate and transport equalitiesL52–55
23Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
apply mul_one
24Calculate and transport equalitiesL57–57
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L57
refl
Original defined command ledger · 57 lines
- 0001
intro a - 0002
intro b - 0003
intro g - 0004
intro A - 0005
intro B - 0006
intro q - 0007
intro hg - 0008
intro ha - 0009
intro hb - 0010
intro hcop - 0011
intro heq - 0012
have hreduce : B * B = (A * A) * q - 0013
specialize four_square_descent_square_factor_cancel g - 0014
specialize four_square_descent_square_factor_cancel (B * B) - 0015
specialize four_square_descent_square_factor_cancel ((A * A) * q) - 0016
apply four_square_descent_square_factor_cancel - 0017
exact hg - 0018
trans b * b - 0019
rewrite hb - 0020
rewrite hb - 0021
symm - 0022
apply four_square_product_square - 0023
trans (a * a) * q - 0024
exact heq - 0025
rewrite ha - 0026
rewrite ha - 0027
trans ((g * g) * (A * A)) * q - 0028
congr - 0029
apply four_square_product_square - 0030
refl - 0031
apply mul_assoc - 0032
have hcop_square : Coprime(A,B · B)Exact native replay line
have hcop_square : forall d. (exists x. A = d * x) -> (exists y. B * B = d * y) -> d = 1 - 0033
specialize coprime_mul_right A - 0034
specialize coprime_mul_right B - 0035
specialize coprime_mul_right B - 0036
apply coprime_mul_right - 0037
exact hcop - 0038
exact hcop - 0039
have hAone : A = 1 - 0040
specialize hcop_square A - 0041
apply hcop_square - 0042
exists 1 - 0043
symm - 0044
apply mul_one - 0045
exists (A * q) - 0046
trans (A * A) * q - 0047
exact hreduce - 0048
apply mul_assoc - 0049
exists B - 0050
trans g * B - 0051
exact hb - 0052
rewrite ha - 0053
rewrite hAone - 0054
congr - 0055
symm - 0056
apply mul_one - 0057
refl