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 l. ((((b) = 0 /\ (l) = 1) \/ exists ff_exponent_bl_elb_length ff_lower_bl_elb_length ff_upper_bl_elb_length. (((l) = S ff_exponent_bl_elb_length) /\ ((exists ff_positive_bl_elb_length. ff_positive_bl_elb_length + 1 = (b)) /\ ((exists pa_b_bl_elb_length_lower pa_c_bl_elb_length_lower. ((forall pa_i_bl_elb_length_lower_repeat. (exists pa_lt_bl_elb_length_lower_repeat_bound. pa_lt_bl_elb_length_lower_repeat_bound + S pa_i_bl_elb_length_lower_repeat = ff_exponent_bl_elb_length) -> (((exists pa_h_bl_elb_length_lower_repeat_decoded. pa_h_bl_elb_length_lower_repeat_decoded + S (2) = S ((S (pa_i_bl_elb_length_lower_repeat)) * pa_c_bl_elb_length_lower)) /\ exists pa_q_bl_elb_length_lower_repeat_decoded. pa_b_bl_elb_length_lower = pa_q_bl_elb_length_lower_repeat_decoded * S ((S (pa_i_bl_elb_length_lower_repeat)) * pa_c_bl_elb_length_lower) + (2)))) /\ (exists pa_u_bl_elb_length_lower_product pa_v_bl_elb_length_lower_product. ((((exists pa_h_bl_elb_length_lower_product_start. pa_h_bl_elb_length_lower_product_start + S (1) = S ((S (0)) * pa_v_bl_elb_length_lower_product)) /\ exists pa_q_bl_elb_length_lower_product_start. pa_u_bl_elb_length_lower_product = pa_q_bl_elb_length_lower_product_start * S ((S (0)) * pa_v_bl_elb_length_lower_product) + (1))) /\ ((((exists pa_h_bl_elb_length_lower_product_terminal. pa_h_bl_elb_length_lower_product_terminal + S (ff_lower_bl_elb_length) = S ((S (ff_exponent_bl_elb_length)) * pa_v_bl_elb_length_lower_product)) /\ exists pa_q_bl_elb_length_lower_product_terminal. pa_u_bl_elb_length_lower_product = pa_q_bl_elb_length_lower_product_terminal * S ((S (ff_exponent_bl_elb_length)) * pa_v_bl_elb_length_lower_product) + (ff_lower_bl_elb_length))) /\ forall pa_i_bl_elb_length_lower_product. (exists pa_lt_bl_elb_length_lower_product_bound. pa_lt_bl_elb_length_lower_product_bound + S pa_i_bl_elb_length_lower_product = ff_exponent_bl_elb_length) -> exists pa_p_bl_elb_length_lower_product pa_r_bl_elb_length_lower_product pa_s_bl_elb_length_lower_product. ((((exists pa_h_bl_elb_length_lower_product_factor. pa_h_bl_elb_length_lower_product_factor + S (pa_p_bl_elb_length_lower_product) = S ((S (pa_i_bl_elb_length_lower_product)) * pa_c_bl_elb_length_lower)) /\ exists pa_q_bl_elb_length_lower_product_factor. pa_b_bl_elb_length_lower = pa_q_bl_elb_length_lower_product_factor * S ((S (pa_i_bl_elb_length_lower_product)) * pa_c_bl_elb_length_lower) + (pa_p_bl_elb_length_lower_product))) /\ ((((exists pa_h_bl_elb_length_lower_product_partial. pa_h_bl_elb_length_lower_product_partial + S (pa_r_bl_elb_length_lower_product) = S ((S (pa_i_bl_elb_length_lower_product)) * pa_v_bl_elb_length_lower_product)) /\ exists pa_q_bl_elb_length_lower_product_partial. pa_u_bl_elb_length_lower_product = pa_q_bl_elb_length_lower_product_partial * S ((S (pa_i_bl_elb_length_lower_product)) * pa_v_bl_elb_length_lower_product) + (pa_r_bl_elb_length_lower_product))) /\ ((((exists pa_h_bl_elb_length_lower_product_successor. pa_h_bl_elb_length_lower_product_successor + S (pa_s_bl_elb_length_lower_product) = S ((S (S pa_i_bl_elb_length_lower_product)) * pa_v_bl_elb_length_lower_product)) /\ exists pa_q_bl_elb_length_lower_product_successor. pa_u_bl_elb_length_lower_product = pa_q_bl_elb_length_lower_product_successor * S ((S (S pa_i_bl_elb_length_lower_product)) * pa_v_bl_elb_length_lower_product) + (pa_s_bl_elb_length_lower_product))) /\ pa_s_bl_elb_length_lower_product = pa_r_bl_elb_length_lower_product * pa_p_bl_elb_length_lower_product)))))))) /\ ((exists pa_b_bl_elb_length_upper pa_c_bl_elb_length_upper. ((forall pa_i_bl_elb_length_upper_repeat. (exists pa_lt_bl_elb_length_upper_repeat_bound. pa_lt_bl_elb_length_upper_repeat_bound + S pa_i_bl_elb_length_upper_repeat = l) -> (((exists pa_h_bl_elb_length_upper_repeat_decoded. pa_h_bl_elb_length_upper_repeat_decoded + S (2) = S ((S (pa_i_bl_elb_length_upper_repeat)) * pa_c_bl_elb_length_upper)) /\ exists pa_q_bl_elb_length_upper_repeat_decoded. pa_b_bl_elb_length_upper = pa_q_bl_elb_length_upper_repeat_decoded * S ((S (pa_i_bl_elb_length_upper_repeat)) * pa_c_bl_elb_length_upper) + (2)))) /\ (exists pa_u_bl_elb_length_upper_product pa_v_bl_elb_length_upper_product. ((((exists pa_h_bl_elb_length_upper_product_start. pa_h_bl_elb_length_upper_product_start + S (1) = S ((S (0)) * pa_v_bl_elb_length_upper_product)) /\ exists pa_q_bl_elb_length_upper_product_start. pa_u_bl_elb_length_upper_product = pa_q_bl_elb_length_upper_product_start * S ((S (0)) * pa_v_bl_elb_length_upper_product) + (1))) /\ ((((exists pa_h_bl_elb_length_upper_product_terminal. pa_h_bl_elb_length_upper_product_terminal + S (ff_upper_bl_elb_length) = S ((S (l)) * pa_v_bl_elb_length_upper_product)) /\ exists pa_q_bl_elb_length_upper_product_terminal. pa_u_bl_elb_length_upper_product = pa_q_bl_elb_length_upper_product_terminal * S ((S (l)) * pa_v_bl_elb_length_upper_product) + (ff_upper_bl_elb_length))) /\ forall pa_i_bl_elb_length_upper_product. (exists pa_lt_bl_elb_length_upper_product_bound. pa_lt_bl_elb_length_upper_product_bound + S pa_i_bl_elb_length_upper_product = l) -> exists pa_p_bl_elb_length_upper_product pa_r_bl_elb_length_upper_product pa_s_bl_elb_length_upper_product. ((((exists pa_h_bl_elb_length_upper_product_factor. pa_h_bl_elb_length_upper_product_factor + S (pa_p_bl_elb_length_upper_product) = S ((S (pa_i_bl_elb_length_upper_product)) * pa_c_bl_elb_length_upper)) /\ exists pa_q_bl_elb_length_upper_product_factor. pa_b_bl_elb_length_upper = pa_q_bl_elb_length_upper_product_factor * S ((S (pa_i_bl_elb_length_upper_product)) * pa_c_bl_elb_length_upper) + (pa_p_bl_elb_length_upper_product))) /\ ((((exists pa_h_bl_elb_length_upper_product_partial. pa_h_bl_elb_length_upper_product_partial + S (pa_r_bl_elb_length_upper_product) = S ((S (pa_i_bl_elb_length_upper_product)) * pa_v_bl_elb_length_upper_product)) /\ exists pa_q_bl_elb_length_upper_product_partial. pa_u_bl_elb_length_upper_product = pa_q_bl_elb_length_upper_product_partial * S ((S (pa_i_bl_elb_length_upper_product)) * pa_v_bl_elb_length_upper_product) + (pa_r_bl_elb_length_upper_product))) /\ ((((exists pa_h_bl_elb_length_upper_product_successor. pa_h_bl_elb_length_upper_product_successor + S (pa_s_bl_elb_length_upper_product) = S ((S (S pa_i_bl_elb_length_upper_product)) * pa_v_bl_elb_length_upper_product)) /\ exists pa_q_bl_elb_length_upper_product_successor. pa_u_bl_elb_length_upper_product = pa_q_bl_elb_length_upper_product_successor * S ((S (S pa_i_bl_elb_length_upper_product)) * pa_v_bl_elb_length_upper_product) + (pa_s_bl_elb_length_upper_product))) /\ pa_s_bl_elb_length_upper_product = pa_r_bl_elb_length_upper_product * pa_p_bl_elb_length_upper_product)))))))) /\ ((exists ff_lower_gap_bl_elb_length. ff_lower_gap_bl_elb_length + (ff_lower_bl_elb_length) = (b)) /\ (exists ff_upper_gap_bl_elb_length. ff_upper_gap_bl_elb_length + S (b) = (ff_upper_bl_elb_length))))))))) -> exists g k. ((exists egt_list_elb_anchored egt_history_elb_anchored egt_scale_elb_anchored. ((exists cf_gcd_egt_elb_anchored_trace. ((((exists ff_h_cf_egt_elb_anchored_trace_initial_state. ff_h_cf_egt_elb_anchored_trace_initial_state + S (((cf_gcd_egt_elb_anchored_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_elb_anchored_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)) * egt_scale_elb_anchored)) /\ exists ff_q_cf_egt_elb_anchored_trace_initial_state. egt_history_elb_anchored = ff_q_cf_egt_elb_anchored_trace_initial_state * S ((S (0)) * egt_scale_elb_anchored) + (((cf_gcd_egt_elb_anchored_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_egt_elb_anchored_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_egt_elb_anchored_trace_terminal_state. ff_h_cf_egt_elb_anchored_trace_terminal_state + S (((a) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored)))) * S ((a) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored)))) + ((((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored))) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored))))) = S ((S (k)) * egt_scale_elb_anchored)) /\ exists ff_q_cf_egt_elb_anchored_trace_terminal_state. egt_history_elb_anchored = ff_q_cf_egt_elb_anchored_trace_terminal_state * S ((S (k)) * egt_scale_elb_anchored) + (((a) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored)))) * S ((a) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored)))) + ((((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored))) + (((b) + (egt_list_elb_anchored)) * S ((b) + (egt_list_elb_anchored)) + ((egt_list_elb_anchored) + (egt_list_elb_anchored))))))) /\ forall cf_index_egt_elb_anchored_trace. (exists ff_lt_cf_egt_elb_anchored_trace_index. ff_lt_cf_egt_elb_anchored_trace_index + S cf_index_egt_elb_anchored_trace = k) -> exists cf_old_a_egt_elb_anchored_trace cf_old_b_egt_elb_anchored_trace cf_tail_egt_elb_anchored_trace cf_new_a_egt_elb_anchored_trace cf_new_b_egt_elb_anchored_trace cf_head_egt_elb_anchored_trace cf_quotient_egt_elb_anchored_trace. ((((exists ff_h_cf_egt_elb_anchored_trace_previous_state. ff_h_cf_egt_elb_anchored_trace_previous_state + S (((cf_old_a_egt_elb_anchored_trace) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)))) * S ((cf_old_a_egt_elb_anchored_trace) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)))) + ((((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace))) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace))))) = S ((S (cf_index_egt_elb_anchored_trace)) * egt_scale_elb_anchored)) /\ exists ff_q_cf_egt_elb_anchored_trace_previous_state. egt_history_elb_anchored = ff_q_cf_egt_elb_anchored_trace_previous_state * S ((S (cf_index_egt_elb_anchored_trace)) * egt_scale_elb_anchored) + (((cf_old_a_egt_elb_anchored_trace) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)))) * S ((cf_old_a_egt_elb_anchored_trace) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)))) + ((((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace))) + (((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) * S ((cf_old_b_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace)) + ((cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace))))))) /\ ((((exists ff_h_cf_egt_elb_anchored_trace_following_state. ff_h_cf_egt_elb_anchored_trace_following_state + S (((cf_new_a_egt_elb_anchored_trace) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)))) * S ((cf_new_a_egt_elb_anchored_trace) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)))) + ((((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace))) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace))))) = S ((S (S cf_index_egt_elb_anchored_trace)) * egt_scale_elb_anchored)) /\ exists ff_q_cf_egt_elb_anchored_trace_following_state. egt_history_elb_anchored = ff_q_cf_egt_elb_anchored_trace_following_state * S ((S (S cf_index_egt_elb_anchored_trace)) * egt_scale_elb_anchored) + (((cf_new_a_egt_elb_anchored_trace) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)))) * S ((cf_new_a_egt_elb_anchored_trace) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)))) + ((((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace))) + (((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) * S ((cf_new_b_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace)) + ((cf_head_egt_elb_anchored_trace) + (cf_head_egt_elb_anchored_trace))))))) /\ (cf_new_b_egt_elb_anchored_trace = cf_old_a_egt_elb_anchored_trace /\ (cf_new_a_egt_elb_anchored_trace = cf_new_b_egt_elb_anchored_trace * cf_quotient_egt_elb_anchored_trace + cf_old_b_egt_elb_anchored_trace /\ ((exists ff_lt_cf_egt_elb_anchored_trace_remainder. ff_lt_cf_egt_elb_anchored_trace_remainder + S cf_old_b_egt_elb_anchored_trace = cf_new_b_egt_elb_anchored_trace) /\ (cf_head_egt_elb_anchored_trace = S ((cf_quotient_egt_elb_anchored_trace + cf_tail_egt_elb_anchored_trace) * S (cf_quotient_egt_elb_anchored_trace + cf_tail_egt_elb_anchored_trace) + (cf_tail_egt_elb_anchored_trace + cf_tail_egt_elb_anchored_trace))))))))))) /\ ((((exists ff_h_cf_egt_elb_anchored_initial_state. ff_h_cf_egt_elb_anchored_initial_state + S (((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * egt_scale_elb_anchored)) /\ exists ff_q_cf_egt_elb_anchored_initial_state. egt_history_elb_anchored = ff_q_cf_egt_elb_anchored_initial_state * S ((S (0)) * egt_scale_elb_anchored) + (((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ec_gcd_left_egt_elb_anchored_result. a = g * ec_gcd_left_egt_elb_anchored_result) /\ (exists ec_gcd_right_egt_elb_anchored_result. b = g * ec_gcd_right_egt_elb_anchored_result)) /\ forall ec_gcd_common_egt_elb_anchored_result. (exists ec_gcd_common_left_egt_elb_anchored_result. a = ec_gcd_common_egt_elb_anchored_result * ec_gcd_common_left_egt_elb_anchored_result) -> (exists ec_gcd_common_right_egt_elb_anchored_result. b = ec_gcd_common_egt_elb_anchored_result * ec_gcd_common_right_egt_elb_anchored_result) -> exists ec_gcd_greatest_egt_elb_anchored_result. g = ec_gcd_common_egt_elb_anchored_result * ec_gcd_greatest_egt_elb_anchored_result))))) /\ exists gap. gap + k = l + l)Constructive proof overview
Generated structural guide
Every bit-length witness constructs a genuine complete beta execution whose actual terminal state is its gcd and whose exact step count is at most twice that length.
The unchanged tactic script uses 2 declared prerequisites and contains 38 exact native proof lines.
Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
EL000E euclidean_log_trace_bound euclidean_trace_terminal_gcd_exists Alpha 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–4
02Use earlier factsL5–7
03Establish hboundedL8–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log trace bound.
- L8
have hbounded : EuclideanBoundedTrace(a,b,l + l)Definitions: EuclideanBoundedTrace - L9
apply euclidean_log_trace_bound - L10
exact hlength
04Separate the logical casesL11–15
05Establish hterminalL16–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean trace terminal gcd exists.
- L16
have hterminal : ∃ g. EuclideanStateAt(x1,x2,0,g,0,0) ∧ IsGCD(g,a,b)Definitions: EuclideanStateAtIsGCD - L17
specialize euclidean_trace_terminal_gcd_exists a - L18
specialize euclidean_trace_terminal_gcd_exists b - L19
specialize euclidean_trace_terminal_gcd_exists x - L20
specialize euclidean_trace_terminal_gcd_exists x1 - L21
specialize euclidean_trace_terminal_gcd_exists x2 - L22
specialize euclidean_trace_terminal_gcd_exists x3 - L23
apply euclidean_trace_terminal_gcd_exists - L24
exact hbounded_witness_witness_witness_witness_left
06Separate the logical casesL25–26
07Construct an explicit witnessL27–28
08Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
09Construct an explicit witnessL30–32
10Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
11Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hbounded_witness_witness_witness_witness_left
12Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
Original exact command ledger · 38 lines
- 0001
intro a - 0002
intro b - 0003
intro l - 0004
intro hlength - 0005
specialize euclidean_log_trace_bound a - 0006
specialize euclidean_log_trace_bound b - 0007
specialize euclidean_log_trace_bound l - 0008
have hbounded : exists elb_list_length_budget elb_history_length_budget elb_scale_length_budget elb_steps_length_budget. ((exists cf_gcd_elb_length_budget_budget. ((((exists ff_h_cf_elb_length_budget_budget_initial_state. ff_h_cf_elb_length_budget_budget_initial_state + S (((cf_gcd_elb_length_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_length_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_length_budget)) /\ exists ff_q_cf_elb_length_budget_budget_initial_state. elb_history_length_budget = ff_q_cf_elb_length_budget_budget_initial_state * S ((S (0)) * elb_scale_length_budget) + (((cf_gcd_elb_length_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_length_budget_budget) + (((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_elb_length_budget_budget_terminal_state. ff_h_cf_elb_length_budget_budget_terminal_state + S (((a) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget)))) * S ((a) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget)))) + ((((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget))) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget))))) = S ((S (elb_steps_length_budget)) * elb_scale_length_budget)) /\ exists ff_q_cf_elb_length_budget_budget_terminal_state. elb_history_length_budget = ff_q_cf_elb_length_budget_budget_terminal_state * S ((S (elb_steps_length_budget)) * elb_scale_length_budget) + (((a) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget)))) * S ((a) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget)))) + ((((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget))) + (((b) + (elb_list_length_budget)) * S ((b) + (elb_list_length_budget)) + ((elb_list_length_budget) + (elb_list_length_budget))))))) /\ forall cf_index_elb_length_budget_budget. (exists ff_lt_cf_elb_length_budget_budget_index. ff_lt_cf_elb_length_budget_budget_index + S cf_index_elb_length_budget_budget = elb_steps_length_budget) -> exists cf_old_a_elb_length_budget_budget cf_old_b_elb_length_budget_budget cf_tail_elb_length_budget_budget cf_new_a_elb_length_budget_budget cf_new_b_elb_length_budget_budget cf_head_elb_length_budget_budget cf_quotient_elb_length_budget_budget. ((((exists ff_h_cf_elb_length_budget_budget_previous_state. ff_h_cf_elb_length_budget_budget_previous_state + S (((cf_old_a_elb_length_budget_budget) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)))) * S ((cf_old_a_elb_length_budget_budget) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)))) + ((((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget))) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget))))) = S ((S (cf_index_elb_length_budget_budget)) * elb_scale_length_budget)) /\ exists ff_q_cf_elb_length_budget_budget_previous_state. elb_history_length_budget = ff_q_cf_elb_length_budget_budget_previous_state * S ((S (cf_index_elb_length_budget_budget)) * elb_scale_length_budget) + (((cf_old_a_elb_length_budget_budget) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)))) * S ((cf_old_a_elb_length_budget_budget) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)))) + ((((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget))) + (((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) * S ((cf_old_b_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget)) + ((cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget))))))) /\ ((((exists ff_h_cf_elb_length_budget_budget_following_state. ff_h_cf_elb_length_budget_budget_following_state + S (((cf_new_a_elb_length_budget_budget) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)))) * S ((cf_new_a_elb_length_budget_budget) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)))) + ((((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget))) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget))))) = S ((S (S cf_index_elb_length_budget_budget)) * elb_scale_length_budget)) /\ exists ff_q_cf_elb_length_budget_budget_following_state. elb_history_length_budget = ff_q_cf_elb_length_budget_budget_following_state * S ((S (S cf_index_elb_length_budget_budget)) * elb_scale_length_budget) + (((cf_new_a_elb_length_budget_budget) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)))) * S ((cf_new_a_elb_length_budget_budget) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)))) + ((((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget))) + (((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) * S ((cf_new_b_elb_length_budget_budget) + (cf_head_elb_length_budget_budget)) + ((cf_head_elb_length_budget_budget) + (cf_head_elb_length_budget_budget))))))) /\ (cf_new_b_elb_length_budget_budget = cf_old_a_elb_length_budget_budget /\ (cf_new_a_elb_length_budget_budget = cf_new_b_elb_length_budget_budget * cf_quotient_elb_length_budget_budget + cf_old_b_elb_length_budget_budget /\ ((exists ff_lt_cf_elb_length_budget_budget_remainder. ff_lt_cf_elb_length_budget_budget_remainder + S cf_old_b_elb_length_budget_budget = cf_new_b_elb_length_budget_budget) /\ (cf_head_elb_length_budget_budget = S ((cf_quotient_elb_length_budget_budget + cf_tail_elb_length_budget_budget) * S (cf_quotient_elb_length_budget_budget + cf_tail_elb_length_budget_budget) + (cf_tail_elb_length_budget_budget + cf_tail_elb_length_budget_budget))))))))))) /\ exists elb_gap_length_budget. elb_gap_length_budget + elb_steps_length_budget = ((l + l))) - 0009
apply euclidean_log_trace_bound - 0010
exact hlength - 0011
cases hbounded - 0012
cases hbounded_witness - 0013
cases hbounded_witness_witness - 0014
cases hbounded_witness_witness_witness - 0015
cases hbounded_witness_witness_witness_witness - 0016
have hterminal : exists g. ((((exists ff_h_cf_elb_terminal_state. ff_h_cf_elb_terminal_state + S (((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * x2)) /\ exists ff_q_cf_elb_terminal_state. x1 = ff_q_cf_elb_terminal_state * S ((S (0)) * x2) + (((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((g) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists hag_left_factor_elb_terminal. a = g * hag_left_factor_elb_terminal) /\ (exists hag_right_factor_elb_terminal. b = g * hag_right_factor_elb_terminal)) /\ forall hag_divisor_elb_terminal. (exists hag_common_left_elb_terminal. a = hag_divisor_elb_terminal * hag_common_left_elb_terminal) -> (exists hag_common_right_elb_terminal. b = hag_divisor_elb_terminal * hag_common_right_elb_terminal) -> exists hag_greatest_factor_elb_terminal. g = hag_divisor_elb_terminal * hag_greatest_factor_elb_terminal))) - 0017
specialize euclidean_trace_terminal_gcd_exists a - 0018
specialize euclidean_trace_terminal_gcd_exists b - 0019
specialize euclidean_trace_terminal_gcd_exists x - 0020
specialize euclidean_trace_terminal_gcd_exists x1 - 0021
specialize euclidean_trace_terminal_gcd_exists x2 - 0022
specialize euclidean_trace_terminal_gcd_exists x3 - 0023
apply euclidean_trace_terminal_gcd_exists - 0024
exact hbounded_witness_witness_witness_witness_left - 0025
cases hterminal - 0026
cases hterminal_witness - 0027
exists x4 - 0028
exists x3 - 0029
split - 0030
exists x - 0031
exists x1 - 0032
exists x2 - 0033
split - 0034
exact hbounded_witness_witness_witness_witness_left - 0035
split - 0036
exact hterminal_witness_left - 0037
exact hterminal_witness_right - 0038
exact hbounded_witness_witness_witness_witness_right
Separate complete second-wave branches: Full T13 proof · Alpha v27.