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.
The initial 0/1 convergent is included: u is natural, not necessarily positive. Comparison denominators are strictly smaller and positive. Signed competitors are represented by an arbitrary difference rp−rn. Approximation inequalities are proved from the trace, never stored as assumptions in Convergent.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ s. ∀ h. ∀ e. ∀ k. ∀ l. k = l → ContinuedFractionTrace(a,b,s,h,e,k) → ContinuedFractionTrace(a,b,s,h,e,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Original expanded first-order statement
forall a b s h e k l. k = l -> (exists cf_gcd_old_length_source. ((((exists ff_h_cf_old_length_source_initial_state. ff_h_cf_old_length_source_initial_state + S (((cf_gcd_old_length_source) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_length_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_old_length_source_initial_state. h = ff_q_cf_old_length_source_initial_state * S ((S (0)) * e) + (((cf_gcd_old_length_source) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_length_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_old_length_source_terminal_state. ff_h_cf_old_length_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 (k)) * e)) /\ exists ff_q_cf_old_length_source_terminal_state. h = ff_q_cf_old_length_source_terminal_state * S ((S (k)) * 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_old_length_source. (exists ff_lt_cf_old_length_source_index. ff_lt_cf_old_length_source_index + S cf_index_old_length_source = k) -> exists cf_old_a_old_length_source cf_old_b_old_length_source cf_tail_old_length_source cf_new_a_old_length_source cf_new_b_old_length_source cf_head_old_length_source cf_quotient_old_length_source. ((((exists ff_h_cf_old_length_source_previous_state. ff_h_cf_old_length_source_previous_state + S (((cf_old_a_old_length_source) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source)))) * S ((cf_old_a_old_length_source) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source)))) + ((((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source))) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source))))) = S ((S (cf_index_old_length_source)) * e)) /\ exists ff_q_cf_old_length_source_previous_state. h = ff_q_cf_old_length_source_previous_state * S ((S (cf_index_old_length_source)) * e) + (((cf_old_a_old_length_source) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source)))) * S ((cf_old_a_old_length_source) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source)))) + ((((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source))) + (((cf_old_b_old_length_source) + (cf_tail_old_length_source)) * S ((cf_old_b_old_length_source) + (cf_tail_old_length_source)) + ((cf_tail_old_length_source) + (cf_tail_old_length_source))))))) /\ ((((exists ff_h_cf_old_length_source_following_state. ff_h_cf_old_length_source_following_state + S (((cf_new_a_old_length_source) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source)))) * S ((cf_new_a_old_length_source) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source)))) + ((((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source))) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source))))) = S ((S (S cf_index_old_length_source)) * e)) /\ exists ff_q_cf_old_length_source_following_state. h = ff_q_cf_old_length_source_following_state * S ((S (S cf_index_old_length_source)) * e) + (((cf_new_a_old_length_source) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source)))) * S ((cf_new_a_old_length_source) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source)))) + ((((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source))) + (((cf_new_b_old_length_source) + (cf_head_old_length_source)) * S ((cf_new_b_old_length_source) + (cf_head_old_length_source)) + ((cf_head_old_length_source) + (cf_head_old_length_source))))))) /\ (cf_new_b_old_length_source = cf_old_a_old_length_source /\ (cf_new_a_old_length_source = cf_new_b_old_length_source * cf_quotient_old_length_source + cf_old_b_old_length_source /\ ((exists ff_lt_cf_old_length_source_remainder. ff_lt_cf_old_length_source_remainder + S cf_old_b_old_length_source = cf_new_b_old_length_source) /\ (cf_head_old_length_source = S ((cf_quotient_old_length_source + cf_tail_old_length_source) * S (cf_quotient_old_length_source + cf_tail_old_length_source) + (cf_tail_old_length_source + cf_tail_old_length_source))))))))))) -> (exists cf_gcd_old_length_target. ((((exists ff_h_cf_old_length_target_initial_state. ff_h_cf_old_length_target_initial_state + S (((cf_gcd_old_length_target) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_length_target) + (((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_old_length_target_initial_state. h = ff_q_cf_old_length_target_initial_state * S ((S (0)) * e) + (((cf_gcd_old_length_target) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old_length_target) + (((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_old_length_target_terminal_state. ff_h_cf_old_length_target_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_old_length_target_terminal_state. h = ff_q_cf_old_length_target_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_old_length_target. (exists ff_lt_cf_old_length_target_index. ff_lt_cf_old_length_target_index + S cf_index_old_length_target = l) -> exists cf_old_a_old_length_target cf_old_b_old_length_target cf_tail_old_length_target cf_new_a_old_length_target cf_new_b_old_length_target cf_head_old_length_target cf_quotient_old_length_target. ((((exists ff_h_cf_old_length_target_previous_state. ff_h_cf_old_length_target_previous_state + S (((cf_old_a_old_length_target) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target)))) * S ((cf_old_a_old_length_target) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target)))) + ((((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target))) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target))))) = S ((S (cf_index_old_length_target)) * e)) /\ exists ff_q_cf_old_length_target_previous_state. h = ff_q_cf_old_length_target_previous_state * S ((S (cf_index_old_length_target)) * e) + (((cf_old_a_old_length_target) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target)))) * S ((cf_old_a_old_length_target) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target)))) + ((((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target))) + (((cf_old_b_old_length_target) + (cf_tail_old_length_target)) * S ((cf_old_b_old_length_target) + (cf_tail_old_length_target)) + ((cf_tail_old_length_target) + (cf_tail_old_length_target))))))) /\ ((((exists ff_h_cf_old_length_target_following_state. ff_h_cf_old_length_target_following_state + S (((cf_new_a_old_length_target) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target)))) * S ((cf_new_a_old_length_target) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target)))) + ((((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target))) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target))))) = S ((S (S cf_index_old_length_target)) * e)) /\ exists ff_q_cf_old_length_target_following_state. h = ff_q_cf_old_length_target_following_state * S ((S (S cf_index_old_length_target)) * e) + (((cf_new_a_old_length_target) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target)))) * S ((cf_new_a_old_length_target) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target)))) + ((((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target))) + (((cf_new_b_old_length_target) + (cf_head_old_length_target)) * S ((cf_new_b_old_length_target) + (cf_head_old_length_target)) + ((cf_head_old_length_target) + (cf_head_old_length_target))))))) /\ (cf_new_b_old_length_target = cf_old_a_old_length_target /\ (cf_new_a_old_length_target = cf_new_b_old_length_target * cf_quotient_old_length_target + cf_old_b_old_length_target /\ ((exists ff_lt_cf_old_length_target_remainder. ff_lt_cf_old_length_target_remainder + S cf_old_b_old_length_target = cf_new_b_old_length_target) /\ (cf_head_old_length_target = S ((cf_quotient_old_length_target + cf_tail_old_length_target) * S (cf_quotient_old_length_target + cf_tail_old_length_target) + (cf_tail_old_length_target + cf_tail_old_length_target)))))))))))Complete tactic proof in conservative notation
All 13 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
Read the argument
Proof checkpoints
13 script commands · 3 reading checkpoints · 0 local claims
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.
Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.
01Fix variables and assumptionsL1–9
02Calculate and transport equalitiesL10–12
03Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
exact ht