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 b. exists g l. ((exists ec_list_linear ec_history_linear ec_scale_linear. ((exists cf_gcd_ec_linear_trace. ((((exists ff_h_cf_ec_linear_trace_initial_state. ff_h_cf_ec_linear_trace_initial_state + S (((cf_gcd_ec_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * ec_scale_linear)) /\ exists ff_q_cf_ec_linear_trace_initial_state. ec_history_linear = ff_q_cf_ec_linear_trace_initial_state * S ((S (0)) * ec_scale_linear) + (((cf_gcd_ec_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_linear_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ff_h_cf_ec_linear_trace_terminal_state. ff_h_cf_ec_linear_trace_terminal_state + S (((a) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear)))) * S ((a) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear)))) + ((((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear))) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear))))) = S ((S (l)) * ec_scale_linear)) /\ exists ff_q_cf_ec_linear_trace_terminal_state. ec_history_linear = ff_q_cf_ec_linear_trace_terminal_state * S ((S (l)) * ec_scale_linear) + (((a) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear)))) * S ((a) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear)))) + ((((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear))) + (((b) + (ec_list_linear)) * S ((b) + (ec_list_linear)) + ((ec_list_linear) + (ec_list_linear))))))) /\ forall cf_index_ec_linear_trace. (exists ff_lt_cf_ec_linear_trace_index. ff_lt_cf_ec_linear_trace_index + S cf_index_ec_linear_trace = l) -> exists cf_old_a_ec_linear_trace cf_old_b_ec_linear_trace cf_tail_ec_linear_trace cf_new_a_ec_linear_trace cf_new_b_ec_linear_trace cf_head_ec_linear_trace cf_quotient_ec_linear_trace. ((((exists ff_h_cf_ec_linear_trace_previous_state. ff_h_cf_ec_linear_trace_previous_state + S (((cf_old_a_ec_linear_trace) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace)))) * S ((cf_old_a_ec_linear_trace) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace)))) + ((((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace))) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace))))) = S ((S (cf_index_ec_linear_trace)) * ec_scale_linear)) /\ exists ff_q_cf_ec_linear_trace_previous_state. ec_history_linear = ff_q_cf_ec_linear_trace_previous_state * S ((S (cf_index_ec_linear_trace)) * ec_scale_linear) + (((cf_old_a_ec_linear_trace) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace)))) * S ((cf_old_a_ec_linear_trace) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace)))) + ((((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace))) + (((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) * S ((cf_old_b_ec_linear_trace) + (cf_tail_ec_linear_trace)) + ((cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace))))))) /\ ((((exists ff_h_cf_ec_linear_trace_following_state. ff_h_cf_ec_linear_trace_following_state + S (((cf_new_a_ec_linear_trace) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace)))) * S ((cf_new_a_ec_linear_trace) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace)))) + ((((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace))) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace))))) = S ((S (S cf_index_ec_linear_trace)) * ec_scale_linear)) /\ exists ff_q_cf_ec_linear_trace_following_state. ec_history_linear = ff_q_cf_ec_linear_trace_following_state * S ((S (S cf_index_ec_linear_trace)) * ec_scale_linear) + (((cf_new_a_ec_linear_trace) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace)))) * S ((cf_new_a_ec_linear_trace) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace)))) + ((((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace))) + (((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) * S ((cf_new_b_ec_linear_trace) + (cf_head_ec_linear_trace)) + ((cf_head_ec_linear_trace) + (cf_head_ec_linear_trace))))))) /\ (cf_new_b_ec_linear_trace = cf_old_a_ec_linear_trace /\ (cf_new_a_ec_linear_trace = cf_new_b_ec_linear_trace * cf_quotient_ec_linear_trace + cf_old_b_ec_linear_trace /\ ((exists ff_lt_cf_ec_linear_trace_remainder. ff_lt_cf_ec_linear_trace_remainder + S cf_old_b_ec_linear_trace = cf_new_b_ec_linear_trace) /\ (cf_head_ec_linear_trace = S ((cf_quotient_ec_linear_trace + cf_tail_ec_linear_trace) * S (cf_quotient_ec_linear_trace + cf_tail_ec_linear_trace) + (cf_tail_ec_linear_trace + cf_tail_ec_linear_trace))))))))))) /\ ((((exists ec_gcd_left_linear_result. a = g * ec_gcd_left_linear_result) /\ (exists ec_gcd_right_linear_result. b = g * ec_gcd_right_linear_result)) /\ forall ec_gcd_common_linear_result. (exists ec_gcd_common_left_linear_result. a = ec_gcd_common_linear_result * ec_gcd_common_left_linear_result) -> (exists ec_gcd_common_right_linear_result. b = ec_gcd_common_linear_result * ec_gcd_common_right_linear_result) -> exists ec_gcd_greatest_linear_result. g = ec_gcd_common_linear_result * ec_gcd_greatest_linear_result)))) /\ exists gap. gap + l = b)Constructive proof overview
Generated structural guide
Every pair has a complete actual beta-coded Euclidean execution, a genuinely certified gcd output, and the exact constructive linear bound steps <= initial divisor; the stronger BitLen bound remains open.
The unchanged tactic script uses 2 declared prerequisites and contains 22 exact native proof lines.
Alpha v34 checked-use · first admitted v21 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
EC0009 euclidean_trace_exists_linear gcd_exists_relational 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.
Named ingredients (1)
01Fix variables and assumptionsL1–2
02Use earlier factsL3–4
03Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases gcd_exists_relational
04Use earlier factsL6–7
05Separate the logical casesL8–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Construct an explicit witnessL13–14
07Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
split
08Construct an explicit witnessL16–18
09Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
split
Original exact command ledger · 22 lines
- 0001
intro a - 0002
intro b - 0003
specialize gcd_exists_relational a - 0004
specialize gcd_exists_relational b - 0005
cases gcd_exists_relational - 0006
specialize euclidean_trace_exists_linear a - 0007
specialize euclidean_trace_exists_linear b - 0008
cases euclidean_trace_exists_linear - 0009
cases euclidean_trace_exists_linear_witness - 0010
cases euclidean_trace_exists_linear_witness_witness - 0011
cases euclidean_trace_exists_linear_witness_witness_witness - 0012
cases euclidean_trace_exists_linear_witness_witness_witness_witness - 0013
exists x - 0014
exists x4 - 0015
split - 0016
exists x1 - 0017
exists x2 - 0018
exists x3 - 0019
split - 0020
exact euclidean_trace_exists_linear_witness_witness_witness_witness_left - 0021
exact gcd_exists_relational_witness - 0022
exact euclidean_trace_exists_linear_witness_witness_witness_witness_right