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 g l G L. (exists ec_list_egt_execution ec_history_egt_execution ec_scale_egt_execution. ((exists cf_gcd_ec_egt_execution_trace. ((((exists ff_h_cf_ec_egt_execution_trace_initial_state. ff_h_cf_ec_egt_execution_trace_initial_state + S (((cf_gcd_ec_egt_execution_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_egt_execution_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_egt_execution)) /\ exists ff_q_cf_ec_egt_execution_trace_initial_state. ec_history_egt_execution = ff_q_cf_ec_egt_execution_trace_initial_state * S ((S (0)) * ec_scale_egt_execution) + (((cf_gcd_ec_egt_execution_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_egt_execution_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_egt_execution_trace_terminal_state. ff_h_cf_ec_egt_execution_trace_terminal_state + S (((a) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution)))) * S ((a) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution)))) + ((((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution))) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution))))) = S ((S (l)) * ec_scale_egt_execution)) /\ exists ff_q_cf_ec_egt_execution_trace_terminal_state. ec_history_egt_execution = ff_q_cf_ec_egt_execution_trace_terminal_state * S ((S (l)) * ec_scale_egt_execution) + (((a) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution)))) * S ((a) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution)))) + ((((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution))) + (((b) + (ec_list_egt_execution)) * S ((b) + (ec_list_egt_execution)) + ((ec_list_egt_execution) + (ec_list_egt_execution))))))) /\ forall cf_index_ec_egt_execution_trace. (exists ff_lt_cf_ec_egt_execution_trace_index. ff_lt_cf_ec_egt_execution_trace_index + S cf_index_ec_egt_execution_trace = l) -> exists cf_old_a_ec_egt_execution_trace cf_old_b_ec_egt_execution_trace cf_tail_ec_egt_execution_trace cf_new_a_ec_egt_execution_trace cf_new_b_ec_egt_execution_trace cf_head_ec_egt_execution_trace cf_quotient_ec_egt_execution_trace. ((((exists ff_h_cf_ec_egt_execution_trace_previous_state. ff_h_cf_ec_egt_execution_trace_previous_state + S (((cf_old_a_ec_egt_execution_trace) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)))) * S ((cf_old_a_ec_egt_execution_trace) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)))) + ((((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace))) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace))))) = S ((S (cf_index_ec_egt_execution_trace)) * ec_scale_egt_execution)) /\ exists ff_q_cf_ec_egt_execution_trace_previous_state. ec_history_egt_execution = ff_q_cf_ec_egt_execution_trace_previous_state * S ((S (cf_index_ec_egt_execution_trace)) * ec_scale_egt_execution) + (((cf_old_a_ec_egt_execution_trace) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)))) * S ((cf_old_a_ec_egt_execution_trace) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)))) + ((((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace))) + (((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) * S ((cf_old_b_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace)) + ((cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace))))))) /\ ((((exists ff_h_cf_ec_egt_execution_trace_following_state. ff_h_cf_ec_egt_execution_trace_following_state + S (((cf_new_a_ec_egt_execution_trace) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)))) * S ((cf_new_a_ec_egt_execution_trace) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)))) + ((((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace))) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace))))) = S ((S (S cf_index_ec_egt_execution_trace)) * ec_scale_egt_execution)) /\ exists ff_q_cf_ec_egt_execution_trace_following_state. ec_history_egt_execution = ff_q_cf_ec_egt_execution_trace_following_state * S ((S (S cf_index_ec_egt_execution_trace)) * ec_scale_egt_execution) + (((cf_new_a_ec_egt_execution_trace) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)))) * S ((cf_new_a_ec_egt_execution_trace) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)))) + ((((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace))) + (((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) * S ((cf_new_b_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace)) + ((cf_head_ec_egt_execution_trace) + (cf_head_ec_egt_execution_trace))))))) /\ (cf_new_b_ec_egt_execution_trace = cf_old_a_ec_egt_execution_trace /\ (cf_new_a_ec_egt_execution_trace = cf_new_b_ec_egt_execution_trace * cf_quotient_ec_egt_execution_trace + cf_old_b_ec_egt_execution_trace /\ ((exists ff_lt_cf_ec_egt_execution_trace_remainder. ff_lt_cf_ec_egt_execution_trace_remainder + S cf_old_b_ec_egt_execution_trace = cf_new_b_ec_egt_execution_trace) /\ (cf_head_ec_egt_execution_trace = S ((cf_quotient_ec_egt_execution_trace + cf_tail_ec_egt_execution_trace) * S (cf_quotient_ec_egt_execution_trace + cf_tail_ec_egt_execution_trace) + (cf_tail_ec_egt_execution_trace + cf_tail_ec_egt_execution_trace))))))))))) /\ ((((exists ec_gcd_left_egt_execution_result. a = g * ec_gcd_left_egt_execution_result) /\ (exists ec_gcd_right_egt_execution_result. b = g * ec_gcd_right_egt_execution_result)) /\ forall ec_gcd_common_egt_execution_result. (exists ec_gcd_common_left_egt_execution_result. a = ec_gcd_common_egt_execution_result * ec_gcd_common_left_egt_execution_result) -> (exists ec_gcd_common_right_egt_execution_result. b = ec_gcd_common_egt_execution_result * ec_gcd_common_right_egt_execution_result) -> exists ec_gcd_greatest_egt_execution_result. g = ec_gcd_common_egt_execution_result * ec_gcd_greatest_egt_execution_result)))) -> (exists ec_list_egt_other_execution ec_history_egt_other_execution ec_scale_egt_other_execution. ((exists cf_gcd_ec_egt_other_execution_trace. ((((exists ff_h_cf_ec_egt_other_execution_trace_initial_state. ff_h_cf_ec_egt_other_execution_trace_initial_state + S (((cf_gcd_ec_egt_other_execution_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_egt_other_execution_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_egt_other_execution)) /\ exists ff_q_cf_ec_egt_other_execution_trace_initial_state. ec_history_egt_other_execution = ff_q_cf_ec_egt_other_execution_trace_initial_state * S ((S (0)) * ec_scale_egt_other_execution) + (((cf_gcd_ec_egt_other_execution_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_egt_other_execution_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_egt_other_execution_trace_terminal_state. ff_h_cf_ec_egt_other_execution_trace_terminal_state + S (((a) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution)))) * S ((a) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution)))) + ((((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution))) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution))))) = S ((S (L)) * ec_scale_egt_other_execution)) /\ exists ff_q_cf_ec_egt_other_execution_trace_terminal_state. ec_history_egt_other_execution = ff_q_cf_ec_egt_other_execution_trace_terminal_state * S ((S (L)) * ec_scale_egt_other_execution) + (((a) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution)))) * S ((a) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution)))) + ((((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution))) + (((b) + (ec_list_egt_other_execution)) * S ((b) + (ec_list_egt_other_execution)) + ((ec_list_egt_other_execution) + (ec_list_egt_other_execution))))))) /\ forall cf_index_ec_egt_other_execution_trace. (exists ff_lt_cf_ec_egt_other_execution_trace_index. ff_lt_cf_ec_egt_other_execution_trace_index + S cf_index_ec_egt_other_execution_trace = L) -> exists cf_old_a_ec_egt_other_execution_trace cf_old_b_ec_egt_other_execution_trace cf_tail_ec_egt_other_execution_trace cf_new_a_ec_egt_other_execution_trace cf_new_b_ec_egt_other_execution_trace cf_head_ec_egt_other_execution_trace cf_quotient_ec_egt_other_execution_trace. ((((exists ff_h_cf_ec_egt_other_execution_trace_previous_state. ff_h_cf_ec_egt_other_execution_trace_previous_state + S (((cf_old_a_ec_egt_other_execution_trace) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)))) * S ((cf_old_a_ec_egt_other_execution_trace) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)))) + ((((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace))) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace))))) = S ((S (cf_index_ec_egt_other_execution_trace)) * ec_scale_egt_other_execution)) /\ exists ff_q_cf_ec_egt_other_execution_trace_previous_state. ec_history_egt_other_execution = ff_q_cf_ec_egt_other_execution_trace_previous_state * S ((S (cf_index_ec_egt_other_execution_trace)) * ec_scale_egt_other_execution) + (((cf_old_a_ec_egt_other_execution_trace) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)))) * S ((cf_old_a_ec_egt_other_execution_trace) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)))) + ((((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace))) + (((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) * S ((cf_old_b_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace)) + ((cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace))))))) /\ ((((exists ff_h_cf_ec_egt_other_execution_trace_following_state. ff_h_cf_ec_egt_other_execution_trace_following_state + S (((cf_new_a_ec_egt_other_execution_trace) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)))) * S ((cf_new_a_ec_egt_other_execution_trace) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)))) + ((((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace))) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace))))) = S ((S (S cf_index_ec_egt_other_execution_trace)) * ec_scale_egt_other_execution)) /\ exists ff_q_cf_ec_egt_other_execution_trace_following_state. ec_history_egt_other_execution = ff_q_cf_ec_egt_other_execution_trace_following_state * S ((S (S cf_index_ec_egt_other_execution_trace)) * ec_scale_egt_other_execution) + (((cf_new_a_ec_egt_other_execution_trace) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)))) * S ((cf_new_a_ec_egt_other_execution_trace) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)))) + ((((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace))) + (((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) * S ((cf_new_b_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace)) + ((cf_head_ec_egt_other_execution_trace) + (cf_head_ec_egt_other_execution_trace))))))) /\ (cf_new_b_ec_egt_other_execution_trace = cf_old_a_ec_egt_other_execution_trace /\ (cf_new_a_ec_egt_other_execution_trace = cf_new_b_ec_egt_other_execution_trace * cf_quotient_ec_egt_other_execution_trace + cf_old_b_ec_egt_other_execution_trace /\ ((exists ff_lt_cf_ec_egt_other_execution_trace_remainder. ff_lt_cf_ec_egt_other_execution_trace_remainder + S cf_old_b_ec_egt_other_execution_trace = cf_new_b_ec_egt_other_execution_trace) /\ (cf_head_ec_egt_other_execution_trace = S ((cf_quotient_ec_egt_other_execution_trace + cf_tail_ec_egt_other_execution_trace) * S (cf_quotient_ec_egt_other_execution_trace + cf_tail_ec_egt_other_execution_trace) + (cf_tail_ec_egt_other_execution_trace + cf_tail_ec_egt_other_execution_trace))))))))))) /\ ((((exists ec_gcd_left_egt_other_execution_result. a = G * ec_gcd_left_egt_other_execution_result) /\ (exists ec_gcd_right_egt_other_execution_result. b = G * ec_gcd_right_egt_other_execution_result)) /\ forall ec_gcd_common_egt_other_execution_result. (exists ec_gcd_common_left_egt_other_execution_result. a = ec_gcd_common_egt_other_execution_result * ec_gcd_common_left_egt_other_execution_result) -> (exists ec_gcd_common_right_egt_other_execution_result. b = ec_gcd_common_egt_other_execution_result * ec_gcd_common_right_egt_other_execution_result) -> exists ec_gcd_greatest_egt_other_execution_result. G = ec_gcd_common_egt_other_execution_result * ec_gcd_greatest_egt_other_execution_result)))) -> g = GConstructive proof overview
Generated structural guide
Any two Alpha-v21 Euclidean executions for the same input certify the same unique relational gcd output.
The unchanged tactic script uses 2 declared prerequisites and contains 28 exact native proof lines.
Alpha v34 checked-use · first admitted v22 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
euclidean_execution_gcd_correct Alpha theorem; checked-use authorized is_gcd_unique 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–8
02Establish hgL9–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean execution gcd correct.
- L9
have hg : (((exists hag_left_factor_egt_unique_first. a = g * hag_left_factor_egt_unique_first) /\ (exists hag_right_factor_egt_unique_first. b = g * hag_right_factor_egt_unique_first)) /\ forall hag_divisor_egt_unique_first. (exists hag_common_left_egt_unique_first. a = hag_divisor_egt_unique_first * hag_common_left_egt_unique_first) -> (exists hag_common_right_egt_unique_first. b = hag_divisor_egt_unique_first * hag_common_right_egt_unique_first) -> exists hag_greatest_factor_egt_unique_first. g = hag_divisor_egt_unique_first * hag_greatest_factor_egt_unique_first) - L10
specialize euclidean_execution_gcd_correct a - L11
specialize euclidean_execution_gcd_correct b - L12
specialize euclidean_execution_gcd_correct g - L13
specialize euclidean_execution_gcd_correct l - L14
apply euclidean_execution_gcd_correct - L15
exact hfirst
03Establish hGL16–16
Establish this local claim before using it. It is not an additional assumption.
- L16
have hG : (((exists hag_left_factor_egt_unique_second. a = G * hag_left_factor_egt_unique_second) /\ (exists hag_right_factor_egt_unique_second. b = G * hag_right_factor_egt_unique_second)) /\ forall hag_divisor_egt_unique_second. (exists hag_common_left_egt_unique_second. a = hag_divisor_egt_unique_second * hag_common_left_egt_unique_second) -> (exists hag_common_right_egt_unique_second. b = hag_divisor_egt_unique_second * hag_common_right_egt_unique_second) -> exists hag_greatest_factor_egt_unique_second. G = hag_divisor_egt_unique_second * hag_greatest_factor_egt_unique_second)
04Separate the logical casesL17–20
05Use earlier factsL21–28
Original exact command ledger · 28 lines
- 0001
intro a - 0002
intro b - 0003
intro g - 0004
intro l - 0005
intro G - 0006
intro L - 0007
intro hfirst - 0008
intro hsecond - 0009
have hg : (((exists hag_left_factor_egt_unique_first. a = g * hag_left_factor_egt_unique_first) /\ (exists hag_right_factor_egt_unique_first. b = g * hag_right_factor_egt_unique_first)) /\ forall hag_divisor_egt_unique_first. (exists hag_common_left_egt_unique_first. a = hag_divisor_egt_unique_first * hag_common_left_egt_unique_first) -> (exists hag_common_right_egt_unique_first. b = hag_divisor_egt_unique_first * hag_common_right_egt_unique_first) -> exists hag_greatest_factor_egt_unique_first. g = hag_divisor_egt_unique_first * hag_greatest_factor_egt_unique_first) - 0010
specialize euclidean_execution_gcd_correct a - 0011
specialize euclidean_execution_gcd_correct b - 0012
specialize euclidean_execution_gcd_correct g - 0013
specialize euclidean_execution_gcd_correct l - 0014
apply euclidean_execution_gcd_correct - 0015
exact hfirst - 0016
have hG : (((exists hag_left_factor_egt_unique_second. a = G * hag_left_factor_egt_unique_second) /\ (exists hag_right_factor_egt_unique_second. b = G * hag_right_factor_egt_unique_second)) /\ forall hag_divisor_egt_unique_second. (exists hag_common_left_egt_unique_second. a = hag_divisor_egt_unique_second * hag_common_left_egt_unique_second) -> (exists hag_common_right_egt_unique_second. b = hag_divisor_egt_unique_second * hag_common_right_egt_unique_second) -> exists hag_greatest_factor_egt_unique_second. G = hag_divisor_egt_unique_second * hag_greatest_factor_egt_unique_second) - 0017
cases hsecond - 0018
cases hsecond_witness - 0019
cases hsecond_witness_witness - 0020
cases hsecond_witness_witness_witness - 0021
exact hsecond_witness_witness_witness_right - 0022
specialize is_gcd_unique g - 0023
specialize is_gcd_unique G - 0024
specialize is_gcd_unique a - 0025
specialize is_gcd_unique b - 0026
apply is_gcd_unique - 0027
exact hg - 0028
exact hG