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.
G102 was OPEN at this family's Alpha-v22 first admission: complete execution was proved only for a supplied valid beta-coded digit prefix. G102 is now CLOSED in Alpha v23 for every arbitrary exponent, with actual canonical digits and operations≤3*BitLen(e)+2.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ a. ∀ m. ∀ l. ∀ r. BinaryModularExecution(b,c,a,m,S l,r) → ∃ x. ∃ y. Beta(b,c,l,x) ∧ (BinaryModularExecution(b,c,a,m,l,y) ∧ BinaryModularStep(m,y,a,x,r))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 55 lines are the exact independently kernel-checked original script.
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
02Separate the logical casesL8–11
03Establish hlastL12–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hexecution witness witness left right.
- L12
have hlast : ∃ d. ∃ s. ∃ t. Beta(b,c,l,d) ∧ (Beta(x,x1,l,s) ∧ (Beta(x,x1,S l,t) ∧ BinaryModularStep(m,s,a,d,t)))Definitions: BetaBinaryModularStepOriginal native command in the exact edition - L13
specialize hexecution_witness_witness_left_right l - L14
apply hexecution_witness_witness_left_right - L15
specialize le_refl (S l) - L16
exact le_refl
04Separate the logical casesL17–22
05Establish hterminalL23–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L23
have hterminal : x4 = r - L24
specialize beta_at_unique x - L25
specialize beta_at_unique x1 - L26
specialize beta_at_unique (S l) - L27
specialize beta_at_unique x4 - L28
specialize beta_at_unique r - L29
apply beta_at_unique - L30
exact hlast_witness_witness_witness_right_right_left - L31
exact hexecution_witness_witness_right
06Construct an explicit witnessL32–33
07Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
08Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hlast_witness_witness_witness_left
09Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
10Construct an explicit witnessL37–38
11Separate the logical casesL39–40
12Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hexecution_witness_witness_left_left
13Fix variables and assumptionsL42–43
14Use earlier factsL44–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
15Calculate and transport equalitiesL51–54
16Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hlast_witness_witness_witness_right_right_right
Original defined command ledger · 55 lines
- 0001
intro b - 0002
intro c - 0003
intro a - 0004
intro m - 0005
intro l - 0006
intro r - 0007
intro hexecution - 0008
cases hexecution - 0009
cases hexecution_witness - 0010
cases hexecution_witness_witness - 0011
cases hexecution_witness_witness_left - 0012
have hlast : exists d s t. ((((exists ff_h_be_successor_last_digit. ff_h_be_successor_last_digit + S (d) = S ((S (l)) * c)) /\ exists ff_q_be_successor_last_digit. b = ff_q_be_successor_last_digit * S ((S (l)) * c) + (d))) /\ ((((exists ff_h_be_successor_last_previous. ff_h_be_successor_last_previous + S (s) = S ((S (l)) * x1)) /\ exists ff_q_be_successor_last_previous. x = ff_q_be_successor_last_previous * S ((S (l)) * x1) + (s))) /\ ((((exists ff_h_be_successor_last_current. ff_h_be_successor_last_current + S (t) = S ((S (S l)) * x1)) /\ exists ff_q_be_successor_last_current. x = ff_q_be_successor_last_current * S ((S (S l)) * x1) + (t))) /\ ((((d = 0) /\ (((exists ff_gap_binary_successor_last_step_square. ff_gap_binary_successor_last_step_square + S (t) = m) /\ (exists ff_left_binary_successor_last_step_square_congruence ff_right_binary_successor_last_step_square_congruence. (s * s) + m * ff_left_binary_successor_last_step_square_congruence = (t) + m * ff_right_binary_successor_last_step_square_congruence)))) \/ ((d = 1) /\ (((exists ff_gap_binary_successor_last_step_multiply. ff_gap_binary_successor_last_step_multiply + S (t) = m) /\ (exists ff_left_binary_successor_last_step_multiply_congruence ff_right_binary_successor_last_step_multiply_congruence. ((s * s) * a) + m * ff_left_binary_successor_last_step_multiply_congruence = (t) + m * ff_right_binary_successor_last_step_multiply_congruence))))))))) - 0013
specialize hexecution_witness_witness_left_right l - 0014
apply hexecution_witness_witness_left_right - 0015
specialize le_refl (S l) - 0016
exact le_refl - 0017
cases hlast - 0018
cases hlast_witness - 0019
cases hlast_witness_witness - 0020
cases hlast_witness_witness_witness - 0021
cases hlast_witness_witness_witness_right - 0022
cases hlast_witness_witness_witness_right_right - 0023
have hterminal : x4 = r - 0024
specialize beta_at_unique x - 0025
specialize beta_at_unique x1 - 0026
specialize beta_at_unique (S l) - 0027
specialize beta_at_unique x4 - 0028
specialize beta_at_unique r - 0029
apply beta_at_unique - 0030
exact hlast_witness_witness_witness_right_right_left - 0031
exact hexecution_witness_witness_right - 0032
exists x2 - 0033
exists x3 - 0034
split - 0035
exact hlast_witness_witness_witness_left - 0036
split - 0037
exists x - 0038
exists x1 - 0039
split - 0040
split - 0041
exact hexecution_witness_witness_left_left - 0042
intro i - 0043
intro hi - 0044
specialize hexecution_witness_witness_left_right i - 0045
apply hexecution_witness_witness_left_right - 0046
specialize le_succ (S i) - 0047
specialize le_succ l - 0048
apply le_succ - 0049
exact hi - 0050
exact hlast_witness_witness_witness_right_left - 0051
rewrite <- hterminal - 0052
rewrite <- hterminal - 0053
rewrite <- hterminal - 0054
rewrite <- hterminal - 0055
exact hlast_witness_witness_witness_right_right_right