BA004D

continued_fraction_convergent_exists_unique_at_history_index

Every and only valid history index has a uniquely determined actual convergent; all auxiliary finite certificates are immaterial to its value.

Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable

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

∀ i. ∀ a. ∀ b. ∀ s. ∀ h. ∀ e. ∀ L. ContinuedFractionTrace(a,b,s,h,e,L)Lt(i,L) → ∃ x. ∃ y. Convergent(s,i,x,y) ∧ (∀ z. ∀ n. Convergent(s,i,z,n) → z = x ∧ n = y)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall i a b s h e L. (exists cf_gcd_unique_history. ((((exists ff_h_cf_unique_history_initial_state. ff_h_cf_unique_history_initial_state + S (((cf_gcd_unique_history) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_unique_history) + (((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_unique_history_initial_state. h = ff_q_cf_unique_history_initial_state * S ((S (0)) * e) + (((cf_gcd_unique_history) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_unique_history) + (((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_unique_history_terminal_state. ff_h_cf_unique_history_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_unique_history_terminal_state. h = ff_q_cf_unique_history_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_unique_history. (exists ff_lt_cf_unique_history_index. ff_lt_cf_unique_history_index + S cf_index_unique_history = L) -> exists cf_old_a_unique_history cf_old_b_unique_history cf_tail_unique_history cf_new_a_unique_history cf_new_b_unique_history cf_head_unique_history cf_quotient_unique_history. ((((exists ff_h_cf_unique_history_previous_state. ff_h_cf_unique_history_previous_state + S (((cf_old_a_unique_history) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history)))) * S ((cf_old_a_unique_history) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history)))) + ((((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history))) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history))))) = S ((S (cf_index_unique_history)) * e)) /\ exists ff_q_cf_unique_history_previous_state. h = ff_q_cf_unique_history_previous_state * S ((S (cf_index_unique_history)) * e) + (((cf_old_a_unique_history) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history)))) * S ((cf_old_a_unique_history) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history)))) + ((((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history))) + (((cf_old_b_unique_history) + (cf_tail_unique_history)) * S ((cf_old_b_unique_history) + (cf_tail_unique_history)) + ((cf_tail_unique_history) + (cf_tail_unique_history))))))) /\ ((((exists ff_h_cf_unique_history_following_state. ff_h_cf_unique_history_following_state + S (((cf_new_a_unique_history) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history)))) * S ((cf_new_a_unique_history) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history)))) + ((((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history))) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history))))) = S ((S (S cf_index_unique_history)) * e)) /\ exists ff_q_cf_unique_history_following_state. h = ff_q_cf_unique_history_following_state * S ((S (S cf_index_unique_history)) * e) + (((cf_new_a_unique_history) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history)))) * S ((cf_new_a_unique_history) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history)))) + ((((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history))) + (((cf_new_b_unique_history) + (cf_head_unique_history)) * S ((cf_new_b_unique_history) + (cf_head_unique_history)) + ((cf_head_unique_history) + (cf_head_unique_history))))))) /\ (cf_new_b_unique_history = cf_old_a_unique_history /\ (cf_new_a_unique_history = cf_new_b_unique_history * cf_quotient_unique_history + cf_old_b_unique_history /\ ((exists ff_lt_cf_unique_history_remainder. ff_lt_cf_unique_history_remainder + S cf_old_b_unique_history = cf_new_b_unique_history) /\ (cf_head_unique_history = S ((cf_quotient_unique_history + cf_tail_unique_history) * S (cf_quotient_unique_history + cf_tail_unique_history) + (cf_tail_unique_history + cf_tail_unique_history))))))))))) -> (exists cfba_gap_unique_index. cfba_gap_unique_index + S (i) = (L)) -> exists u v. ((exists cfc_previous_numerator_functional_convergent_first cfc_previous_denominator_functional_convergent_first cfc_code_functional_convergent_first cfc_scale_functional_convergent_first. ((~(v = 0)) /\ (exists cfc_tail_functional_convergent_firstcomputation. ((exists cfc_state_functional_convergent_firstcomputationinitial. ((exists cfc_left_functional_convergent_firstcomputationinitialcode cfc_right_functional_convergent_firstcomputationinitialcode cfc_matrix_functional_convergent_firstcomputationinitialcode. ((cfc_left_functional_convergent_firstcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_functional_convergent_firstcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_functional_convergent_firstcomputationinitialcode = ((cfc_left_functional_convergent_firstcomputationinitialcode) + (cfc_right_functional_convergent_firstcomputationinitialcode)) * S ((cfc_left_functional_convergent_firstcomputationinitialcode) + (cfc_right_functional_convergent_firstcomputationinitialcode)) + ((cfc_right_functional_convergent_firstcomputationinitialcode) + (cfc_right_functional_convergent_firstcomputationinitialcode))) /\ ((cfc_state_functional_convergent_firstcomputationinitial) = ((cfc_tail_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationinitialcode)) * S ((cfc_tail_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationinitialcode)) + ((cfc_matrix_functional_convergent_firstcomputationinitialcode) + (cfc_matrix_functional_convergent_firstcomputationinitialcode))))))) /\ (((exists ff_h_functional_convergent_firstcomputationinitialentry. ff_h_functional_convergent_firstcomputationinitialentry + S (cfc_state_functional_convergent_firstcomputationinitial) = S ((S (0)) * cfc_scale_functional_convergent_first)) /\ exists ff_q_functional_convergent_firstcomputationinitialentry. cfc_code_functional_convergent_first = ff_q_functional_convergent_firstcomputationinitialentry * S ((S (0)) * cfc_scale_functional_convergent_first) + (cfc_state_functional_convergent_firstcomputationinitial))))) /\ ((exists cfc_state_functional_convergent_firstcomputationterminal. ((exists cfc_left_functional_convergent_firstcomputationterminalcode cfc_right_functional_convergent_firstcomputationterminalcode cfc_matrix_functional_convergent_firstcomputationterminalcode. ((cfc_left_functional_convergent_firstcomputationterminalcode = ((u) + (cfc_previous_numerator_functional_convergent_first)) * S ((u) + (cfc_previous_numerator_functional_convergent_first)) + ((cfc_previous_numerator_functional_convergent_first) + (cfc_previous_numerator_functional_convergent_first))) /\ ((cfc_right_functional_convergent_firstcomputationterminalcode = ((v) + (cfc_previous_denominator_functional_convergent_first)) * S ((v) + (cfc_previous_denominator_functional_convergent_first)) + ((cfc_previous_denominator_functional_convergent_first) + (cfc_previous_denominator_functional_convergent_first))) /\ ((cfc_matrix_functional_convergent_firstcomputationterminalcode = ((cfc_left_functional_convergent_firstcomputationterminalcode) + (cfc_right_functional_convergent_firstcomputationterminalcode)) * S ((cfc_left_functional_convergent_firstcomputationterminalcode) + (cfc_right_functional_convergent_firstcomputationterminalcode)) + ((cfc_right_functional_convergent_firstcomputationterminalcode) + (cfc_right_functional_convergent_firstcomputationterminalcode))) /\ ((cfc_state_functional_convergent_firstcomputationterminal) = ((s) + (cfc_matrix_functional_convergent_firstcomputationterminalcode)) * S ((s) + (cfc_matrix_functional_convergent_firstcomputationterminalcode)) + ((cfc_matrix_functional_convergent_firstcomputationterminalcode) + (cfc_matrix_functional_convergent_firstcomputationterminalcode))))))) /\ (((exists ff_h_functional_convergent_firstcomputationterminalentry. ff_h_functional_convergent_firstcomputationterminalentry + S (cfc_state_functional_convergent_firstcomputationterminal) = S ((S (S (i))) * cfc_scale_functional_convergent_first)) /\ exists ff_q_functional_convergent_firstcomputationterminalentry. cfc_code_functional_convergent_first = ff_q_functional_convergent_firstcomputationterminalentry * S ((S (S (i))) * cfc_scale_functional_convergent_first) + (cfc_state_functional_convergent_firstcomputationterminal))))) /\ (forall cfc_index_functional_convergent_firstcomputation. (exists cfba_gap_functional_convergent_firstcomputationbound. cfba_gap_functional_convergent_firstcomputationbound + S (cfc_index_functional_convergent_firstcomputation) = (S (i))) -> exists cfc_old_functional_convergent_firstcomputation cfc_a_functional_convergent_firstcomputation cfc_b_functional_convergent_firstcomputation cfc_c_functional_convergent_firstcomputation cfc_d_functional_convergent_firstcomputation cfc_new_functional_convergent_firstcomputation cfc_quotient_functional_convergent_firstcomputation. ((exists cfc_state_functional_convergent_firstcomputationprevious. ((exists cfc_left_functional_convergent_firstcomputationpreviouscode cfc_right_functional_convergent_firstcomputationpreviouscode cfc_matrix_functional_convergent_firstcomputationpreviouscode. ((cfc_left_functional_convergent_firstcomputationpreviouscode = ((cfc_a_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation)) * S ((cfc_a_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation)) + ((cfc_b_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation))) /\ ((cfc_right_functional_convergent_firstcomputationpreviouscode = ((cfc_c_functional_convergent_firstcomputation) + (cfc_d_functional_convergent_firstcomputation)) * S ((cfc_c_functional_convergent_firstcomputation) + (cfc_d_functional_convergent_firstcomputation)) + ((cfc_d_functional_convergent_firstcomputation) + (cfc_d_functional_convergent_firstcomputation))) /\ ((cfc_matrix_functional_convergent_firstcomputationpreviouscode = ((cfc_left_functional_convergent_firstcomputationpreviouscode) + (cfc_right_functional_convergent_firstcomputationpreviouscode)) * S ((cfc_left_functional_convergent_firstcomputationpreviouscode) + (cfc_right_functional_convergent_firstcomputationpreviouscode)) + ((cfc_right_functional_convergent_firstcomputationpreviouscode) + (cfc_right_functional_convergent_firstcomputationpreviouscode))) /\ ((cfc_state_functional_convergent_firstcomputationprevious) = ((cfc_old_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationpreviouscode)) * S ((cfc_old_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationpreviouscode)) + ((cfc_matrix_functional_convergent_firstcomputationpreviouscode) + (cfc_matrix_functional_convergent_firstcomputationpreviouscode))))))) /\ (((exists ff_h_functional_convergent_firstcomputationpreviousentry. ff_h_functional_convergent_firstcomputationpreviousentry + S (cfc_state_functional_convergent_firstcomputationprevious) = S ((S (cfc_index_functional_convergent_firstcomputation)) * cfc_scale_functional_convergent_first)) /\ exists ff_q_functional_convergent_firstcomputationpreviousentry. cfc_code_functional_convergent_first = ff_q_functional_convergent_firstcomputationpreviousentry * S ((S (cfc_index_functional_convergent_firstcomputation)) * cfc_scale_functional_convergent_first) + (cfc_state_functional_convergent_firstcomputationprevious))))) /\ ((exists cfc_state_functional_convergent_firstcomputationfollowing. ((exists cfc_left_functional_convergent_firstcomputationfollowingcode cfc_right_functional_convergent_firstcomputationfollowingcode cfc_matrix_functional_convergent_firstcomputationfollowingcode. ((cfc_left_functional_convergent_firstcomputationfollowingcode = (((cfc_quotient_functional_convergent_firstcomputation * cfc_a_functional_convergent_firstcomputation + cfc_c_functional_convergent_firstcomputation)) + ((cfc_quotient_functional_convergent_firstcomputation * cfc_b_functional_convergent_firstcomputation + cfc_d_functional_convergent_firstcomputation))) * S (((cfc_quotient_functional_convergent_firstcomputation * cfc_a_functional_convergent_firstcomputation + cfc_c_functional_convergent_firstcomputation)) + ((cfc_quotient_functional_convergent_firstcomputation * cfc_b_functional_convergent_firstcomputation + cfc_d_functional_convergent_firstcomputation))) + (((cfc_quotient_functional_convergent_firstcomputation * cfc_b_functional_convergent_firstcomputation + cfc_d_functional_convergent_firstcomputation)) + ((cfc_quotient_functional_convergent_firstcomputation * cfc_b_functional_convergent_firstcomputation + cfc_d_functional_convergent_firstcomputation)))) /\ ((cfc_right_functional_convergent_firstcomputationfollowingcode = ((cfc_a_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation)) * S ((cfc_a_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation)) + ((cfc_b_functional_convergent_firstcomputation) + (cfc_b_functional_convergent_firstcomputation))) /\ ((cfc_matrix_functional_convergent_firstcomputationfollowingcode = ((cfc_left_functional_convergent_firstcomputationfollowingcode) + (cfc_right_functional_convergent_firstcomputationfollowingcode)) * S ((cfc_left_functional_convergent_firstcomputationfollowingcode) + (cfc_right_functional_convergent_firstcomputationfollowingcode)) + ((cfc_right_functional_convergent_firstcomputationfollowingcode) + (cfc_right_functional_convergent_firstcomputationfollowingcode))) /\ ((cfc_state_functional_convergent_firstcomputationfollowing) = ((cfc_new_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationfollowingcode)) * S ((cfc_new_functional_convergent_firstcomputation) + (cfc_matrix_functional_convergent_firstcomputationfollowingcode)) + ((cfc_matrix_functional_convergent_firstcomputationfollowingcode) + (cfc_matrix_functional_convergent_firstcomputationfollowingcode))))))) /\ (((exists ff_h_functional_convergent_firstcomputationfollowingentry. ff_h_functional_convergent_firstcomputationfollowingentry + S (cfc_state_functional_convergent_firstcomputationfollowing) = S ((S (S cfc_index_functional_convergent_firstcomputation)) * cfc_scale_functional_convergent_first)) /\ exists ff_q_functional_convergent_firstcomputationfollowingentry. cfc_code_functional_convergent_first = ff_q_functional_convergent_firstcomputationfollowingentry * S ((S (S cfc_index_functional_convergent_firstcomputation)) * cfc_scale_functional_convergent_first) + (cfc_state_functional_convergent_firstcomputationfollowing))))) /\ (cfc_new_functional_convergent_firstcomputation = S ((cfc_quotient_functional_convergent_firstcomputation + cfc_old_functional_convergent_firstcomputation) * S (cfc_quotient_functional_convergent_firstcomputation + cfc_old_functional_convergent_firstcomputation) + (cfc_old_functional_convergent_firstcomputation + cfc_old_functional_convergent_firstcomputation))))))))))) /\ (forall p q. (exists cfc_previous_numerator_functional_convergent_second cfc_previous_denominator_functional_convergent_second cfc_code_functional_convergent_second cfc_scale_functional_convergent_second. ((~(q = 0)) /\ (exists cfc_tail_functional_convergent_secondcomputation. ((exists cfc_state_functional_convergent_secondcomputationinitial. ((exists cfc_left_functional_convergent_secondcomputationinitialcode cfc_right_functional_convergent_secondcomputationinitialcode cfc_matrix_functional_convergent_secondcomputationinitialcode. ((cfc_left_functional_convergent_secondcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_functional_convergent_secondcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_functional_convergent_secondcomputationinitialcode = ((cfc_left_functional_convergent_secondcomputationinitialcode) + (cfc_right_functional_convergent_secondcomputationinitialcode)) * S ((cfc_left_functional_convergent_secondcomputationinitialcode) + (cfc_right_functional_convergent_secondcomputationinitialcode)) + ((cfc_right_functional_convergent_secondcomputationinitialcode) + (cfc_right_functional_convergent_secondcomputationinitialcode))) /\ ((cfc_state_functional_convergent_secondcomputationinitial) = ((cfc_tail_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationinitialcode)) * S ((cfc_tail_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationinitialcode)) + ((cfc_matrix_functional_convergent_secondcomputationinitialcode) + (cfc_matrix_functional_convergent_secondcomputationinitialcode))))))) /\ (((exists ff_h_functional_convergent_secondcomputationinitialentry. ff_h_functional_convergent_secondcomputationinitialentry + S (cfc_state_functional_convergent_secondcomputationinitial) = S ((S (0)) * cfc_scale_functional_convergent_second)) /\ exists ff_q_functional_convergent_secondcomputationinitialentry. cfc_code_functional_convergent_second = ff_q_functional_convergent_secondcomputationinitialentry * S ((S (0)) * cfc_scale_functional_convergent_second) + (cfc_state_functional_convergent_secondcomputationinitial))))) /\ ((exists cfc_state_functional_convergent_secondcomputationterminal. ((exists cfc_left_functional_convergent_secondcomputationterminalcode cfc_right_functional_convergent_secondcomputationterminalcode cfc_matrix_functional_convergent_secondcomputationterminalcode. ((cfc_left_functional_convergent_secondcomputationterminalcode = ((p) + (cfc_previous_numerator_functional_convergent_second)) * S ((p) + (cfc_previous_numerator_functional_convergent_second)) + ((cfc_previous_numerator_functional_convergent_second) + (cfc_previous_numerator_functional_convergent_second))) /\ ((cfc_right_functional_convergent_secondcomputationterminalcode = ((q) + (cfc_previous_denominator_functional_convergent_second)) * S ((q) + (cfc_previous_denominator_functional_convergent_second)) + ((cfc_previous_denominator_functional_convergent_second) + (cfc_previous_denominator_functional_convergent_second))) /\ ((cfc_matrix_functional_convergent_secondcomputationterminalcode = ((cfc_left_functional_convergent_secondcomputationterminalcode) + (cfc_right_functional_convergent_secondcomputationterminalcode)) * S ((cfc_left_functional_convergent_secondcomputationterminalcode) + (cfc_right_functional_convergent_secondcomputationterminalcode)) + ((cfc_right_functional_convergent_secondcomputationterminalcode) + (cfc_right_functional_convergent_secondcomputationterminalcode))) /\ ((cfc_state_functional_convergent_secondcomputationterminal) = ((s) + (cfc_matrix_functional_convergent_secondcomputationterminalcode)) * S ((s) + (cfc_matrix_functional_convergent_secondcomputationterminalcode)) + ((cfc_matrix_functional_convergent_secondcomputationterminalcode) + (cfc_matrix_functional_convergent_secondcomputationterminalcode))))))) /\ (((exists ff_h_functional_convergent_secondcomputationterminalentry. ff_h_functional_convergent_secondcomputationterminalentry + S (cfc_state_functional_convergent_secondcomputationterminal) = S ((S (S (i))) * cfc_scale_functional_convergent_second)) /\ exists ff_q_functional_convergent_secondcomputationterminalentry. cfc_code_functional_convergent_second = ff_q_functional_convergent_secondcomputationterminalentry * S ((S (S (i))) * cfc_scale_functional_convergent_second) + (cfc_state_functional_convergent_secondcomputationterminal))))) /\ (forall cfc_index_functional_convergent_secondcomputation. (exists cfba_gap_functional_convergent_secondcomputationbound. cfba_gap_functional_convergent_secondcomputationbound + S (cfc_index_functional_convergent_secondcomputation) = (S (i))) -> exists cfc_old_functional_convergent_secondcomputation cfc_a_functional_convergent_secondcomputation cfc_b_functional_convergent_secondcomputation cfc_c_functional_convergent_secondcomputation cfc_d_functional_convergent_secondcomputation cfc_new_functional_convergent_secondcomputation cfc_quotient_functional_convergent_secondcomputation. ((exists cfc_state_functional_convergent_secondcomputationprevious. ((exists cfc_left_functional_convergent_secondcomputationpreviouscode cfc_right_functional_convergent_secondcomputationpreviouscode cfc_matrix_functional_convergent_secondcomputationpreviouscode. ((cfc_left_functional_convergent_secondcomputationpreviouscode = ((cfc_a_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation)) * S ((cfc_a_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation)) + ((cfc_b_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation))) /\ ((cfc_right_functional_convergent_secondcomputationpreviouscode = ((cfc_c_functional_convergent_secondcomputation) + (cfc_d_functional_convergent_secondcomputation)) * S ((cfc_c_functional_convergent_secondcomputation) + (cfc_d_functional_convergent_secondcomputation)) + ((cfc_d_functional_convergent_secondcomputation) + (cfc_d_functional_convergent_secondcomputation))) /\ ((cfc_matrix_functional_convergent_secondcomputationpreviouscode = ((cfc_left_functional_convergent_secondcomputationpreviouscode) + (cfc_right_functional_convergent_secondcomputationpreviouscode)) * S ((cfc_left_functional_convergent_secondcomputationpreviouscode) + (cfc_right_functional_convergent_secondcomputationpreviouscode)) + ((cfc_right_functional_convergent_secondcomputationpreviouscode) + (cfc_right_functional_convergent_secondcomputationpreviouscode))) /\ ((cfc_state_functional_convergent_secondcomputationprevious) = ((cfc_old_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationpreviouscode)) * S ((cfc_old_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationpreviouscode)) + ((cfc_matrix_functional_convergent_secondcomputationpreviouscode) + (cfc_matrix_functional_convergent_secondcomputationpreviouscode))))))) /\ (((exists ff_h_functional_convergent_secondcomputationpreviousentry. ff_h_functional_convergent_secondcomputationpreviousentry + S (cfc_state_functional_convergent_secondcomputationprevious) = S ((S (cfc_index_functional_convergent_secondcomputation)) * cfc_scale_functional_convergent_second)) /\ exists ff_q_functional_convergent_secondcomputationpreviousentry. cfc_code_functional_convergent_second = ff_q_functional_convergent_secondcomputationpreviousentry * S ((S (cfc_index_functional_convergent_secondcomputation)) * cfc_scale_functional_convergent_second) + (cfc_state_functional_convergent_secondcomputationprevious))))) /\ ((exists cfc_state_functional_convergent_secondcomputationfollowing. ((exists cfc_left_functional_convergent_secondcomputationfollowingcode cfc_right_functional_convergent_secondcomputationfollowingcode cfc_matrix_functional_convergent_secondcomputationfollowingcode. ((cfc_left_functional_convergent_secondcomputationfollowingcode = (((cfc_quotient_functional_convergent_secondcomputation * cfc_a_functional_convergent_secondcomputation + cfc_c_functional_convergent_secondcomputation)) + ((cfc_quotient_functional_convergent_secondcomputation * cfc_b_functional_convergent_secondcomputation + cfc_d_functional_convergent_secondcomputation))) * S (((cfc_quotient_functional_convergent_secondcomputation * cfc_a_functional_convergent_secondcomputation + cfc_c_functional_convergent_secondcomputation)) + ((cfc_quotient_functional_convergent_secondcomputation * cfc_b_functional_convergent_secondcomputation + cfc_d_functional_convergent_secondcomputation))) + (((cfc_quotient_functional_convergent_secondcomputation * cfc_b_functional_convergent_secondcomputation + cfc_d_functional_convergent_secondcomputation)) + ((cfc_quotient_functional_convergent_secondcomputation * cfc_b_functional_convergent_secondcomputation + cfc_d_functional_convergent_secondcomputation)))) /\ ((cfc_right_functional_convergent_secondcomputationfollowingcode = ((cfc_a_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation)) * S ((cfc_a_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation)) + ((cfc_b_functional_convergent_secondcomputation) + (cfc_b_functional_convergent_secondcomputation))) /\ ((cfc_matrix_functional_convergent_secondcomputationfollowingcode = ((cfc_left_functional_convergent_secondcomputationfollowingcode) + (cfc_right_functional_convergent_secondcomputationfollowingcode)) * S ((cfc_left_functional_convergent_secondcomputationfollowingcode) + (cfc_right_functional_convergent_secondcomputationfollowingcode)) + ((cfc_right_functional_convergent_secondcomputationfollowingcode) + (cfc_right_functional_convergent_secondcomputationfollowingcode))) /\ ((cfc_state_functional_convergent_secondcomputationfollowing) = ((cfc_new_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationfollowingcode)) * S ((cfc_new_functional_convergent_secondcomputation) + (cfc_matrix_functional_convergent_secondcomputationfollowingcode)) + ((cfc_matrix_functional_convergent_secondcomputationfollowingcode) + (cfc_matrix_functional_convergent_secondcomputationfollowingcode))))))) /\ (((exists ff_h_functional_convergent_secondcomputationfollowingentry. ff_h_functional_convergent_secondcomputationfollowingentry + S (cfc_state_functional_convergent_secondcomputationfollowing) = S ((S (S cfc_index_functional_convergent_secondcomputation)) * cfc_scale_functional_convergent_second)) /\ exists ff_q_functional_convergent_secondcomputationfollowingentry. cfc_code_functional_convergent_second = ff_q_functional_convergent_secondcomputationfollowingentry * S ((S (S cfc_index_functional_convergent_secondcomputation)) * cfc_scale_functional_convergent_second) + (cfc_state_functional_convergent_secondcomputationfollowing))))) /\ (cfc_new_functional_convergent_secondcomputation = S ((cfc_quotient_functional_convergent_secondcomputation + cfc_old_functional_convergent_secondcomputation) * S (cfc_quotient_functional_convergent_secondcomputation + cfc_old_functional_convergent_secondcomputation) + (cfc_old_functional_convergent_secondcomputation + cfc_old_functional_convergent_secondcomputation))))))))))) -> p = u /\ q = v))

Complete tactic proof in conservative notation

All 38 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

38 script commands · 9 reading checkpoints · 1 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.

Named ingredients (2)
01Fix variables and assumptionsL1–9

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro i
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro s
  5. L5
    intro h
  6. L6
    intro e
  7. L7
    intro L
  8. L8
    intro ht
  9. L9
    intro hi
02Establish hcL10–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply continued fraction convergent exists at history index.

  1. L10
    have hc : ∃ u. ∃ v. Convergent(s,i,u,v)Definitions: Convergent(s,i,u,v)Original native command in the exact edition
  2. L11
    specialize continued_fraction_convergent_exists_at_history_index (i)
  3. L12
    specialize continued_fraction_convergent_exists_at_history_index (a)
  4. L13
    specialize continued_fraction_convergent_exists_at_history_index (b)
  5. L14
    specialize continued_fraction_convergent_exists_at_history_index (s)
  6. L15
    specialize continued_fraction_convergent_exists_at_history_index (h)
  7. L16
    specialize continued_fraction_convergent_exists_at_history_index (e)
  8. L17
    specialize continued_fraction_convergent_exists_at_history_index (L)
  9. L18
    apply continued_fraction_convergent_exists_at_history_index
  10. L19
    exact ht
03Use earlier factsL20–20

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L20
    exact hi
04Separate the logical casesL21–22

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L21
    cases hc
  2. L22
    cases hc_witness
05Construct an explicit witnessL23–24

Supply the displayed value, then prove that it has the required property.

  1. L23
    exists x
  2. L24
    exists x1
06Separate the logical casesL25–25

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L25
    split
07Use earlier factsL26–26

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L26
    exact hc_witness_witness
08Fix variables and assumptionsL27–29

Work with arbitrary variables or the premises of the current implication.

  1. L27
    intro p
  2. L28
    intro q
  3. L29
    intro hother
09Use earlier factsL30–38

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L30
    specialize continued_fraction_convergent_functional (s)
  2. L31
    specialize continued_fraction_convergent_functional (i)
  3. L32
    specialize continued_fraction_convergent_functional (p)
  4. L33
    specialize continued_fraction_convergent_functional (q)
  5. L34
    specialize continued_fraction_convergent_functional (x)
  6. L35
    specialize continued_fraction_convergent_functional (x1)
  7. L36
    apply continued_fraction_convergent_functional
  8. L37
    exact hother
  9. L38
    exact hc_witness_witness

Library-wide reading audit

Original defined command ledger · 38 lines
  1. 0001intro i
  2. 0002intro a
  3. 0003intro b
  4. 0004intro s
  5. 0005intro h
  6. 0006intro e
  7. 0007intro L
  8. 0008intro ht
  9. 0009intro hi
  10. 0010have hc : ∃ u. ∃ v. Convergent(s,i,u,v)
  11. 0011specialize continued_fraction_convergent_exists_at_history_index (i)
  12. 0012specialize continued_fraction_convergent_exists_at_history_index (a)
  13. 0013specialize continued_fraction_convergent_exists_at_history_index (b)
  14. 0014specialize continued_fraction_convergent_exists_at_history_index (s)
  15. 0015specialize continued_fraction_convergent_exists_at_history_index (h)
  16. 0016specialize continued_fraction_convergent_exists_at_history_index (e)
  17. 0017specialize continued_fraction_convergent_exists_at_history_index (L)
  18. 0018apply continued_fraction_convergent_exists_at_history_index
  19. 0019exact ht
  20. 0020exact hi
  21. 0021cases hc
  22. 0022cases hc_witness
  23. 0023exists x
  24. 0024exists x1
  25. 0025split
  26. 0026exact hc_witness_witness
  27. 0027intro p
  28. 0028intro q
  29. 0029intro hother
  30. 0030specialize continued_fraction_convergent_functional (s)
  31. 0031specialize continued_fraction_convergent_functional (i)
  32. 0032specialize continued_fraction_convergent_functional (p)
  33. 0033specialize continued_fraction_convergent_functional (q)
  34. 0034specialize continued_fraction_convergent_functional (x)
  35. 0035specialize continued_fraction_convergent_functional (x1)
  36. 0036apply continued_fraction_convergent_functional
  37. 0037exact hother
  38. 0038exact hc_witness_witness