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 s h e L. (exists cf_gcd_head_source. ((((exists ff_h_cf_head_source_initial_state. ff_h_cf_head_source_initial_state + S (((cf_gcd_head_source) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_source) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_source_initial_state. h = ff_q_cf_head_source_initial_state * S ((S (0)) * e) + (((cf_gcd_head_source) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_source) + (((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_head_source_terminal_state. ff_h_cf_head_source_terminal_state + S (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))) = S ((S (L)) * e)) /\ exists ff_q_cf_head_source_terminal_state. h = ff_q_cf_head_source_terminal_state * S ((S (L)) * e) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_head_source. (exists ff_lt_cf_head_source_index. ff_lt_cf_head_source_index + S cf_index_head_source = L) -> exists cf_old_a_head_source cf_old_b_head_source cf_tail_head_source cf_new_a_head_source cf_new_b_head_source cf_head_head_source cf_quotient_head_source. ((((exists ff_h_cf_head_source_previous_state. ff_h_cf_head_source_previous_state + S (((cf_old_a_head_source) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source)))) * S ((cf_old_a_head_source) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source)))) + ((((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source))) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source))))) = S ((S (cf_index_head_source)) * e)) /\ exists ff_q_cf_head_source_previous_state. h = ff_q_cf_head_source_previous_state * S ((S (cf_index_head_source)) * e) + (((cf_old_a_head_source) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source)))) * S ((cf_old_a_head_source) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source)))) + ((((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source))) + (((cf_old_b_head_source) + (cf_tail_head_source)) * S ((cf_old_b_head_source) + (cf_tail_head_source)) + ((cf_tail_head_source) + (cf_tail_head_source))))))) /\ ((((exists ff_h_cf_head_source_following_state. ff_h_cf_head_source_following_state + S (((cf_new_a_head_source) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source)))) * S ((cf_new_a_head_source) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source)))) + ((((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source))) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source))))) = S ((S (S cf_index_head_source)) * e)) /\ exists ff_q_cf_head_source_following_state. h = ff_q_cf_head_source_following_state * S ((S (S cf_index_head_source)) * e) + (((cf_new_a_head_source) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source)))) * S ((cf_new_a_head_source) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source)))) + ((((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source))) + (((cf_new_b_head_source) + (cf_head_head_source)) * S ((cf_new_b_head_source) + (cf_head_head_source)) + ((cf_head_head_source) + (cf_head_head_source))))))) /\ (cf_new_b_head_source = cf_old_a_head_source /\ (cf_new_a_head_source = cf_new_b_head_source * cf_quotient_head_source + cf_old_b_head_source /\ ((exists ff_lt_cf_head_source_remainder. ff_lt_cf_head_source_remainder + S cf_old_b_head_source = cf_new_b_head_source) /\ (cf_head_head_source = S ((cf_quotient_head_source + cf_tail_head_source) * S (cf_quotient_head_source + cf_tail_head_source) + (cf_tail_head_source + cf_tail_head_source))))))))))) -> ~(s = 0) -> (exists cfc_q_head_result cfc_r_head_result cfc_tail_head_result cfc_length_head_result. (((L) = S cfc_length_head_result) /\ (((a) = (b) * cfc_q_head_result + cfc_r_head_result) /\ ((exists cfba_gap_head_resultbound. cfba_gap_head_resultbound + S (cfc_r_head_result) = (b)) /\ ((s = S ((cfc_q_head_result + cfc_tail_head_result) * S (cfc_q_head_result + cfc_tail_head_result) + (cfc_tail_head_result + cfc_tail_head_result))) /\ (exists cf_gcd_head_resulthistory. ((((exists ff_h_cf_head_resulthistory_initial_state. ff_h_cf_head_resulthistory_initial_state + S (((cf_gcd_head_resulthistory) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_resulthistory) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_resulthistory_initial_state. h = ff_q_cf_head_resulthistory_initial_state * S ((S (0)) * e) + (((cf_gcd_head_resulthistory) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_resulthistory) + (((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_head_resulthistory_terminal_state. ff_h_cf_head_resulthistory_terminal_state + S (((b) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result)))) * S ((b) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result)))) + ((((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result))) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result))))) = S ((S (cfc_length_head_result)) * e)) /\ exists ff_q_cf_head_resulthistory_terminal_state. h = ff_q_cf_head_resulthistory_terminal_state * S ((S (cfc_length_head_result)) * e) + (((b) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result)))) * S ((b) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result)))) + ((((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result))) + (((cfc_r_head_result) + (cfc_tail_head_result)) * S ((cfc_r_head_result) + (cfc_tail_head_result)) + ((cfc_tail_head_result) + (cfc_tail_head_result))))))) /\ forall cf_index_head_resulthistory. (exists ff_lt_cf_head_resulthistory_index. ff_lt_cf_head_resulthistory_index + S cf_index_head_resulthistory = cfc_length_head_result) -> exists cf_old_a_head_resulthistory cf_old_b_head_resulthistory cf_tail_head_resulthistory cf_new_a_head_resulthistory cf_new_b_head_resulthistory cf_head_head_resulthistory cf_quotient_head_resulthistory. ((((exists ff_h_cf_head_resulthistory_previous_state. ff_h_cf_head_resulthistory_previous_state + S (((cf_old_a_head_resulthistory) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory)))) * S ((cf_old_a_head_resulthistory) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory)))) + ((((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory))) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory))))) = S ((S (cf_index_head_resulthistory)) * e)) /\ exists ff_q_cf_head_resulthistory_previous_state. h = ff_q_cf_head_resulthistory_previous_state * S ((S (cf_index_head_resulthistory)) * e) + (((cf_old_a_head_resulthistory) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory)))) * S ((cf_old_a_head_resulthistory) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory)))) + ((((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory))) + (((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) * S ((cf_old_b_head_resulthistory) + (cf_tail_head_resulthistory)) + ((cf_tail_head_resulthistory) + (cf_tail_head_resulthistory))))))) /\ ((((exists ff_h_cf_head_resulthistory_following_state. ff_h_cf_head_resulthistory_following_state + S (((cf_new_a_head_resulthistory) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory)))) * S ((cf_new_a_head_resulthistory) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory)))) + ((((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory))) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory))))) = S ((S (S cf_index_head_resulthistory)) * e)) /\ exists ff_q_cf_head_resulthistory_following_state. h = ff_q_cf_head_resulthistory_following_state * S ((S (S cf_index_head_resulthistory)) * e) + (((cf_new_a_head_resulthistory) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory)))) * S ((cf_new_a_head_resulthistory) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory)))) + ((((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory))) + (((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) * S ((cf_new_b_head_resulthistory) + (cf_head_head_resulthistory)) + ((cf_head_head_resulthistory) + (cf_head_head_resulthistory))))))) /\ (cf_new_b_head_resulthistory = cf_old_a_head_resulthistory /\ (cf_new_a_head_resulthistory = cf_new_b_head_resulthistory * cf_quotient_head_resulthistory + cf_old_b_head_resulthistory /\ ((exists ff_lt_cf_head_resulthistory_remainder. ff_lt_cf_head_resulthistory_remainder + S cf_old_b_head_resulthistory = cf_new_b_head_resulthistory) /\ (cf_head_head_resulthistory = S ((cf_quotient_head_resulthistory + cf_tail_head_resulthistory) * S (cf_quotient_head_resulthistory + cf_tail_head_resulthistory) + (cf_tail_head_resulthistory + cf_tail_head_resulthistory))))))))))))))))Constructive proof overview
Generated structural guide
A genuine nonempty quotient list in G071 exposes an actual Euclidean first step and an actual shorter history length.
The unchanged tactic script uses 4 declared prerequisites and contains 75 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
zero_or_succ Stable theorem; checked-use authorized BA002C cf_convergent_old_history_length_transport BA0029 cf_convergent_old_history_zero_elimination BA002A cf_convergent_old_history_successor_eliminationDirect 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 (3)
01Fix variables and assumptionsL1–8
02Establish hlL9–11
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hl
04Establish hzL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history length transport.
- L13
have hz : ContinuedFractionTrace(a,b,s,h,e,0)Definitions: ContinuedFractionTrace - L14
specialize cf_convergent_old_history_length_transport (a) - L15
specialize cf_convergent_old_history_length_transport (b) - L16
specialize cf_convergent_old_history_length_transport (s) - L17
specialize cf_convergent_old_history_length_transport (h) - L18
specialize cf_convergent_old_history_length_transport (e) - L19
specialize cf_convergent_old_history_length_transport (L) - L20
specialize cf_convergent_old_history_length_transport (0) - L21
apply cf_convergent_old_history_length_transport - L22
exact hl_left
05Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact ht
06Establish heL24–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history zero elimination.
- L24
have he : b = 0 /\ s = 0 - L25
specialize cf_convergent_old_history_zero_elimination (a) - L26
specialize cf_convergent_old_history_zero_elimination (b) - L27
specialize cf_convergent_old_history_zero_elimination (s) - L28
specialize cf_convergent_old_history_zero_elimination (h) - L29
specialize cf_convergent_old_history_zero_elimination (e) - L30
apply cf_convergent_old_history_zero_elimination - L31
exact hz
07Separate the logical casesL32–33
08Use earlier factsL34–35
09Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hl_right
10Establish hhL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history length transport.
- L37
have hh : ContinuedFractionTrace(a,b,s,h,e,S x)Definitions: ContinuedFractionTrace - L38
specialize cf_convergent_old_history_length_transport (a) - L39
specialize cf_convergent_old_history_length_transport (b) - L40
specialize cf_convergent_old_history_length_transport (s) - L41
specialize cf_convergent_old_history_length_transport (h) - L42
specialize cf_convergent_old_history_length_transport (e) - L43
specialize cf_convergent_old_history_length_transport (L) - L44
specialize cf_convergent_old_history_length_transport (S x) - L45
apply cf_convergent_old_history_length_transport - L46
exact hl_right_witness
11Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact ht
12Establish hpL48–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent old history successor elimination.
- L48
have hp : ∃ q. ∃ r. ∃ t. a = b · q + r ∧ (Lt(r,b) ∧ (ListCell(s,q,t) ∧ ContinuedFractionTrace(b,r,t,h,e,x)))Definitions: ListCellContinuedFractionTraceLt - L49
specialize cf_convergent_old_history_successor_elimination (a) - L50
specialize cf_convergent_old_history_successor_elimination (b) - L51
specialize cf_convergent_old_history_successor_elimination (s) - L52
specialize cf_convergent_old_history_successor_elimination (h) - L53
specialize cf_convergent_old_history_successor_elimination (e) - L54
specialize cf_convergent_old_history_successor_elimination (x) - L55
apply cf_convergent_old_history_successor_elimination - L56
exact hh
13Separate the logical casesL57–62
14Construct an explicit witnessL63–66
15Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
16Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hl_right_witness
17Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
18Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hp_witness_witness_witness_left
19Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
20Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact hp_witness_witness_witness_right_left
21Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
Original exact command ledger · 75 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro h - 0005
intro e - 0006
intro L - 0007
intro ht - 0008
intro hn - 0009
have hl : L = 0 \/ exists k. L = S k - 0010
specialize zero_or_succ (L) - 0011
apply zero_or_succ - 0012
cases hl - 0013
have hz : exists cf_gcd_head_empty. ((((exists ff_h_cf_head_empty_initial_state. ff_h_cf_head_empty_initial_state + S (((cf_gcd_head_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_empty_initial_state. h = ff_q_cf_head_empty_initial_state * S ((S (0)) * e) + (((cf_gcd_head_empty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_empty) + (((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_head_empty_terminal_state. ff_h_cf_head_empty_terminal_state + S (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_empty_terminal_state. h = ff_q_cf_head_empty_terminal_state * S ((S (0)) * e) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_head_empty. (exists ff_lt_cf_head_empty_index. ff_lt_cf_head_empty_index + S cf_index_head_empty = 0) -> exists cf_old_a_head_empty cf_old_b_head_empty cf_tail_head_empty cf_new_a_head_empty cf_new_b_head_empty cf_head_head_empty cf_quotient_head_empty. ((((exists ff_h_cf_head_empty_previous_state. ff_h_cf_head_empty_previous_state + S (((cf_old_a_head_empty) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty)))) * S ((cf_old_a_head_empty) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty)))) + ((((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty))) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty))))) = S ((S (cf_index_head_empty)) * e)) /\ exists ff_q_cf_head_empty_previous_state. h = ff_q_cf_head_empty_previous_state * S ((S (cf_index_head_empty)) * e) + (((cf_old_a_head_empty) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty)))) * S ((cf_old_a_head_empty) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty)))) + ((((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty))) + (((cf_old_b_head_empty) + (cf_tail_head_empty)) * S ((cf_old_b_head_empty) + (cf_tail_head_empty)) + ((cf_tail_head_empty) + (cf_tail_head_empty))))))) /\ ((((exists ff_h_cf_head_empty_following_state. ff_h_cf_head_empty_following_state + S (((cf_new_a_head_empty) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty)))) * S ((cf_new_a_head_empty) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty)))) + ((((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty))) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty))))) = S ((S (S cf_index_head_empty)) * e)) /\ exists ff_q_cf_head_empty_following_state. h = ff_q_cf_head_empty_following_state * S ((S (S cf_index_head_empty)) * e) + (((cf_new_a_head_empty) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty)))) * S ((cf_new_a_head_empty) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty)))) + ((((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty))) + (((cf_new_b_head_empty) + (cf_head_head_empty)) * S ((cf_new_b_head_empty) + (cf_head_head_empty)) + ((cf_head_head_empty) + (cf_head_head_empty))))))) /\ (cf_new_b_head_empty = cf_old_a_head_empty /\ (cf_new_a_head_empty = cf_new_b_head_empty * cf_quotient_head_empty + cf_old_b_head_empty /\ ((exists ff_lt_cf_head_empty_remainder. ff_lt_cf_head_empty_remainder + S cf_old_b_head_empty = cf_new_b_head_empty) /\ (cf_head_head_empty = S ((cf_quotient_head_empty + cf_tail_head_empty) * S (cf_quotient_head_empty + cf_tail_head_empty) + (cf_tail_head_empty + cf_tail_head_empty)))))))))) - 0014
specialize cf_convergent_old_history_length_transport (a) - 0015
specialize cf_convergent_old_history_length_transport (b) - 0016
specialize cf_convergent_old_history_length_transport (s) - 0017
specialize cf_convergent_old_history_length_transport (h) - 0018
specialize cf_convergent_old_history_length_transport (e) - 0019
specialize cf_convergent_old_history_length_transport (L) - 0020
specialize cf_convergent_old_history_length_transport (0) - 0021
apply cf_convergent_old_history_length_transport - 0022
exact hl_left - 0023
exact ht - 0024
have he : b = 0 /\ s = 0 - 0025
specialize cf_convergent_old_history_zero_elimination (a) - 0026
specialize cf_convergent_old_history_zero_elimination (b) - 0027
specialize cf_convergent_old_history_zero_elimination (s) - 0028
specialize cf_convergent_old_history_zero_elimination (h) - 0029
specialize cf_convergent_old_history_zero_elimination (e) - 0030
apply cf_convergent_old_history_zero_elimination - 0031
exact hz - 0032
cases he - 0033
exfalso - 0034
apply hn - 0035
exact he_right - 0036
cases hl_right - 0037
have hh : exists cf_gcd_head_nonempty. ((((exists ff_h_cf_head_nonempty_initial_state. ff_h_cf_head_nonempty_initial_state + S (((cf_gcd_head_nonempty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_nonempty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_nonempty_initial_state. h = ff_q_cf_head_nonempty_initial_state * S ((S (0)) * e) + (((cf_gcd_head_nonempty) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_nonempty) + (((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_head_nonempty_terminal_state. ff_h_cf_head_nonempty_terminal_state + S (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))) = S ((S (S x)) * e)) /\ exists ff_q_cf_head_nonempty_terminal_state. h = ff_q_cf_head_nonempty_terminal_state * S ((S (S x)) * e) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_head_nonempty. (exists ff_lt_cf_head_nonempty_index. ff_lt_cf_head_nonempty_index + S cf_index_head_nonempty = S x) -> exists cf_old_a_head_nonempty cf_old_b_head_nonempty cf_tail_head_nonempty cf_new_a_head_nonempty cf_new_b_head_nonempty cf_head_head_nonempty cf_quotient_head_nonempty. ((((exists ff_h_cf_head_nonempty_previous_state. ff_h_cf_head_nonempty_previous_state + S (((cf_old_a_head_nonempty) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty)))) * S ((cf_old_a_head_nonempty) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty)))) + ((((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty))) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty))))) = S ((S (cf_index_head_nonempty)) * e)) /\ exists ff_q_cf_head_nonempty_previous_state. h = ff_q_cf_head_nonempty_previous_state * S ((S (cf_index_head_nonempty)) * e) + (((cf_old_a_head_nonempty) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty)))) * S ((cf_old_a_head_nonempty) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty)))) + ((((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty))) + (((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) * S ((cf_old_b_head_nonempty) + (cf_tail_head_nonempty)) + ((cf_tail_head_nonempty) + (cf_tail_head_nonempty))))))) /\ ((((exists ff_h_cf_head_nonempty_following_state. ff_h_cf_head_nonempty_following_state + S (((cf_new_a_head_nonempty) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty)))) * S ((cf_new_a_head_nonempty) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty)))) + ((((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty))) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty))))) = S ((S (S cf_index_head_nonempty)) * e)) /\ exists ff_q_cf_head_nonempty_following_state. h = ff_q_cf_head_nonempty_following_state * S ((S (S cf_index_head_nonempty)) * e) + (((cf_new_a_head_nonempty) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty)))) * S ((cf_new_a_head_nonempty) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty)))) + ((((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty))) + (((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) * S ((cf_new_b_head_nonempty) + (cf_head_head_nonempty)) + ((cf_head_head_nonempty) + (cf_head_head_nonempty))))))) /\ (cf_new_b_head_nonempty = cf_old_a_head_nonempty /\ (cf_new_a_head_nonempty = cf_new_b_head_nonempty * cf_quotient_head_nonempty + cf_old_b_head_nonempty /\ ((exists ff_lt_cf_head_nonempty_remainder. ff_lt_cf_head_nonempty_remainder + S cf_old_b_head_nonempty = cf_new_b_head_nonempty) /\ (cf_head_head_nonempty = S ((cf_quotient_head_nonempty + cf_tail_head_nonempty) * S (cf_quotient_head_nonempty + cf_tail_head_nonempty) + (cf_tail_head_nonempty + cf_tail_head_nonempty)))))))))) - 0038
specialize cf_convergent_old_history_length_transport (a) - 0039
specialize cf_convergent_old_history_length_transport (b) - 0040
specialize cf_convergent_old_history_length_transport (s) - 0041
specialize cf_convergent_old_history_length_transport (h) - 0042
specialize cf_convergent_old_history_length_transport (e) - 0043
specialize cf_convergent_old_history_length_transport (L) - 0044
specialize cf_convergent_old_history_length_transport (S x) - 0045
apply cf_convergent_old_history_length_transport - 0046
exact hl_right_witness - 0047
exact ht - 0048
have hp : exists q r t. ((a = b * q + r) /\ ((exists cfba_gap_head_remainder. cfba_gap_head_remainder + S (r) = (b)) /\ ((s = S ((q + t) * S (q + t) + (t + t))) /\ (exists cf_gcd_head_predecessor. ((((exists ff_h_cf_head_predecessor_initial_state. ff_h_cf_head_predecessor_initial_state + S (((cf_gcd_head_predecessor) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_predecessor) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_head_predecessor_initial_state. h = ff_q_cf_head_predecessor_initial_state * S ((S (0)) * e) + (((cf_gcd_head_predecessor) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_head_predecessor) + (((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_head_predecessor_terminal_state. ff_h_cf_head_predecessor_terminal_state + S (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))) = S ((S (x)) * e)) /\ exists ff_q_cf_head_predecessor_terminal_state. h = ff_q_cf_head_predecessor_terminal_state * S ((S (x)) * e) + (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))))) /\ forall cf_index_head_predecessor. (exists ff_lt_cf_head_predecessor_index. ff_lt_cf_head_predecessor_index + S cf_index_head_predecessor = x) -> exists cf_old_a_head_predecessor cf_old_b_head_predecessor cf_tail_head_predecessor cf_new_a_head_predecessor cf_new_b_head_predecessor cf_head_head_predecessor cf_quotient_head_predecessor. ((((exists ff_h_cf_head_predecessor_previous_state. ff_h_cf_head_predecessor_previous_state + S (((cf_old_a_head_predecessor) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor)))) * S ((cf_old_a_head_predecessor) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor)))) + ((((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor))) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor))))) = S ((S (cf_index_head_predecessor)) * e)) /\ exists ff_q_cf_head_predecessor_previous_state. h = ff_q_cf_head_predecessor_previous_state * S ((S (cf_index_head_predecessor)) * e) + (((cf_old_a_head_predecessor) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor)))) * S ((cf_old_a_head_predecessor) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor)))) + ((((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor))) + (((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) * S ((cf_old_b_head_predecessor) + (cf_tail_head_predecessor)) + ((cf_tail_head_predecessor) + (cf_tail_head_predecessor))))))) /\ ((((exists ff_h_cf_head_predecessor_following_state. ff_h_cf_head_predecessor_following_state + S (((cf_new_a_head_predecessor) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor)))) * S ((cf_new_a_head_predecessor) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor)))) + ((((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor))) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor))))) = S ((S (S cf_index_head_predecessor)) * e)) /\ exists ff_q_cf_head_predecessor_following_state. h = ff_q_cf_head_predecessor_following_state * S ((S (S cf_index_head_predecessor)) * e) + (((cf_new_a_head_predecessor) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor)))) * S ((cf_new_a_head_predecessor) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor)))) + ((((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor))) + (((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) * S ((cf_new_b_head_predecessor) + (cf_head_head_predecessor)) + ((cf_head_head_predecessor) + (cf_head_head_predecessor))))))) /\ (cf_new_b_head_predecessor = cf_old_a_head_predecessor /\ (cf_new_a_head_predecessor = cf_new_b_head_predecessor * cf_quotient_head_predecessor + cf_old_b_head_predecessor /\ ((exists ff_lt_cf_head_predecessor_remainder. ff_lt_cf_head_predecessor_remainder + S cf_old_b_head_predecessor = cf_new_b_head_predecessor) /\ (cf_head_head_predecessor = S ((cf_quotient_head_predecessor + cf_tail_head_predecessor) * S (cf_quotient_head_predecessor + cf_tail_head_predecessor) + (cf_tail_head_predecessor + cf_tail_head_predecessor)))))))))))))) - 0049
specialize cf_convergent_old_history_successor_elimination (a) - 0050
specialize cf_convergent_old_history_successor_elimination (b) - 0051
specialize cf_convergent_old_history_successor_elimination (s) - 0052
specialize cf_convergent_old_history_successor_elimination (h) - 0053
specialize cf_convergent_old_history_successor_elimination (e) - 0054
specialize cf_convergent_old_history_successor_elimination (x) - 0055
apply cf_convergent_old_history_successor_elimination - 0056
exact hh - 0057
cases hp - 0058
cases hp_witness - 0059
cases hp_witness_witness - 0060
cases hp_witness_witness_witness - 0061
cases hp_witness_witness_witness_right - 0062
cases hp_witness_witness_witness_right_right - 0063
exists x1 - 0064
exists x2 - 0065
exists x3 - 0066
exists x - 0067
split - 0068
exact hl_right_witness - 0069
split - 0070
exact hp_witness_witness_witness_left - 0071
split - 0072
exact hp_witness_witness_witness_right_left - 0073
split - 0074
exact hp_witness_witness_witness_right_right_left - 0075
exact hp_witness_witness_witness_right_right_right