BA0049

continued_fraction_exact_terminal_convergent_exists

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The terminal convergent is constructively present and exact for every nonempty complete history, not merely a conditional assertion about a hypothetical endpoint.

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 k. (exists cf_gcd_terminal_exists_history. ((((exists ff_h_cf_terminal_exists_history_initial_state. ff_h_cf_terminal_exists_history_initial_state + S (((cf_gcd_terminal_exists_history) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_terminal_exists_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_terminal_exists_history_initial_state. h = ff_q_cf_terminal_exists_history_initial_state * S ((S (0)) * e) + (((cf_gcd_terminal_exists_history) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_terminal_exists_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_terminal_exists_history_terminal_state. ff_h_cf_terminal_exists_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 (S k)) * e)) /\ exists ff_q_cf_terminal_exists_history_terminal_state. h = ff_q_cf_terminal_exists_history_terminal_state * S ((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_terminal_exists_history. (exists ff_lt_cf_terminal_exists_history_index. ff_lt_cf_terminal_exists_history_index + S cf_index_terminal_exists_history = S k) -> exists cf_old_a_terminal_exists_history cf_old_b_terminal_exists_history cf_tail_terminal_exists_history cf_new_a_terminal_exists_history cf_new_b_terminal_exists_history cf_head_terminal_exists_history cf_quotient_terminal_exists_history. ((((exists ff_h_cf_terminal_exists_history_previous_state. ff_h_cf_terminal_exists_history_previous_state + S (((cf_old_a_terminal_exists_history) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history)))) * S ((cf_old_a_terminal_exists_history) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history)))) + ((((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history))) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history))))) = S ((S (cf_index_terminal_exists_history)) * e)) /\ exists ff_q_cf_terminal_exists_history_previous_state. h = ff_q_cf_terminal_exists_history_previous_state * S ((S (cf_index_terminal_exists_history)) * e) + (((cf_old_a_terminal_exists_history) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history)))) * S ((cf_old_a_terminal_exists_history) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history)))) + ((((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history))) + (((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) * S ((cf_old_b_terminal_exists_history) + (cf_tail_terminal_exists_history)) + ((cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history))))))) /\ ((((exists ff_h_cf_terminal_exists_history_following_state. ff_h_cf_terminal_exists_history_following_state + S (((cf_new_a_terminal_exists_history) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history)))) * S ((cf_new_a_terminal_exists_history) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history)))) + ((((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history))) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history))))) = S ((S (S cf_index_terminal_exists_history)) * e)) /\ exists ff_q_cf_terminal_exists_history_following_state. h = ff_q_cf_terminal_exists_history_following_state * S ((S (S cf_index_terminal_exists_history)) * e) + (((cf_new_a_terminal_exists_history) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history)))) * S ((cf_new_a_terminal_exists_history) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history)))) + ((((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history))) + (((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) * S ((cf_new_b_terminal_exists_history) + (cf_head_terminal_exists_history)) + ((cf_head_terminal_exists_history) + (cf_head_terminal_exists_history))))))) /\ (cf_new_b_terminal_exists_history = cf_old_a_terminal_exists_history /\ (cf_new_a_terminal_exists_history = cf_new_b_terminal_exists_history * cf_quotient_terminal_exists_history + cf_old_b_terminal_exists_history /\ ((exists ff_lt_cf_terminal_exists_history_remainder. ff_lt_cf_terminal_exists_history_remainder + S cf_old_b_terminal_exists_history = cf_new_b_terminal_exists_history) /\ (cf_head_terminal_exists_history = S ((cf_quotient_terminal_exists_history + cf_tail_terminal_exists_history) * S (cf_quotient_terminal_exists_history + cf_tail_terminal_exists_history) + (cf_tail_terminal_exists_history + cf_tail_terminal_exists_history))))))))))) -> exists u v. ((exists cfc_previous_numerator_terminal_convergent cfc_previous_denominator_terminal_convergent cfc_code_terminal_convergent cfc_scale_terminal_convergent. ((~(v = 0)) /\ (exists cfc_tail_terminal_convergentcomputation. ((exists cfc_state_terminal_convergentcomputationinitial. ((exists cfc_left_terminal_convergentcomputationinitialcode cfc_right_terminal_convergentcomputationinitialcode cfc_matrix_terminal_convergentcomputationinitialcode. ((cfc_left_terminal_convergentcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_terminal_convergentcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_terminal_convergentcomputationinitialcode = ((cfc_left_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode)) * S ((cfc_left_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode)) + ((cfc_right_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode))) /\ ((cfc_state_terminal_convergentcomputationinitial) = ((cfc_tail_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationinitialcode)) * S ((cfc_tail_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationinitialcode)) + ((cfc_matrix_terminal_convergentcomputationinitialcode) + (cfc_matrix_terminal_convergentcomputationinitialcode))))))) /\ (((exists ff_h_terminal_convergentcomputationinitialentry. ff_h_terminal_convergentcomputationinitialentry + S (cfc_state_terminal_convergentcomputationinitial) = S ((S (0)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationinitialentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationinitialentry * S ((S (0)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationinitial))))) /\ ((exists cfc_state_terminal_convergentcomputationterminal. ((exists cfc_left_terminal_convergentcomputationterminalcode cfc_right_terminal_convergentcomputationterminalcode cfc_matrix_terminal_convergentcomputationterminalcode. ((cfc_left_terminal_convergentcomputationterminalcode = ((u) + (cfc_previous_numerator_terminal_convergent)) * S ((u) + (cfc_previous_numerator_terminal_convergent)) + ((cfc_previous_numerator_terminal_convergent) + (cfc_previous_numerator_terminal_convergent))) /\ ((cfc_right_terminal_convergentcomputationterminalcode = ((v) + (cfc_previous_denominator_terminal_convergent)) * S ((v) + (cfc_previous_denominator_terminal_convergent)) + ((cfc_previous_denominator_terminal_convergent) + (cfc_previous_denominator_terminal_convergent))) /\ ((cfc_matrix_terminal_convergentcomputationterminalcode = ((cfc_left_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode)) * S ((cfc_left_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode)) + ((cfc_right_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode))) /\ ((cfc_state_terminal_convergentcomputationterminal) = ((s) + (cfc_matrix_terminal_convergentcomputationterminalcode)) * S ((s) + (cfc_matrix_terminal_convergentcomputationterminalcode)) + ((cfc_matrix_terminal_convergentcomputationterminalcode) + (cfc_matrix_terminal_convergentcomputationterminalcode))))))) /\ (((exists ff_h_terminal_convergentcomputationterminalentry. ff_h_terminal_convergentcomputationterminalentry + S (cfc_state_terminal_convergentcomputationterminal) = S ((S (S (k))) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationterminalentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationterminalentry * S ((S (S (k))) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationterminal))))) /\ (forall cfc_index_terminal_convergentcomputation. (exists cfba_gap_terminal_convergentcomputationbound. cfba_gap_terminal_convergentcomputationbound + S (cfc_index_terminal_convergentcomputation) = (S (k))) -> exists cfc_old_terminal_convergentcomputation cfc_a_terminal_convergentcomputation cfc_b_terminal_convergentcomputation cfc_c_terminal_convergentcomputation cfc_d_terminal_convergentcomputation cfc_new_terminal_convergentcomputation cfc_quotient_terminal_convergentcomputation. ((exists cfc_state_terminal_convergentcomputationprevious. ((exists cfc_left_terminal_convergentcomputationpreviouscode cfc_right_terminal_convergentcomputationpreviouscode cfc_matrix_terminal_convergentcomputationpreviouscode. ((cfc_left_terminal_convergentcomputationpreviouscode = ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) * S ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) + ((cfc_b_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation))) /\ ((cfc_right_terminal_convergentcomputationpreviouscode = ((cfc_c_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation)) * S ((cfc_c_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation)) + ((cfc_d_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation))) /\ ((cfc_matrix_terminal_convergentcomputationpreviouscode = ((cfc_left_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode)) * S ((cfc_left_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode)) + ((cfc_right_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode))) /\ ((cfc_state_terminal_convergentcomputationprevious) = ((cfc_old_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationpreviouscode)) * S ((cfc_old_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationpreviouscode)) + ((cfc_matrix_terminal_convergentcomputationpreviouscode) + (cfc_matrix_terminal_convergentcomputationpreviouscode))))))) /\ (((exists ff_h_terminal_convergentcomputationpreviousentry. ff_h_terminal_convergentcomputationpreviousentry + S (cfc_state_terminal_convergentcomputationprevious) = S ((S (cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationpreviousentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationpreviousentry * S ((S (cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationprevious))))) /\ ((exists cfc_state_terminal_convergentcomputationfollowing. ((exists cfc_left_terminal_convergentcomputationfollowingcode cfc_right_terminal_convergentcomputationfollowingcode cfc_matrix_terminal_convergentcomputationfollowingcode. ((cfc_left_terminal_convergentcomputationfollowingcode = (((cfc_quotient_terminal_convergentcomputation * cfc_a_terminal_convergentcomputation + cfc_c_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation))) * S (((cfc_quotient_terminal_convergentcomputation * cfc_a_terminal_convergentcomputation + cfc_c_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation))) + (((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation)))) /\ ((cfc_right_terminal_convergentcomputationfollowingcode = ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) * S ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) + ((cfc_b_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation))) /\ ((cfc_matrix_terminal_convergentcomputationfollowingcode = ((cfc_left_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode)) * S ((cfc_left_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode)) + ((cfc_right_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode))) /\ ((cfc_state_terminal_convergentcomputationfollowing) = ((cfc_new_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationfollowingcode)) * S ((cfc_new_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationfollowingcode)) + ((cfc_matrix_terminal_convergentcomputationfollowingcode) + (cfc_matrix_terminal_convergentcomputationfollowingcode))))))) /\ (((exists ff_h_terminal_convergentcomputationfollowingentry. ff_h_terminal_convergentcomputationfollowingentry + S (cfc_state_terminal_convergentcomputationfollowing) = S ((S (S cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationfollowingentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationfollowingentry * S ((S (S cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationfollowing))))) /\ (cfc_new_terminal_convergentcomputation = S ((cfc_quotient_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation) * S (cfc_quotient_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation) + (cfc_old_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation))))))))))) /\ (a * v = b * u))

Constructive proof overview

Generated structural guide

The terminal convergent is constructively present and exact for every nonempty complete history, not merely a conditional assertion about a hypothetical endpoint.

The unchanged tactic script uses 3 declared prerequisites and contains 36 exact native proof lines.

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

Proof neighborhood

Direct dependencies

Direct 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

36 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.

Named ingredients (2)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro s
  4. L4
    intro h
  5. L5
    intro e
  6. L6
    intro k
  7. L7
    intro ht
02Establish hcL8–17

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. L8
    have hc : ∃ u. ∃ v. Convergent(s,k,u,v)Definitions: Convergent
  2. L9
    specialize continued_fraction_convergent_exists_at_history_index (k)
  3. L10
    specialize continued_fraction_convergent_exists_at_history_index (a)
  4. L11
    specialize continued_fraction_convergent_exists_at_history_index (b)
  5. L12
    specialize continued_fraction_convergent_exists_at_history_index (s)
  6. L13
    specialize continued_fraction_convergent_exists_at_history_index (h)
  7. L14
    specialize continued_fraction_convergent_exists_at_history_index (e)
  8. L15
    specialize continued_fraction_convergent_exists_at_history_index (S k)
  9. L16
    apply continued_fraction_convergent_exists_at_history_index
  10. L17
    exact ht
03Construct an explicit witnessL18–18

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

  1. L18
    exists 0
04Use earlier factsL19–19

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

  1. L19
    apply zero_add
05Separate the logical casesL20–21

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

  1. L20
    cases hc
  2. L21
    cases hc_witness
06Construct an explicit witnessL22–23

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

  1. L22
    exists x
  2. L23
    exists x1
07Separate the logical casesL24–24

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

  1. L24
    split
08Use earlier factsL25–34

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

  1. L25
    exact hc_witness_witness
  2. L26
    specialize continued_fraction_terminal_convergent_is_exact (a)
  3. L27
    specialize continued_fraction_terminal_convergent_is_exact (b)
  4. L28
    specialize continued_fraction_terminal_convergent_is_exact (s)
  5. L29
    specialize continued_fraction_terminal_convergent_is_exact (h)
  6. L30
    specialize continued_fraction_terminal_convergent_is_exact (e)
  7. L31
    specialize continued_fraction_terminal_convergent_is_exact (k)
  8. L32
    specialize continued_fraction_terminal_convergent_is_exact (x)
  9. L33
    specialize continued_fraction_terminal_convergent_is_exact (x1)
  10. L34
    apply continued_fraction_terminal_convergent_is_exact
09Use earlier factsL35–36

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

  1. L35
    exact ht
  2. L36
    exact hc_witness_witness

Library-wide reading audit

Original exact command ledger · 36 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro s
  4. 0004intro h
  5. 0005intro e
  6. 0006intro k
  7. 0007intro ht
  8. 0008have hc : exists u v. exists cfc_previous_numerator_terminal_convergent cfc_previous_denominator_terminal_convergent cfc_code_terminal_convergent cfc_scale_terminal_convergent. ((~(v = 0)) /\ (exists cfc_tail_terminal_convergentcomputation. ((exists cfc_state_terminal_convergentcomputationinitial. ((exists cfc_left_terminal_convergentcomputationinitialcode cfc_right_terminal_convergentcomputationinitialcode cfc_matrix_terminal_convergentcomputationinitialcode. ((cfc_left_terminal_convergentcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_terminal_convergentcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_terminal_convergentcomputationinitialcode = ((cfc_left_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode)) * S ((cfc_left_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode)) + ((cfc_right_terminal_convergentcomputationinitialcode) + (cfc_right_terminal_convergentcomputationinitialcode))) /\ ((cfc_state_terminal_convergentcomputationinitial) = ((cfc_tail_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationinitialcode)) * S ((cfc_tail_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationinitialcode)) + ((cfc_matrix_terminal_convergentcomputationinitialcode) + (cfc_matrix_terminal_convergentcomputationinitialcode))))))) /\ (((exists ff_h_terminal_convergentcomputationinitialentry. ff_h_terminal_convergentcomputationinitialentry + S (cfc_state_terminal_convergentcomputationinitial) = S ((S (0)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationinitialentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationinitialentry * S ((S (0)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationinitial))))) /\ ((exists cfc_state_terminal_convergentcomputationterminal. ((exists cfc_left_terminal_convergentcomputationterminalcode cfc_right_terminal_convergentcomputationterminalcode cfc_matrix_terminal_convergentcomputationterminalcode. ((cfc_left_terminal_convergentcomputationterminalcode = ((u) + (cfc_previous_numerator_terminal_convergent)) * S ((u) + (cfc_previous_numerator_terminal_convergent)) + ((cfc_previous_numerator_terminal_convergent) + (cfc_previous_numerator_terminal_convergent))) /\ ((cfc_right_terminal_convergentcomputationterminalcode = ((v) + (cfc_previous_denominator_terminal_convergent)) * S ((v) + (cfc_previous_denominator_terminal_convergent)) + ((cfc_previous_denominator_terminal_convergent) + (cfc_previous_denominator_terminal_convergent))) /\ ((cfc_matrix_terminal_convergentcomputationterminalcode = ((cfc_left_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode)) * S ((cfc_left_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode)) + ((cfc_right_terminal_convergentcomputationterminalcode) + (cfc_right_terminal_convergentcomputationterminalcode))) /\ ((cfc_state_terminal_convergentcomputationterminal) = ((s) + (cfc_matrix_terminal_convergentcomputationterminalcode)) * S ((s) + (cfc_matrix_terminal_convergentcomputationterminalcode)) + ((cfc_matrix_terminal_convergentcomputationterminalcode) + (cfc_matrix_terminal_convergentcomputationterminalcode))))))) /\ (((exists ff_h_terminal_convergentcomputationterminalentry. ff_h_terminal_convergentcomputationterminalentry + S (cfc_state_terminal_convergentcomputationterminal) = S ((S (S (k))) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationterminalentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationterminalentry * S ((S (S (k))) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationterminal))))) /\ (forall cfc_index_terminal_convergentcomputation. (exists cfba_gap_terminal_convergentcomputationbound. cfba_gap_terminal_convergentcomputationbound + S (cfc_index_terminal_convergentcomputation) = (S (k))) -> exists cfc_old_terminal_convergentcomputation cfc_a_terminal_convergentcomputation cfc_b_terminal_convergentcomputation cfc_c_terminal_convergentcomputation cfc_d_terminal_convergentcomputation cfc_new_terminal_convergentcomputation cfc_quotient_terminal_convergentcomputation. ((exists cfc_state_terminal_convergentcomputationprevious. ((exists cfc_left_terminal_convergentcomputationpreviouscode cfc_right_terminal_convergentcomputationpreviouscode cfc_matrix_terminal_convergentcomputationpreviouscode. ((cfc_left_terminal_convergentcomputationpreviouscode = ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) * S ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) + ((cfc_b_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation))) /\ ((cfc_right_terminal_convergentcomputationpreviouscode = ((cfc_c_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation)) * S ((cfc_c_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation)) + ((cfc_d_terminal_convergentcomputation) + (cfc_d_terminal_convergentcomputation))) /\ ((cfc_matrix_terminal_convergentcomputationpreviouscode = ((cfc_left_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode)) * S ((cfc_left_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode)) + ((cfc_right_terminal_convergentcomputationpreviouscode) + (cfc_right_terminal_convergentcomputationpreviouscode))) /\ ((cfc_state_terminal_convergentcomputationprevious) = ((cfc_old_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationpreviouscode)) * S ((cfc_old_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationpreviouscode)) + ((cfc_matrix_terminal_convergentcomputationpreviouscode) + (cfc_matrix_terminal_convergentcomputationpreviouscode))))))) /\ (((exists ff_h_terminal_convergentcomputationpreviousentry. ff_h_terminal_convergentcomputationpreviousentry + S (cfc_state_terminal_convergentcomputationprevious) = S ((S (cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationpreviousentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationpreviousentry * S ((S (cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationprevious))))) /\ ((exists cfc_state_terminal_convergentcomputationfollowing. ((exists cfc_left_terminal_convergentcomputationfollowingcode cfc_right_terminal_convergentcomputationfollowingcode cfc_matrix_terminal_convergentcomputationfollowingcode. ((cfc_left_terminal_convergentcomputationfollowingcode = (((cfc_quotient_terminal_convergentcomputation * cfc_a_terminal_convergentcomputation + cfc_c_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation))) * S (((cfc_quotient_terminal_convergentcomputation * cfc_a_terminal_convergentcomputation + cfc_c_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation))) + (((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation)) + ((cfc_quotient_terminal_convergentcomputation * cfc_b_terminal_convergentcomputation + cfc_d_terminal_convergentcomputation)))) /\ ((cfc_right_terminal_convergentcomputationfollowingcode = ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) * S ((cfc_a_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation)) + ((cfc_b_terminal_convergentcomputation) + (cfc_b_terminal_convergentcomputation))) /\ ((cfc_matrix_terminal_convergentcomputationfollowingcode = ((cfc_left_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode)) * S ((cfc_left_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode)) + ((cfc_right_terminal_convergentcomputationfollowingcode) + (cfc_right_terminal_convergentcomputationfollowingcode))) /\ ((cfc_state_terminal_convergentcomputationfollowing) = ((cfc_new_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationfollowingcode)) * S ((cfc_new_terminal_convergentcomputation) + (cfc_matrix_terminal_convergentcomputationfollowingcode)) + ((cfc_matrix_terminal_convergentcomputationfollowingcode) + (cfc_matrix_terminal_convergentcomputationfollowingcode))))))) /\ (((exists ff_h_terminal_convergentcomputationfollowingentry. ff_h_terminal_convergentcomputationfollowingentry + S (cfc_state_terminal_convergentcomputationfollowing) = S ((S (S cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent)) /\ exists ff_q_terminal_convergentcomputationfollowingentry. cfc_code_terminal_convergent = ff_q_terminal_convergentcomputationfollowingentry * S ((S (S cfc_index_terminal_convergentcomputation)) * cfc_scale_terminal_convergent) + (cfc_state_terminal_convergentcomputationfollowing))))) /\ (cfc_new_terminal_convergentcomputation = S ((cfc_quotient_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation) * S (cfc_quotient_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation) + (cfc_old_terminal_convergentcomputation + cfc_old_terminal_convergentcomputation))))))))))
  9. 0009specialize continued_fraction_convergent_exists_at_history_index (k)
  10. 0010specialize continued_fraction_convergent_exists_at_history_index (a)
  11. 0011specialize continued_fraction_convergent_exists_at_history_index (b)
  12. 0012specialize continued_fraction_convergent_exists_at_history_index (s)
  13. 0013specialize continued_fraction_convergent_exists_at_history_index (h)
  14. 0014specialize continued_fraction_convergent_exists_at_history_index (e)
  15. 0015specialize continued_fraction_convergent_exists_at_history_index (S k)
  16. 0016apply continued_fraction_convergent_exists_at_history_index
  17. 0017exact ht
  18. 0018exists 0
  19. 0019apply zero_add
  20. 0020cases hc
  21. 0021cases hc_witness
  22. 0022exists x
  23. 0023exists x1
  24. 0024split
  25. 0025exact hc_witness_witness
  26. 0026specialize continued_fraction_terminal_convergent_is_exact (a)
  27. 0027specialize continued_fraction_terminal_convergent_is_exact (b)
  28. 0028specialize continued_fraction_terminal_convergent_is_exact (s)
  29. 0029specialize continued_fraction_terminal_convergent_is_exact (h)
  30. 0030specialize continued_fraction_terminal_convergent_is_exact (e)
  31. 0031specialize continued_fraction_terminal_convergent_is_exact (k)
  32. 0032specialize continued_fraction_terminal_convergent_is_exact (x)
  33. 0033specialize continued_fraction_terminal_convergent_is_exact (x1)
  34. 0034apply continued_fraction_terminal_convergent_is_exact
  35. 0035exact ht
  36. 0036exact hc_witness_witness