Exact expanded first-order arithmetic statement
forall m b c l i v. (forall eu_factor_index_factors_entry. (exists eut_gap_eu_factors_entry_index. eut_gap_eu_factors_entry_index + S (eu_factor_index_factors_entry) = (l)) -> exists eu_factor_value_factors_entry. (((exists fs_h_eu_factors_entry_at. fs_h_eu_factors_entry_at + S (eu_factor_value_factors_entry) = S ((S (eu_factor_index_factors_entry)) * c)) /\ exists fs_q_eu_factors_entry_at. b = fs_q_eu_factors_entry_at * S ((S (eu_factor_index_factors_entry)) * c) + (eu_factor_value_factors_entry))) /\ ((((forall eut_divisor_eu_factors_entry_choice_coprime. (exists eut_left_eu_factors_entry_choice_coprime. (eu_factor_index_factors_entry) = eut_divisor_eu_factors_entry_choice_coprime * eut_left_eu_factors_entry_choice_coprime) -> (exists eut_right_eu_factors_entry_choice_coprime. (m) = eut_divisor_eu_factors_entry_choice_coprime * eut_right_eu_factors_entry_choice_coprime) -> eut_divisor_eu_factors_entry_choice_coprime = 1) /\ (eu_factor_value_factors_entry)=(eu_factor_index_factors_entry)) \/ (~(forall eut_divisor_eu_factors_entry_choice_coprime. (exists eut_left_eu_factors_entry_choice_coprime. (eu_factor_index_factors_entry) = eut_divisor_eu_factors_entry_choice_coprime * eut_left_eu_factors_entry_choice_coprime) -> (exists eut_right_eu_factors_entry_choice_coprime. (m) = eut_divisor_eu_factors_entry_choice_coprime * eut_right_eu_factors_entry_choice_coprime) -> eut_divisor_eu_factors_entry_choice_coprime = 1) /\ (eu_factor_value_factors_entry)=1)))) -> (exists eut_gap_eu_factor_entry_bound. eut_gap_eu_factor_entry_bound + S (i) = (l)) -> (((exists fs_h_eu_factor_entry_given. fs_h_eu_factor_entry_given + S (v) = S ((S (i)) * c)) /\ exists fs_q_eu_factor_entry_given. b = fs_q_eu_factor_entry_given * S ((S (i)) * c) + (v))) -> ((((forall eut_divisor_eu_factor_entry_coprime. (exists eut_left_eu_factor_entry_coprime. (i) = eut_divisor_eu_factor_entry_coprime * eut_left_eu_factor_entry_coprime) -> (exists eut_right_eu_factor_entry_coprime. (m) = eut_divisor_eu_factor_entry_coprime * eut_right_eu_factor_entry_coprime) -> eut_divisor_eu_factor_entry_coprime = 1) /\ (v)=(i)) \/ (~(forall eut_divisor_eu_factor_entry_coprime. (exists eut_left_eu_factor_entry_coprime. (i) = eut_divisor_eu_factor_entry_coprime * eut_left_eu_factor_entry_coprime) -> (exists eut_right_eu_factor_entry_coprime. (m) = eut_divisor_eu_factor_entry_coprime * eut_right_eu_factor_entry_coprime) -> eut_divisor_eu_factor_entry_coprime = 1) /\ (v)=1)))Constructive proof overview
Generated structural guide
The weighted-factor choice holds for every actual decoded entry, independently of beta encoding.
The unchanged tactic script uses 1 declared prerequisite and contains 27 exact native proof lines.
Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or 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
02Establish hpL10–13
03Separate the logical casesL14–15
04Establish heL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
05Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
rewrite he at hp_witness_right
06Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hp_witness_right
Original exact command ledger · 27 lines
- 0001
intro m - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro i - 0006
intro v - 0007
intro h - 0008
intro hi - 0009
intro hv - 0010
have hp : exists w. (((exists fs_h_eu_factor_entry_chosen. fs_h_eu_factor_entry_chosen + S (w) = S ((S (i)) * c)) /\ exists fs_q_eu_factor_entry_chosen. b = fs_q_eu_factor_entry_chosen * S ((S (i)) * c) + (w))) /\ ((((forall eut_divisor_eu_factor_entry_chosen_coprime. (exists eut_left_eu_factor_entry_chosen_coprime. (i) = eut_divisor_eu_factor_entry_chosen_coprime * eut_left_eu_factor_entry_chosen_coprime) -> (exists eut_right_eu_factor_entry_chosen_coprime. (m) = eut_divisor_eu_factor_entry_chosen_coprime * eut_right_eu_factor_entry_chosen_coprime) -> eut_divisor_eu_factor_entry_chosen_coprime = 1) /\ (w)=(i)) \/ (~(forall eut_divisor_eu_factor_entry_chosen_coprime. (exists eut_left_eu_factor_entry_chosen_coprime. (i) = eut_divisor_eu_factor_entry_chosen_coprime * eut_left_eu_factor_entry_chosen_coprime) -> (exists eut_right_eu_factor_entry_chosen_coprime. (m) = eut_divisor_eu_factor_entry_chosen_coprime * eut_right_eu_factor_entry_chosen_coprime) -> eut_divisor_eu_factor_entry_chosen_coprime = 1) /\ (w)=1))) - 0011
specialize h (i) - 0012
apply h - 0013
exact hi - 0014
cases hp - 0015
cases hp_witness - 0016
have he : x=v - 0017
specialize beta_at_unique (b) - 0018
specialize beta_at_unique (c) - 0019
specialize beta_at_unique (i) - 0020
specialize beta_at_unique (x) - 0021
specialize beta_at_unique (v) - 0022
apply beta_at_unique - 0023
exact hp_witness_left - 0024
exact hv - 0025
rewrite he at hp_witness_right - 0026
rewrite he at hp_witness_right - 0027
exact hp_witness_right