BA004A

continued_fraction_has_exact_terminal_convergent

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

Every actual G071 positive rational has an explicitly constructed exact terminal convergent in the same indexed quotient-list relation.

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. (exists cf_a_pred_zero_initial_fraction cf_b_pred_zero_initial_fraction cf_code_zero_initial_fraction cf_scale_zero_initial_fraction cf_length_pred_zero_initial_fraction. (a = S cf_a_pred_zero_initial_fraction /\ (b = S cf_b_pred_zero_initial_fraction /\ (exists cf_gcd_zero_initial_fraction_trace. ((((exists ff_h_cf_zero_initial_fraction_trace_initial_state. ff_h_cf_zero_initial_fraction_trace_initial_state + S (((cf_gcd_zero_initial_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_zero_initial_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * cf_scale_zero_initial_fraction)) /\ exists ff_q_cf_zero_initial_fraction_trace_initial_state. cf_code_zero_initial_fraction = ff_q_cf_zero_initial_fraction_trace_initial_state * S ((S (0)) * cf_scale_zero_initial_fraction) + (((cf_gcd_zero_initial_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_zero_initial_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))))) /\ ((((exists ff_h_cf_zero_initial_fraction_trace_terminal_state. ff_h_cf_zero_initial_fraction_trace_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 cf_length_pred_zero_initial_fraction)) * cf_scale_zero_initial_fraction)) /\ exists ff_q_cf_zero_initial_fraction_trace_terminal_state. cf_code_zero_initial_fraction = ff_q_cf_zero_initial_fraction_trace_terminal_state * S ((S (S cf_length_pred_zero_initial_fraction)) * cf_scale_zero_initial_fraction) + (((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_zero_initial_fraction_trace. (exists ff_lt_cf_zero_initial_fraction_trace_index. ff_lt_cf_zero_initial_fraction_trace_index + S cf_index_zero_initial_fraction_trace = S cf_length_pred_zero_initial_fraction) -> exists cf_old_a_zero_initial_fraction_trace cf_old_b_zero_initial_fraction_trace cf_tail_zero_initial_fraction_trace cf_new_a_zero_initial_fraction_trace cf_new_b_zero_initial_fraction_trace cf_head_zero_initial_fraction_trace cf_quotient_zero_initial_fraction_trace. ((((exists ff_h_cf_zero_initial_fraction_trace_previous_state. ff_h_cf_zero_initial_fraction_trace_previous_state + S (((cf_old_a_zero_initial_fraction_trace) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)))) * S ((cf_old_a_zero_initial_fraction_trace) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)))) + ((((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace))) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace))))) = S ((S (cf_index_zero_initial_fraction_trace)) * cf_scale_zero_initial_fraction)) /\ exists ff_q_cf_zero_initial_fraction_trace_previous_state. cf_code_zero_initial_fraction = ff_q_cf_zero_initial_fraction_trace_previous_state * S ((S (cf_index_zero_initial_fraction_trace)) * cf_scale_zero_initial_fraction) + (((cf_old_a_zero_initial_fraction_trace) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)))) * S ((cf_old_a_zero_initial_fraction_trace) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)))) + ((((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace))) + (((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) * S ((cf_old_b_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace)) + ((cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace))))))) /\ ((((exists ff_h_cf_zero_initial_fraction_trace_following_state. ff_h_cf_zero_initial_fraction_trace_following_state + S (((cf_new_a_zero_initial_fraction_trace) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)))) * S ((cf_new_a_zero_initial_fraction_trace) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)))) + ((((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace))) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace))))) = S ((S (S cf_index_zero_initial_fraction_trace)) * cf_scale_zero_initial_fraction)) /\ exists ff_q_cf_zero_initial_fraction_trace_following_state. cf_code_zero_initial_fraction = ff_q_cf_zero_initial_fraction_trace_following_state * S ((S (S cf_index_zero_initial_fraction_trace)) * cf_scale_zero_initial_fraction) + (((cf_new_a_zero_initial_fraction_trace) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)))) * S ((cf_new_a_zero_initial_fraction_trace) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)))) + ((((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace))) + (((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) * S ((cf_new_b_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace)) + ((cf_head_zero_initial_fraction_trace) + (cf_head_zero_initial_fraction_trace))))))) /\ (cf_new_b_zero_initial_fraction_trace = cf_old_a_zero_initial_fraction_trace /\ (cf_new_a_zero_initial_fraction_trace = cf_new_b_zero_initial_fraction_trace * cf_quotient_zero_initial_fraction_trace + cf_old_b_zero_initial_fraction_trace /\ ((exists ff_lt_cf_zero_initial_fraction_trace_remainder. ff_lt_cf_zero_initial_fraction_trace_remainder + S cf_old_b_zero_initial_fraction_trace = cf_new_b_zero_initial_fraction_trace) /\ (cf_head_zero_initial_fraction_trace = S ((cf_quotient_zero_initial_fraction_trace + cf_tail_zero_initial_fraction_trace) * S (cf_quotient_zero_initial_fraction_trace + cf_tail_zero_initial_fraction_trace) + (cf_tail_zero_initial_fraction_trace + cf_tail_zero_initial_fraction_trace)))))))))))))) -> exists i u v. ((exists cfc_previous_numerator_public_terminal cfc_previous_denominator_public_terminal cfc_code_public_terminal cfc_scale_public_terminal. ((~(v = 0)) /\ (exists cfc_tail_public_terminalcomputation. ((exists cfc_state_public_terminalcomputationinitial. ((exists cfc_left_public_terminalcomputationinitialcode cfc_right_public_terminalcomputationinitialcode cfc_matrix_public_terminalcomputationinitialcode. ((cfc_left_public_terminalcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_public_terminalcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_public_terminalcomputationinitialcode = ((cfc_left_public_terminalcomputationinitialcode) + (cfc_right_public_terminalcomputationinitialcode)) * S ((cfc_left_public_terminalcomputationinitialcode) + (cfc_right_public_terminalcomputationinitialcode)) + ((cfc_right_public_terminalcomputationinitialcode) + (cfc_right_public_terminalcomputationinitialcode))) /\ ((cfc_state_public_terminalcomputationinitial) = ((cfc_tail_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationinitialcode)) * S ((cfc_tail_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationinitialcode)) + ((cfc_matrix_public_terminalcomputationinitialcode) + (cfc_matrix_public_terminalcomputationinitialcode))))))) /\ (((exists ff_h_public_terminalcomputationinitialentry. ff_h_public_terminalcomputationinitialentry + S (cfc_state_public_terminalcomputationinitial) = S ((S (0)) * cfc_scale_public_terminal)) /\ exists ff_q_public_terminalcomputationinitialentry. cfc_code_public_terminal = ff_q_public_terminalcomputationinitialentry * S ((S (0)) * cfc_scale_public_terminal) + (cfc_state_public_terminalcomputationinitial))))) /\ ((exists cfc_state_public_terminalcomputationterminal. ((exists cfc_left_public_terminalcomputationterminalcode cfc_right_public_terminalcomputationterminalcode cfc_matrix_public_terminalcomputationterminalcode. ((cfc_left_public_terminalcomputationterminalcode = ((u) + (cfc_previous_numerator_public_terminal)) * S ((u) + (cfc_previous_numerator_public_terminal)) + ((cfc_previous_numerator_public_terminal) + (cfc_previous_numerator_public_terminal))) /\ ((cfc_right_public_terminalcomputationterminalcode = ((v) + (cfc_previous_denominator_public_terminal)) * S ((v) + (cfc_previous_denominator_public_terminal)) + ((cfc_previous_denominator_public_terminal) + (cfc_previous_denominator_public_terminal))) /\ ((cfc_matrix_public_terminalcomputationterminalcode = ((cfc_left_public_terminalcomputationterminalcode) + (cfc_right_public_terminalcomputationterminalcode)) * S ((cfc_left_public_terminalcomputationterminalcode) + (cfc_right_public_terminalcomputationterminalcode)) + ((cfc_right_public_terminalcomputationterminalcode) + (cfc_right_public_terminalcomputationterminalcode))) /\ ((cfc_state_public_terminalcomputationterminal) = ((s) + (cfc_matrix_public_terminalcomputationterminalcode)) * S ((s) + (cfc_matrix_public_terminalcomputationterminalcode)) + ((cfc_matrix_public_terminalcomputationterminalcode) + (cfc_matrix_public_terminalcomputationterminalcode))))))) /\ (((exists ff_h_public_terminalcomputationterminalentry. ff_h_public_terminalcomputationterminalentry + S (cfc_state_public_terminalcomputationterminal) = S ((S (S (i))) * cfc_scale_public_terminal)) /\ exists ff_q_public_terminalcomputationterminalentry. cfc_code_public_terminal = ff_q_public_terminalcomputationterminalentry * S ((S (S (i))) * cfc_scale_public_terminal) + (cfc_state_public_terminalcomputationterminal))))) /\ (forall cfc_index_public_terminalcomputation. (exists cfba_gap_public_terminalcomputationbound. cfba_gap_public_terminalcomputationbound + S (cfc_index_public_terminalcomputation) = (S (i))) -> exists cfc_old_public_terminalcomputation cfc_a_public_terminalcomputation cfc_b_public_terminalcomputation cfc_c_public_terminalcomputation cfc_d_public_terminalcomputation cfc_new_public_terminalcomputation cfc_quotient_public_terminalcomputation. ((exists cfc_state_public_terminalcomputationprevious. ((exists cfc_left_public_terminalcomputationpreviouscode cfc_right_public_terminalcomputationpreviouscode cfc_matrix_public_terminalcomputationpreviouscode. ((cfc_left_public_terminalcomputationpreviouscode = ((cfc_a_public_terminalcomputation) + (cfc_b_public_terminalcomputation)) * S ((cfc_a_public_terminalcomputation) + (cfc_b_public_terminalcomputation)) + ((cfc_b_public_terminalcomputation) + (cfc_b_public_terminalcomputation))) /\ ((cfc_right_public_terminalcomputationpreviouscode = ((cfc_c_public_terminalcomputation) + (cfc_d_public_terminalcomputation)) * S ((cfc_c_public_terminalcomputation) + (cfc_d_public_terminalcomputation)) + ((cfc_d_public_terminalcomputation) + (cfc_d_public_terminalcomputation))) /\ ((cfc_matrix_public_terminalcomputationpreviouscode = ((cfc_left_public_terminalcomputationpreviouscode) + (cfc_right_public_terminalcomputationpreviouscode)) * S ((cfc_left_public_terminalcomputationpreviouscode) + (cfc_right_public_terminalcomputationpreviouscode)) + ((cfc_right_public_terminalcomputationpreviouscode) + (cfc_right_public_terminalcomputationpreviouscode))) /\ ((cfc_state_public_terminalcomputationprevious) = ((cfc_old_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationpreviouscode)) * S ((cfc_old_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationpreviouscode)) + ((cfc_matrix_public_terminalcomputationpreviouscode) + (cfc_matrix_public_terminalcomputationpreviouscode))))))) /\ (((exists ff_h_public_terminalcomputationpreviousentry. ff_h_public_terminalcomputationpreviousentry + S (cfc_state_public_terminalcomputationprevious) = S ((S (cfc_index_public_terminalcomputation)) * cfc_scale_public_terminal)) /\ exists ff_q_public_terminalcomputationpreviousentry. cfc_code_public_terminal = ff_q_public_terminalcomputationpreviousentry * S ((S (cfc_index_public_terminalcomputation)) * cfc_scale_public_terminal) + (cfc_state_public_terminalcomputationprevious))))) /\ ((exists cfc_state_public_terminalcomputationfollowing. ((exists cfc_left_public_terminalcomputationfollowingcode cfc_right_public_terminalcomputationfollowingcode cfc_matrix_public_terminalcomputationfollowingcode. ((cfc_left_public_terminalcomputationfollowingcode = (((cfc_quotient_public_terminalcomputation * cfc_a_public_terminalcomputation + cfc_c_public_terminalcomputation)) + ((cfc_quotient_public_terminalcomputation * cfc_b_public_terminalcomputation + cfc_d_public_terminalcomputation))) * S (((cfc_quotient_public_terminalcomputation * cfc_a_public_terminalcomputation + cfc_c_public_terminalcomputation)) + ((cfc_quotient_public_terminalcomputation * cfc_b_public_terminalcomputation + cfc_d_public_terminalcomputation))) + (((cfc_quotient_public_terminalcomputation * cfc_b_public_terminalcomputation + cfc_d_public_terminalcomputation)) + ((cfc_quotient_public_terminalcomputation * cfc_b_public_terminalcomputation + cfc_d_public_terminalcomputation)))) /\ ((cfc_right_public_terminalcomputationfollowingcode = ((cfc_a_public_terminalcomputation) + (cfc_b_public_terminalcomputation)) * S ((cfc_a_public_terminalcomputation) + (cfc_b_public_terminalcomputation)) + ((cfc_b_public_terminalcomputation) + (cfc_b_public_terminalcomputation))) /\ ((cfc_matrix_public_terminalcomputationfollowingcode = ((cfc_left_public_terminalcomputationfollowingcode) + (cfc_right_public_terminalcomputationfollowingcode)) * S ((cfc_left_public_terminalcomputationfollowingcode) + (cfc_right_public_terminalcomputationfollowingcode)) + ((cfc_right_public_terminalcomputationfollowingcode) + (cfc_right_public_terminalcomputationfollowingcode))) /\ ((cfc_state_public_terminalcomputationfollowing) = ((cfc_new_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationfollowingcode)) * S ((cfc_new_public_terminalcomputation) + (cfc_matrix_public_terminalcomputationfollowingcode)) + ((cfc_matrix_public_terminalcomputationfollowingcode) + (cfc_matrix_public_terminalcomputationfollowingcode))))))) /\ (((exists ff_h_public_terminalcomputationfollowingentry. ff_h_public_terminalcomputationfollowingentry + S (cfc_state_public_terminalcomputationfollowing) = S ((S (S cfc_index_public_terminalcomputation)) * cfc_scale_public_terminal)) /\ exists ff_q_public_terminalcomputationfollowingentry. cfc_code_public_terminal = ff_q_public_terminalcomputationfollowingentry * S ((S (S cfc_index_public_terminalcomputation)) * cfc_scale_public_terminal) + (cfc_state_public_terminalcomputationfollowing))))) /\ (cfc_new_public_terminalcomputation = S ((cfc_quotient_public_terminalcomputation + cfc_old_public_terminalcomputation) * S (cfc_quotient_public_terminalcomputation + cfc_old_public_terminalcomputation) + (cfc_old_public_terminalcomputation + cfc_old_public_terminalcomputation))))))))))) /\ (a * v = b * u))

Constructive proof overview

Generated structural guide

Every actual G071 positive rational has an explicitly constructed exact terminal convergent in the same indexed quotient-list relation.

The unchanged tactic script uses 1 declared prerequisite and contains 26 exact native proof lines.

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

Proof neighborhood

Direct dependencies

Direct dependents

none

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

26 script commands · 6 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 (1)

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–4

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 hcf
02Separate the logical casesL5–11

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

  1. L5
    cases hcf
  2. L6
    cases hcf_witness
  3. L7
    cases hcf_witness_witness
  4. L8
    cases hcf_witness_witness_witness
  5. L9
    cases hcf_witness_witness_witness_witness
  6. L10
    cases hcf_witness_witness_witness_witness_witness
  7. L11
    cases hcf_witness_witness_witness_witness_witness_right
03Establish htL12–20

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

  1. L12
    have ht : ∃ u. ∃ v. Convergent(s,x4,u,v) ∧ a · v = b · uDefinitions: Convergent
  2. L13
    specialize continued_fraction_exact_terminal_convergent_exists (a)
  3. L14
    specialize continued_fraction_exact_terminal_convergent_exists (b)
  4. L15
    specialize continued_fraction_exact_terminal_convergent_exists (s)
  5. L16
    specialize continued_fraction_exact_terminal_convergent_exists (x2)
  6. L17
    specialize continued_fraction_exact_terminal_convergent_exists (x3)
  7. L18
    specialize continued_fraction_exact_terminal_convergent_exists (x4)
  8. L19
    apply continued_fraction_exact_terminal_convergent_exists
  9. L20
    exact hcf_witness_witness_witness_witness_witness_right_right
04Separate the logical casesL21–22

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

  1. L21
    cases ht
  2. L22
    cases ht_witness
05Construct an explicit witnessL23–25

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

  1. L23
    exists x4
  2. L24
    exists x5
  3. L25
    exists x6
06Use earlier factsL26–26

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

  1. L26
    exact ht_witness_witness

Library-wide reading audit

Original exact command ledger · 26 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro s
  4. 0004intro hcf
  5. 0005cases hcf
  6. 0006cases hcf_witness
  7. 0007cases hcf_witness_witness
  8. 0008cases hcf_witness_witness_witness
  9. 0009cases hcf_witness_witness_witness_witness
  10. 0010cases hcf_witness_witness_witness_witness_witness
  11. 0011cases hcf_witness_witness_witness_witness_witness_right
  12. 0012have ht : exists u v. ((exists cfc_previous_numerator_public_terminal_chosen cfc_previous_denominator_public_terminal_chosen cfc_code_public_terminal_chosen cfc_scale_public_terminal_chosen. ((~(v = 0)) /\ (exists cfc_tail_public_terminal_chosencomputation. ((exists cfc_state_public_terminal_chosencomputationinitial. ((exists cfc_left_public_terminal_chosencomputationinitialcode cfc_right_public_terminal_chosencomputationinitialcode cfc_matrix_public_terminal_chosencomputationinitialcode. ((cfc_left_public_terminal_chosencomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_public_terminal_chosencomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_public_terminal_chosencomputationinitialcode = ((cfc_left_public_terminal_chosencomputationinitialcode) + (cfc_right_public_terminal_chosencomputationinitialcode)) * S ((cfc_left_public_terminal_chosencomputationinitialcode) + (cfc_right_public_terminal_chosencomputationinitialcode)) + ((cfc_right_public_terminal_chosencomputationinitialcode) + (cfc_right_public_terminal_chosencomputationinitialcode))) /\ ((cfc_state_public_terminal_chosencomputationinitial) = ((cfc_tail_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationinitialcode)) * S ((cfc_tail_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationinitialcode)) + ((cfc_matrix_public_terminal_chosencomputationinitialcode) + (cfc_matrix_public_terminal_chosencomputationinitialcode))))))) /\ (((exists ff_h_public_terminal_chosencomputationinitialentry. ff_h_public_terminal_chosencomputationinitialentry + S (cfc_state_public_terminal_chosencomputationinitial) = S ((S (0)) * cfc_scale_public_terminal_chosen)) /\ exists ff_q_public_terminal_chosencomputationinitialentry. cfc_code_public_terminal_chosen = ff_q_public_terminal_chosencomputationinitialentry * S ((S (0)) * cfc_scale_public_terminal_chosen) + (cfc_state_public_terminal_chosencomputationinitial))))) /\ ((exists cfc_state_public_terminal_chosencomputationterminal. ((exists cfc_left_public_terminal_chosencomputationterminalcode cfc_right_public_terminal_chosencomputationterminalcode cfc_matrix_public_terminal_chosencomputationterminalcode. ((cfc_left_public_terminal_chosencomputationterminalcode = ((u) + (cfc_previous_numerator_public_terminal_chosen)) * S ((u) + (cfc_previous_numerator_public_terminal_chosen)) + ((cfc_previous_numerator_public_terminal_chosen) + (cfc_previous_numerator_public_terminal_chosen))) /\ ((cfc_right_public_terminal_chosencomputationterminalcode = ((v) + (cfc_previous_denominator_public_terminal_chosen)) * S ((v) + (cfc_previous_denominator_public_terminal_chosen)) + ((cfc_previous_denominator_public_terminal_chosen) + (cfc_previous_denominator_public_terminal_chosen))) /\ ((cfc_matrix_public_terminal_chosencomputationterminalcode = ((cfc_left_public_terminal_chosencomputationterminalcode) + (cfc_right_public_terminal_chosencomputationterminalcode)) * S ((cfc_left_public_terminal_chosencomputationterminalcode) + (cfc_right_public_terminal_chosencomputationterminalcode)) + ((cfc_right_public_terminal_chosencomputationterminalcode) + (cfc_right_public_terminal_chosencomputationterminalcode))) /\ ((cfc_state_public_terminal_chosencomputationterminal) = ((s) + (cfc_matrix_public_terminal_chosencomputationterminalcode)) * S ((s) + (cfc_matrix_public_terminal_chosencomputationterminalcode)) + ((cfc_matrix_public_terminal_chosencomputationterminalcode) + (cfc_matrix_public_terminal_chosencomputationterminalcode))))))) /\ (((exists ff_h_public_terminal_chosencomputationterminalentry. ff_h_public_terminal_chosencomputationterminalentry + S (cfc_state_public_terminal_chosencomputationterminal) = S ((S (S (x4))) * cfc_scale_public_terminal_chosen)) /\ exists ff_q_public_terminal_chosencomputationterminalentry. cfc_code_public_terminal_chosen = ff_q_public_terminal_chosencomputationterminalentry * S ((S (S (x4))) * cfc_scale_public_terminal_chosen) + (cfc_state_public_terminal_chosencomputationterminal))))) /\ (forall cfc_index_public_terminal_chosencomputation. (exists cfba_gap_public_terminal_chosencomputationbound. cfba_gap_public_terminal_chosencomputationbound + S (cfc_index_public_terminal_chosencomputation) = (S (x4))) -> exists cfc_old_public_terminal_chosencomputation cfc_a_public_terminal_chosencomputation cfc_b_public_terminal_chosencomputation cfc_c_public_terminal_chosencomputation cfc_d_public_terminal_chosencomputation cfc_new_public_terminal_chosencomputation cfc_quotient_public_terminal_chosencomputation. ((exists cfc_state_public_terminal_chosencomputationprevious. ((exists cfc_left_public_terminal_chosencomputationpreviouscode cfc_right_public_terminal_chosencomputationpreviouscode cfc_matrix_public_terminal_chosencomputationpreviouscode. ((cfc_left_public_terminal_chosencomputationpreviouscode = ((cfc_a_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation)) * S ((cfc_a_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation)) + ((cfc_b_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation))) /\ ((cfc_right_public_terminal_chosencomputationpreviouscode = ((cfc_c_public_terminal_chosencomputation) + (cfc_d_public_terminal_chosencomputation)) * S ((cfc_c_public_terminal_chosencomputation) + (cfc_d_public_terminal_chosencomputation)) + ((cfc_d_public_terminal_chosencomputation) + (cfc_d_public_terminal_chosencomputation))) /\ ((cfc_matrix_public_terminal_chosencomputationpreviouscode = ((cfc_left_public_terminal_chosencomputationpreviouscode) + (cfc_right_public_terminal_chosencomputationpreviouscode)) * S ((cfc_left_public_terminal_chosencomputationpreviouscode) + (cfc_right_public_terminal_chosencomputationpreviouscode)) + ((cfc_right_public_terminal_chosencomputationpreviouscode) + (cfc_right_public_terminal_chosencomputationpreviouscode))) /\ ((cfc_state_public_terminal_chosencomputationprevious) = ((cfc_old_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationpreviouscode)) * S ((cfc_old_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationpreviouscode)) + ((cfc_matrix_public_terminal_chosencomputationpreviouscode) + (cfc_matrix_public_terminal_chosencomputationpreviouscode))))))) /\ (((exists ff_h_public_terminal_chosencomputationpreviousentry. ff_h_public_terminal_chosencomputationpreviousentry + S (cfc_state_public_terminal_chosencomputationprevious) = S ((S (cfc_index_public_terminal_chosencomputation)) * cfc_scale_public_terminal_chosen)) /\ exists ff_q_public_terminal_chosencomputationpreviousentry. cfc_code_public_terminal_chosen = ff_q_public_terminal_chosencomputationpreviousentry * S ((S (cfc_index_public_terminal_chosencomputation)) * cfc_scale_public_terminal_chosen) + (cfc_state_public_terminal_chosencomputationprevious))))) /\ ((exists cfc_state_public_terminal_chosencomputationfollowing. ((exists cfc_left_public_terminal_chosencomputationfollowingcode cfc_right_public_terminal_chosencomputationfollowingcode cfc_matrix_public_terminal_chosencomputationfollowingcode. ((cfc_left_public_terminal_chosencomputationfollowingcode = (((cfc_quotient_public_terminal_chosencomputation * cfc_a_public_terminal_chosencomputation + cfc_c_public_terminal_chosencomputation)) + ((cfc_quotient_public_terminal_chosencomputation * cfc_b_public_terminal_chosencomputation + cfc_d_public_terminal_chosencomputation))) * S (((cfc_quotient_public_terminal_chosencomputation * cfc_a_public_terminal_chosencomputation + cfc_c_public_terminal_chosencomputation)) + ((cfc_quotient_public_terminal_chosencomputation * cfc_b_public_terminal_chosencomputation + cfc_d_public_terminal_chosencomputation))) + (((cfc_quotient_public_terminal_chosencomputation * cfc_b_public_terminal_chosencomputation + cfc_d_public_terminal_chosencomputation)) + ((cfc_quotient_public_terminal_chosencomputation * cfc_b_public_terminal_chosencomputation + cfc_d_public_terminal_chosencomputation)))) /\ ((cfc_right_public_terminal_chosencomputationfollowingcode = ((cfc_a_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation)) * S ((cfc_a_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation)) + ((cfc_b_public_terminal_chosencomputation) + (cfc_b_public_terminal_chosencomputation))) /\ ((cfc_matrix_public_terminal_chosencomputationfollowingcode = ((cfc_left_public_terminal_chosencomputationfollowingcode) + (cfc_right_public_terminal_chosencomputationfollowingcode)) * S ((cfc_left_public_terminal_chosencomputationfollowingcode) + (cfc_right_public_terminal_chosencomputationfollowingcode)) + ((cfc_right_public_terminal_chosencomputationfollowingcode) + (cfc_right_public_terminal_chosencomputationfollowingcode))) /\ ((cfc_state_public_terminal_chosencomputationfollowing) = ((cfc_new_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationfollowingcode)) * S ((cfc_new_public_terminal_chosencomputation) + (cfc_matrix_public_terminal_chosencomputationfollowingcode)) + ((cfc_matrix_public_terminal_chosencomputationfollowingcode) + (cfc_matrix_public_terminal_chosencomputationfollowingcode))))))) /\ (((exists ff_h_public_terminal_chosencomputationfollowingentry. ff_h_public_terminal_chosencomputationfollowingentry + S (cfc_state_public_terminal_chosencomputationfollowing) = S ((S (S cfc_index_public_terminal_chosencomputation)) * cfc_scale_public_terminal_chosen)) /\ exists ff_q_public_terminal_chosencomputationfollowingentry. cfc_code_public_terminal_chosen = ff_q_public_terminal_chosencomputationfollowingentry * S ((S (S cfc_index_public_terminal_chosencomputation)) * cfc_scale_public_terminal_chosen) + (cfc_state_public_terminal_chosencomputationfollowing))))) /\ (cfc_new_public_terminal_chosencomputation = S ((cfc_quotient_public_terminal_chosencomputation + cfc_old_public_terminal_chosencomputation) * S (cfc_quotient_public_terminal_chosencomputation + cfc_old_public_terminal_chosencomputation) + (cfc_old_public_terminal_chosencomputation + cfc_old_public_terminal_chosencomputation))))))))))) /\ (a * v = b * u))
  13. 0013specialize continued_fraction_exact_terminal_convergent_exists (a)
  14. 0014specialize continued_fraction_exact_terminal_convergent_exists (b)
  15. 0015specialize continued_fraction_exact_terminal_convergent_exists (s)
  16. 0016specialize continued_fraction_exact_terminal_convergent_exists (x2)
  17. 0017specialize continued_fraction_exact_terminal_convergent_exists (x3)
  18. 0018specialize continued_fraction_exact_terminal_convergent_exists (x4)
  19. 0019apply continued_fraction_exact_terminal_convergent_exists
  20. 0020exact hcf_witness_witness_witness_witness_witness_right_right
  21. 0021cases ht
  22. 0022cases ht_witness
  23. 0023exists x4
  24. 0024exists x5
  25. 0025exists x6
  26. 0026exact ht_witness_witness