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
∀ a. ∀ e. ∀ m. ∀ r. BinaryModulus(m) → e = 0 → r = 1 → BinaryModularPower(a,e,m,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 30 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
02Establish hpowerL8–11
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hpower
04Establish honeL13–19
05Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists x
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
07Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hpower_witness
08Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
09Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
rewrite hr
10Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact hmodulus
11Calculate and transport equalitiesL26–27
Original defined command ledger · 30 lines
- 0001
intro a - 0002
intro e - 0003
intro m - 0004
intro r - 0005
intro hmodulus - 0006
intro he - 0007
intro hr - 0008
have hpower : exists n. (exists ff_b_be_initial_power ff_c_be_initial_power. ((forall ff_i_be_initial_power_repeat. (exists ff_lt_be_initial_power_repeat_bound. ff_lt_be_initial_power_repeat_bound + S ff_i_be_initial_power_repeat = e) -> (((exists ff_h_be_initial_power_repeat_decoded. ff_h_be_initial_power_repeat_decoded + S (a) = S ((S (ff_i_be_initial_power_repeat)) * ff_c_be_initial_power)) /\ exists ff_q_be_initial_power_repeat_decoded. ff_b_be_initial_power = ff_q_be_initial_power_repeat_decoded * S ((S (ff_i_be_initial_power_repeat)) * ff_c_be_initial_power) + (a)))) /\ (exists ff_u_be_initial_power_product ff_v_be_initial_power_product. ((((exists ff_h_be_initial_power_product_start. ff_h_be_initial_power_product_start + S (1) = S ((S (0)) * ff_v_be_initial_power_product)) /\ exists ff_q_be_initial_power_product_start. ff_u_be_initial_power_product = ff_q_be_initial_power_product_start * S ((S (0)) * ff_v_be_initial_power_product) + (1))) /\ ((((exists ff_h_be_initial_power_product_terminal. ff_h_be_initial_power_product_terminal + S (n) = S ((S (e)) * ff_v_be_initial_power_product)) /\ exists ff_q_be_initial_power_product_terminal. ff_u_be_initial_power_product = ff_q_be_initial_power_product_terminal * S ((S (e)) * ff_v_be_initial_power_product) + (n))) /\ forall ff_i_be_initial_power_product. (exists ff_lt_be_initial_power_product_bound. ff_lt_be_initial_power_product_bound + S ff_i_be_initial_power_product = e) -> exists ff_p_be_initial_power_product ff_r_be_initial_power_product ff_s_be_initial_power_product. ((((exists ff_h_be_initial_power_product_factor. ff_h_be_initial_power_product_factor + S (ff_p_be_initial_power_product) = S ((S (ff_i_be_initial_power_product)) * ff_c_be_initial_power)) /\ exists ff_q_be_initial_power_product_factor. ff_b_be_initial_power = ff_q_be_initial_power_product_factor * S ((S (ff_i_be_initial_power_product)) * ff_c_be_initial_power) + (ff_p_be_initial_power_product))) /\ ((((exists ff_h_be_initial_power_product_partial. ff_h_be_initial_power_product_partial + S (ff_r_be_initial_power_product) = S ((S (ff_i_be_initial_power_product)) * ff_v_be_initial_power_product)) /\ exists ff_q_be_initial_power_product_partial. ff_u_be_initial_power_product = ff_q_be_initial_power_product_partial * S ((S (ff_i_be_initial_power_product)) * ff_v_be_initial_power_product) + (ff_r_be_initial_power_product))) /\ ((((exists ff_h_be_initial_power_product_successor. ff_h_be_initial_power_product_successor + S (ff_s_be_initial_power_product) = S ((S (S ff_i_be_initial_power_product)) * ff_v_be_initial_power_product)) /\ exists ff_q_be_initial_power_product_successor. ff_u_be_initial_power_product = ff_q_be_initial_power_product_successor * S ((S (S ff_i_be_initial_power_product)) * ff_v_be_initial_power_product) + (ff_s_be_initial_power_product))) /\ ff_s_be_initial_power_product = ff_r_be_initial_power_product * ff_p_be_initial_power_product)))))))) - 0009
specialize pow_exists a - 0010
specialize pow_exists e - 0011
exact pow_exists - 0012
cases hpower - 0013
have hone : x = 1 - 0014
specialize pow_zero a - 0015
specialize pow_zero e - 0016
specialize pow_zero x - 0017
apply pow_zero - 0018
exact he - 0019
exact hpower_witness - 0020
exists x - 0021
split - 0022
exact hpower_witness - 0023
split - 0024
rewrite hr - 0025
exact hmodulus - 0026
rewrite hone - 0027
rewrite hr - 0028
specialize mod_eq_refl m - 0029
specialize mod_eq_refl 1 - 0030
exact mod_eq_refl