BE0006

binary_execution_power_zero

For every guarded modulus, the actual initial accumulator one is the canonical zeroth power.

Alpha v34 checked-use · first admitted v22 · independently kernel and Lean verified; not Stable

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

pow_exists · checked external prerequisitepow_zero · checked external prerequisitemod_eq_refl · checked external prerequisite
Original expanded first-order statement
forall a e m r. (exists ff_modulus_gap_binary_execution_guard. ff_modulus_gap_binary_execution_guard + S 1 = m) -> e = 0 -> r = 1 -> (exists ff_power_binary_initial_power. ((exists ff_b_binary_initial_power_value ff_c_binary_initial_power_value. ((forall ff_i_binary_initial_power_value_repeat. (exists ff_lt_binary_initial_power_value_repeat_bound. ff_lt_binary_initial_power_value_repeat_bound + S ff_i_binary_initial_power_value_repeat = e) -> (((exists ff_h_binary_initial_power_value_repeat_decoded. ff_h_binary_initial_power_value_repeat_decoded + S (a) = S ((S (ff_i_binary_initial_power_value_repeat)) * ff_c_binary_initial_power_value)) /\ exists ff_q_binary_initial_power_value_repeat_decoded. ff_b_binary_initial_power_value = ff_q_binary_initial_power_value_repeat_decoded * S ((S (ff_i_binary_initial_power_value_repeat)) * ff_c_binary_initial_power_value) + (a)))) /\ (exists ff_u_binary_initial_power_value_product ff_v_binary_initial_power_value_product. ((((exists ff_h_binary_initial_power_value_product_start. ff_h_binary_initial_power_value_product_start + S (1) = S ((S (0)) * ff_v_binary_initial_power_value_product)) /\ exists ff_q_binary_initial_power_value_product_start. ff_u_binary_initial_power_value_product = ff_q_binary_initial_power_value_product_start * S ((S (0)) * ff_v_binary_initial_power_value_product) + (1))) /\ ((((exists ff_h_binary_initial_power_value_product_terminal. ff_h_binary_initial_power_value_product_terminal + S (ff_power_binary_initial_power) = S ((S (e)) * ff_v_binary_initial_power_value_product)) /\ exists ff_q_binary_initial_power_value_product_terminal. ff_u_binary_initial_power_value_product = ff_q_binary_initial_power_value_product_terminal * S ((S (e)) * ff_v_binary_initial_power_value_product) + (ff_power_binary_initial_power))) /\ forall ff_i_binary_initial_power_value_product. (exists ff_lt_binary_initial_power_value_product_bound. ff_lt_binary_initial_power_value_product_bound + S ff_i_binary_initial_power_value_product = e) -> exists ff_p_binary_initial_power_value_product ff_r_binary_initial_power_value_product ff_s_binary_initial_power_value_product. ((((exists ff_h_binary_initial_power_value_product_factor. ff_h_binary_initial_power_value_product_factor + S (ff_p_binary_initial_power_value_product) = S ((S (ff_i_binary_initial_power_value_product)) * ff_c_binary_initial_power_value)) /\ exists ff_q_binary_initial_power_value_product_factor. ff_b_binary_initial_power_value = ff_q_binary_initial_power_value_product_factor * S ((S (ff_i_binary_initial_power_value_product)) * ff_c_binary_initial_power_value) + (ff_p_binary_initial_power_value_product))) /\ ((((exists ff_h_binary_initial_power_value_product_partial. ff_h_binary_initial_power_value_product_partial + S (ff_r_binary_initial_power_value_product) = S ((S (ff_i_binary_initial_power_value_product)) * ff_v_binary_initial_power_value_product)) /\ exists ff_q_binary_initial_power_value_product_partial. ff_u_binary_initial_power_value_product = ff_q_binary_initial_power_value_product_partial * S ((S (ff_i_binary_initial_power_value_product)) * ff_v_binary_initial_power_value_product) + (ff_r_binary_initial_power_value_product))) /\ ((((exists ff_h_binary_initial_power_value_product_successor. ff_h_binary_initial_power_value_product_successor + S (ff_s_binary_initial_power_value_product) = S ((S (S ff_i_binary_initial_power_value_product)) * ff_v_binary_initial_power_value_product)) /\ exists ff_q_binary_initial_power_value_product_successor. ff_u_binary_initial_power_value_product = ff_q_binary_initial_power_value_product_successor * S ((S (S ff_i_binary_initial_power_value_product)) * ff_v_binary_initial_power_value_product) + (ff_s_binary_initial_power_value_product))) /\ ff_s_binary_initial_power_value_product = ff_r_binary_initial_power_value_product * ff_p_binary_initial_power_value_product)))))))) /\ (((exists ff_gap_binary_initial_power_residue. ff_gap_binary_initial_power_residue + S (r) = m) /\ (exists ff_left_binary_initial_power_residue_congruence ff_right_binary_initial_power_residue_congruence. (ff_power_binary_initial_power) + m * ff_left_binary_initial_power_residue_congruence = (r) + m * ff_right_binary_initial_power_residue_congruence)))))

Complete unchanged native tactic proof

All 30 lines are the exact independently kernel-checked original script.

Read the argument

Proof checkpoints

30 script commands · 12 reading checkpoints · 2 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–7

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro e
  3. L3
    intro m
  4. L4
    intro r
  5. L5
    intro hmodulus
  6. L6
    intro he
  7. L7
    intro hr
02Establish hpowerL8–11

Establish this local claim before using it. It is not an additional assumption.

  1. L8
    have hpower : ∃ n. Pow(a,e,n)Definitions: PowOriginal native command in the exact edition
  2. L9
    specialize pow_exists a
  3. L10
    specialize pow_exists e
  4. L11
    exact pow_exists
03Separate the logical casesL12–12

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L12
    cases hpower
04Establish honeL13–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow zero.

  1. L13
    have hone : x = 1
  2. L14
    specialize pow_zero a
  3. L15
    specialize pow_zero e
  4. L16
    specialize pow_zero x
  5. L17
    apply pow_zero
  6. L18
    exact he
  7. L19
    exact hpower_witness
05Construct an explicit witnessL20–20

Supply the displayed value, then prove that it has the required property.

  1. L20
    exists x
06Separate the logical casesL21–21

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L21
    split
07Use earlier factsL22–22

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L22
    exact hpower_witness
08Separate the logical casesL23–23

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L23
    split
09Calculate and transport equalitiesL24–24

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L24
    rewrite hr
10Use earlier factsL25–25

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L25
    exact hmodulus
11Calculate and transport equalitiesL26–27

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L26
    rewrite hone
  2. L27
    rewrite hr
12Use earlier factsL28–30

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L28
    specialize mod_eq_refl m
  2. L29
    specialize mod_eq_refl 1
  3. L30
    exact mod_eq_refl

Library-wide reading audit

Original defined command ledger · 30 lines
  1. 0001intro a
  2. 0002intro e
  3. 0003intro m
  4. 0004intro r
  5. 0005intro hmodulus
  6. 0006intro he
  7. 0007intro hr
  8. 0008have 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))))))))
  9. 0009specialize pow_exists a
  10. 0010specialize pow_exists e
  11. 0011exact pow_exists
  12. 0012cases hpower
  13. 0013have hone : x = 1
  14. 0014specialize pow_zero a
  15. 0015specialize pow_zero e
  16. 0016specialize pow_zero x
  17. 0017apply pow_zero
  18. 0018exact he
  19. 0019exact hpower_witness
  20. 0020exists x
  21. 0021split
  22. 0022exact hpower_witness
  23. 0023split
  24. 0024rewrite hr
  25. 0025exact hmodulus
  26. 0026rewrite hone
  27. 0027rewrite hr
  28. 0028specialize mod_eq_refl m
  29. 0029specialize mod_eq_refl 1
  30. 0030exact mod_eq_refl