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.
Exact expanded first-order arithmetic statement
forall a h e m r s. e = S (h + h) -> (exists ff_power_binary_previous_power. ((exists ff_b_binary_previous_power_value ff_c_binary_previous_power_value. ((forall ff_i_binary_previous_power_value_repeat. (exists ff_lt_binary_previous_power_value_repeat_bound. ff_lt_binary_previous_power_value_repeat_bound + S ff_i_binary_previous_power_value_repeat = h) -> (((exists ff_h_binary_previous_power_value_repeat_decoded. ff_h_binary_previous_power_value_repeat_decoded + S (a) = S ((S (ff_i_binary_previous_power_value_repeat)) * ff_c_binary_previous_power_value)) /\ exists ff_q_binary_previous_power_value_repeat_decoded. ff_b_binary_previous_power_value = ff_q_binary_previous_power_value_repeat_decoded * S ((S (ff_i_binary_previous_power_value_repeat)) * ff_c_binary_previous_power_value) + (a)))) /\ (exists ff_u_binary_previous_power_value_product ff_v_binary_previous_power_value_product. ((((exists ff_h_binary_previous_power_value_product_start. ff_h_binary_previous_power_value_product_start + S (1) = S ((S (0)) * ff_v_binary_previous_power_value_product)) /\ exists ff_q_binary_previous_power_value_product_start. ff_u_binary_previous_power_value_product = ff_q_binary_previous_power_value_product_start * S ((S (0)) * ff_v_binary_previous_power_value_product) + (1))) /\ ((((exists ff_h_binary_previous_power_value_product_terminal. ff_h_binary_previous_power_value_product_terminal + S (ff_power_binary_previous_power) = S ((S (h)) * ff_v_binary_previous_power_value_product)) /\ exists ff_q_binary_previous_power_value_product_terminal. ff_u_binary_previous_power_value_product = ff_q_binary_previous_power_value_product_terminal * S ((S (h)) * ff_v_binary_previous_power_value_product) + (ff_power_binary_previous_power))) /\ forall ff_i_binary_previous_power_value_product. (exists ff_lt_binary_previous_power_value_product_bound. ff_lt_binary_previous_power_value_product_bound + S ff_i_binary_previous_power_value_product = h) -> exists ff_p_binary_previous_power_value_product ff_r_binary_previous_power_value_product ff_s_binary_previous_power_value_product. ((((exists ff_h_binary_previous_power_value_product_factor. ff_h_binary_previous_power_value_product_factor + S (ff_p_binary_previous_power_value_product) = S ((S (ff_i_binary_previous_power_value_product)) * ff_c_binary_previous_power_value)) /\ exists ff_q_binary_previous_power_value_product_factor. ff_b_binary_previous_power_value = ff_q_binary_previous_power_value_product_factor * S ((S (ff_i_binary_previous_power_value_product)) * ff_c_binary_previous_power_value) + (ff_p_binary_previous_power_value_product))) /\ ((((exists ff_h_binary_previous_power_value_product_partial. ff_h_binary_previous_power_value_product_partial + S (ff_r_binary_previous_power_value_product) = S ((S (ff_i_binary_previous_power_value_product)) * ff_v_binary_previous_power_value_product)) /\ exists ff_q_binary_previous_power_value_product_partial. ff_u_binary_previous_power_value_product = ff_q_binary_previous_power_value_product_partial * S ((S (ff_i_binary_previous_power_value_product)) * ff_v_binary_previous_power_value_product) + (ff_r_binary_previous_power_value_product))) /\ ((((exists ff_h_binary_previous_power_value_product_successor. ff_h_binary_previous_power_value_product_successor + S (ff_s_binary_previous_power_value_product) = S ((S (S ff_i_binary_previous_power_value_product)) * ff_v_binary_previous_power_value_product)) /\ exists ff_q_binary_previous_power_value_product_successor. ff_u_binary_previous_power_value_product = ff_q_binary_previous_power_value_product_successor * S ((S (S ff_i_binary_previous_power_value_product)) * ff_v_binary_previous_power_value_product) + (ff_s_binary_previous_power_value_product))) /\ ff_s_binary_previous_power_value_product = ff_r_binary_previous_power_value_product * ff_p_binary_previous_power_value_product)))))))) /\ (((exists ff_gap_binary_previous_power_residue. ff_gap_binary_previous_power_residue + S (r) = m) /\ (exists ff_left_binary_previous_power_residue_congruence ff_right_binary_previous_power_residue_congruence. (ff_power_binary_previous_power) + m * ff_left_binary_previous_power_residue_congruence = (r) + m * ff_right_binary_previous_power_residue_congruence))))) -> (((exists ff_gap_binary_execution_odd. ff_gap_binary_execution_odd + S (s) = m) /\ (exists ff_left_binary_execution_odd_congruence ff_right_binary_execution_odd_congruence. ((r * r) * a) + m * ff_left_binary_execution_odd_congruence = (s) + m * ff_right_binary_execution_odd_congruence))) -> (exists ff_power_binary_current_power. ((exists ff_b_binary_current_power_value ff_c_binary_current_power_value. ((forall ff_i_binary_current_power_value_repeat. (exists ff_lt_binary_current_power_value_repeat_bound. ff_lt_binary_current_power_value_repeat_bound + S ff_i_binary_current_power_value_repeat = e) -> (((exists ff_h_binary_current_power_value_repeat_decoded. ff_h_binary_current_power_value_repeat_decoded + S (a) = S ((S (ff_i_binary_current_power_value_repeat)) * ff_c_binary_current_power_value)) /\ exists ff_q_binary_current_power_value_repeat_decoded. ff_b_binary_current_power_value = ff_q_binary_current_power_value_repeat_decoded * S ((S (ff_i_binary_current_power_value_repeat)) * ff_c_binary_current_power_value) + (a)))) /\ (exists ff_u_binary_current_power_value_product ff_v_binary_current_power_value_product. ((((exists ff_h_binary_current_power_value_product_start. ff_h_binary_current_power_value_product_start + S (1) = S ((S (0)) * ff_v_binary_current_power_value_product)) /\ exists ff_q_binary_current_power_value_product_start. ff_u_binary_current_power_value_product = ff_q_binary_current_power_value_product_start * S ((S (0)) * ff_v_binary_current_power_value_product) + (1))) /\ ((((exists ff_h_binary_current_power_value_product_terminal. ff_h_binary_current_power_value_product_terminal + S (ff_power_binary_current_power) = S ((S (e)) * ff_v_binary_current_power_value_product)) /\ exists ff_q_binary_current_power_value_product_terminal. ff_u_binary_current_power_value_product = ff_q_binary_current_power_value_product_terminal * S ((S (e)) * ff_v_binary_current_power_value_product) + (ff_power_binary_current_power))) /\ forall ff_i_binary_current_power_value_product. (exists ff_lt_binary_current_power_value_product_bound. ff_lt_binary_current_power_value_product_bound + S ff_i_binary_current_power_value_product = e) -> exists ff_p_binary_current_power_value_product ff_r_binary_current_power_value_product ff_s_binary_current_power_value_product. ((((exists ff_h_binary_current_power_value_product_factor. ff_h_binary_current_power_value_product_factor + S (ff_p_binary_current_power_value_product) = S ((S (ff_i_binary_current_power_value_product)) * ff_c_binary_current_power_value)) /\ exists ff_q_binary_current_power_value_product_factor. ff_b_binary_current_power_value = ff_q_binary_current_power_value_product_factor * S ((S (ff_i_binary_current_power_value_product)) * ff_c_binary_current_power_value) + (ff_p_binary_current_power_value_product))) /\ ((((exists ff_h_binary_current_power_value_product_partial. ff_h_binary_current_power_value_product_partial + S (ff_r_binary_current_power_value_product) = S ((S (ff_i_binary_current_power_value_product)) * ff_v_binary_current_power_value_product)) /\ exists ff_q_binary_current_power_value_product_partial. ff_u_binary_current_power_value_product = ff_q_binary_current_power_value_product_partial * S ((S (ff_i_binary_current_power_value_product)) * ff_v_binary_current_power_value_product) + (ff_r_binary_current_power_value_product))) /\ ((((exists ff_h_binary_current_power_value_product_successor. ff_h_binary_current_power_value_product_successor + S (ff_s_binary_current_power_value_product) = S ((S (S ff_i_binary_current_power_value_product)) * ff_v_binary_current_power_value_product)) /\ exists ff_q_binary_current_power_value_product_successor. ff_u_binary_current_power_value_product = ff_q_binary_current_power_value_product_successor * S ((S (S ff_i_binary_current_power_value_product)) * ff_v_binary_current_power_value_product) + (ff_s_binary_current_power_value_product))) /\ ff_s_binary_current_power_value_product = ff_r_binary_current_power_value_product * ff_p_binary_current_power_value_product)))))))) /\ (((exists ff_gap_binary_current_power_residue. ff_gap_binary_current_power_residue + S (s) = m) /\ (exists ff_left_binary_current_power_residue_congruence ff_right_binary_current_power_residue_congruence. (ff_power_binary_current_power) + m * ff_left_binary_current_power_residue_congruence = (s) + m * ff_right_binary_current_power_residue_congruence)))))Constructive proof overview
Generated structural guide
One exact binary one transition preserves the witnessed canonical power invariant.
The unchanged tactic script uses 6 declared prerequisites and contains 64 exact native proof lines.
Alpha v34 checked-use · first admitted v22 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pow_exists Stable theorem; checked-use authorized binary_exponent_odd_power Alpha theorem; checked-use authorized binary_modular_square_congruence Alpha theorem; checked-use authorized mod_eq_refl Stable theorem; checked-use authorized mod_eq_mul Stable theorem; checked-use authorized mod_eq_trans Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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–9
02Separate the logical casesL10–13
03Establish hpowerL14–17
04Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hpower
05Establish hoddL19–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary exponent odd power.
06Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
07Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact he
08Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
split
09Use earlier factsL29–30
10Establish hsquareL31–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary modular square congruence.
- L31
have hsquare : exists ff_left_binary_execution_odd_square ff_right_binary_execution_odd_square. (x * x) + m * ff_left_binary_execution_odd_square = (r * r) + m * ff_right_binary_execution_odd_square - L32
specialize binary_modular_square_congruence m - L33
specialize binary_modular_square_congruence x - L34
specialize binary_modular_square_congruence r - L35
apply binary_modular_square_congruence - L36
exact hprevious_witness_right_right
11Establish hbaseL37–40
Establish this local claim before using it. It is not an additional assumption.
12Establish hproductL41–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq mul.
- L41
have hproduct : exists ff_left_binary_execution_odd_product ff_right_binary_execution_odd_product. ((x * x) * a) + m * ff_left_binary_execution_odd_product = ((r * r) * a) + m * ff_right_binary_execution_odd_product - L42
specialize mod_eq_mul m - L43
specialize mod_eq_mul (x * x) - L44
specialize mod_eq_mul (r * r) - L45
specialize mod_eq_mul a - L46
specialize mod_eq_mul a - L47
apply mod_eq_mul - L48
exact hsquare - L49
exact hbase
13Establish htotalL50–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq trans.
- L50
have htotal : exists ff_left_binary_execution_odd_total ff_right_binary_execution_odd_total. ((x * x) * a) + m * ff_left_binary_execution_odd_total = (s) + m * ff_right_binary_execution_odd_total - L51
specialize mod_eq_trans m - L52
specialize mod_eq_trans ((x * x) * a) - L53
specialize mod_eq_trans ((r * r) * a) - L54
specialize mod_eq_trans s - L55
apply mod_eq_trans - L56
exact hproduct - L57
exact hresidue_right
14Construct an explicit witnessL58–58
Supply the displayed value, then prove that it has the required property.
- L58
exists x1
15Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
split
16Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact hpower_witness
17Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
18Use earlier factsL62–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
exact hresidue_left
19Calculate and transport equalitiesL63–63
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L63
rewrite hodd
20Use earlier factsL64–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
exact htotal
Original exact command ledger · 64 lines
- 0001
intro a - 0002
intro h - 0003
intro e - 0004
intro m - 0005
intro r - 0006
intro s - 0007
intro he - 0008
intro hprevious - 0009
intro hresidue - 0010
cases hprevious - 0011
cases hprevious_witness - 0012
cases hprevious_witness_right - 0013
cases hresidue - 0014
have hpower : exists y. (exists ff_b_be_odd_full ff_c_be_odd_full. ((forall ff_i_be_odd_full_repeat. (exists ff_lt_be_odd_full_repeat_bound. ff_lt_be_odd_full_repeat_bound + S ff_i_be_odd_full_repeat = e) -> (((exists ff_h_be_odd_full_repeat_decoded. ff_h_be_odd_full_repeat_decoded + S (a) = S ((S (ff_i_be_odd_full_repeat)) * ff_c_be_odd_full)) /\ exists ff_q_be_odd_full_repeat_decoded. ff_b_be_odd_full = ff_q_be_odd_full_repeat_decoded * S ((S (ff_i_be_odd_full_repeat)) * ff_c_be_odd_full) + (a)))) /\ (exists ff_u_be_odd_full_product ff_v_be_odd_full_product. ((((exists ff_h_be_odd_full_product_start. ff_h_be_odd_full_product_start + S (1) = S ((S (0)) * ff_v_be_odd_full_product)) /\ exists ff_q_be_odd_full_product_start. ff_u_be_odd_full_product = ff_q_be_odd_full_product_start * S ((S (0)) * ff_v_be_odd_full_product) + (1))) /\ ((((exists ff_h_be_odd_full_product_terminal. ff_h_be_odd_full_product_terminal + S (y) = S ((S (e)) * ff_v_be_odd_full_product)) /\ exists ff_q_be_odd_full_product_terminal. ff_u_be_odd_full_product = ff_q_be_odd_full_product_terminal * S ((S (e)) * ff_v_be_odd_full_product) + (y))) /\ forall ff_i_be_odd_full_product. (exists ff_lt_be_odd_full_product_bound. ff_lt_be_odd_full_product_bound + S ff_i_be_odd_full_product = e) -> exists ff_p_be_odd_full_product ff_r_be_odd_full_product ff_s_be_odd_full_product. ((((exists ff_h_be_odd_full_product_factor. ff_h_be_odd_full_product_factor + S (ff_p_be_odd_full_product) = S ((S (ff_i_be_odd_full_product)) * ff_c_be_odd_full)) /\ exists ff_q_be_odd_full_product_factor. ff_b_be_odd_full = ff_q_be_odd_full_product_factor * S ((S (ff_i_be_odd_full_product)) * ff_c_be_odd_full) + (ff_p_be_odd_full_product))) /\ ((((exists ff_h_be_odd_full_product_partial. ff_h_be_odd_full_product_partial + S (ff_r_be_odd_full_product) = S ((S (ff_i_be_odd_full_product)) * ff_v_be_odd_full_product)) /\ exists ff_q_be_odd_full_product_partial. ff_u_be_odd_full_product = ff_q_be_odd_full_product_partial * S ((S (ff_i_be_odd_full_product)) * ff_v_be_odd_full_product) + (ff_r_be_odd_full_product))) /\ ((((exists ff_h_be_odd_full_product_successor. ff_h_be_odd_full_product_successor + S (ff_s_be_odd_full_product) = S ((S (S ff_i_be_odd_full_product)) * ff_v_be_odd_full_product)) /\ exists ff_q_be_odd_full_product_successor. ff_u_be_odd_full_product = ff_q_be_odd_full_product_successor * S ((S (S ff_i_be_odd_full_product)) * ff_v_be_odd_full_product) + (ff_s_be_odd_full_product))) /\ ff_s_be_odd_full_product = ff_r_be_odd_full_product * ff_p_be_odd_full_product)))))))) - 0015
specialize pow_exists a - 0016
specialize pow_exists e - 0017
exact pow_exists - 0018
cases hpower - 0019
have hodd : x1 = (x * x) * a - 0020
specialize binary_exponent_odd_power a - 0021
specialize binary_exponent_odd_power h - 0022
specialize binary_exponent_odd_power e - 0023
specialize binary_exponent_odd_power x - 0024
specialize binary_exponent_odd_power x1 - 0025
apply binary_exponent_odd_power - 0026
split - 0027
exact he - 0028
split - 0029
exact hprevious_witness_left - 0030
exact hpower_witness - 0031
have hsquare : exists ff_left_binary_execution_odd_square ff_right_binary_execution_odd_square. (x * x) + m * ff_left_binary_execution_odd_square = (r * r) + m * ff_right_binary_execution_odd_square - 0032
specialize binary_modular_square_congruence m - 0033
specialize binary_modular_square_congruence x - 0034
specialize binary_modular_square_congruence r - 0035
apply binary_modular_square_congruence - 0036
exact hprevious_witness_right_right - 0037
have hbase : exists ff_left_binary_execution_odd_base ff_right_binary_execution_odd_base. (a) + m * ff_left_binary_execution_odd_base = (a) + m * ff_right_binary_execution_odd_base - 0038
specialize mod_eq_refl m - 0039
specialize mod_eq_refl a - 0040
exact mod_eq_refl - 0041
have hproduct : exists ff_left_binary_execution_odd_product ff_right_binary_execution_odd_product. ((x * x) * a) + m * ff_left_binary_execution_odd_product = ((r * r) * a) + m * ff_right_binary_execution_odd_product - 0042
specialize mod_eq_mul m - 0043
specialize mod_eq_mul (x * x) - 0044
specialize mod_eq_mul (r * r) - 0045
specialize mod_eq_mul a - 0046
specialize mod_eq_mul a - 0047
apply mod_eq_mul - 0048
exact hsquare - 0049
exact hbase - 0050
have htotal : exists ff_left_binary_execution_odd_total ff_right_binary_execution_odd_total. ((x * x) * a) + m * ff_left_binary_execution_odd_total = (s) + m * ff_right_binary_execution_odd_total - 0051
specialize mod_eq_trans m - 0052
specialize mod_eq_trans ((x * x) * a) - 0053
specialize mod_eq_trans ((r * r) * a) - 0054
specialize mod_eq_trans s - 0055
apply mod_eq_trans - 0056
exact hproduct - 0057
exact hresidue_right - 0058
exists x1 - 0059
split - 0060
exact hpower_witness - 0061
split - 0062
exact hresidue_left - 0063
rewrite hodd - 0064
exact htotal