BA0051

continued_fraction_convergent_coprime

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

Every actual convergent is reduced, including 0/1 and the exact terminal rational; coprimality follows from the proved determinant, not the definition.

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 i u v. (exists cf_a_pred_adjacent_fraction cf_b_pred_adjacent_fraction cf_code_adjacent_fraction cf_scale_adjacent_fraction cf_length_pred_adjacent_fraction. (a = S cf_a_pred_adjacent_fraction /\ (b = S cf_b_pred_adjacent_fraction /\ (exists cf_gcd_adjacent_fraction_trace. ((((exists ff_h_cf_adjacent_fraction_trace_initial_state. ff_h_cf_adjacent_fraction_trace_initial_state + S (((cf_gcd_adjacent_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_adjacent_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_adjacent_fraction)) /\ exists ff_q_cf_adjacent_fraction_trace_initial_state. cf_code_adjacent_fraction = ff_q_cf_adjacent_fraction_trace_initial_state * S ((S (0)) * cf_scale_adjacent_fraction) + (((cf_gcd_adjacent_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_adjacent_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_adjacent_fraction_trace_terminal_state. ff_h_cf_adjacent_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_adjacent_fraction)) * cf_scale_adjacent_fraction)) /\ exists ff_q_cf_adjacent_fraction_trace_terminal_state. cf_code_adjacent_fraction = ff_q_cf_adjacent_fraction_trace_terminal_state * S ((S (S cf_length_pred_adjacent_fraction)) * cf_scale_adjacent_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_adjacent_fraction_trace. (exists ff_lt_cf_adjacent_fraction_trace_index. ff_lt_cf_adjacent_fraction_trace_index + S cf_index_adjacent_fraction_trace = S cf_length_pred_adjacent_fraction) -> exists cf_old_a_adjacent_fraction_trace cf_old_b_adjacent_fraction_trace cf_tail_adjacent_fraction_trace cf_new_a_adjacent_fraction_trace cf_new_b_adjacent_fraction_trace cf_head_adjacent_fraction_trace cf_quotient_adjacent_fraction_trace. ((((exists ff_h_cf_adjacent_fraction_trace_previous_state. ff_h_cf_adjacent_fraction_trace_previous_state + S (((cf_old_a_adjacent_fraction_trace) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)))) * S ((cf_old_a_adjacent_fraction_trace) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)))) + ((((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace))) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace))))) = S ((S (cf_index_adjacent_fraction_trace)) * cf_scale_adjacent_fraction)) /\ exists ff_q_cf_adjacent_fraction_trace_previous_state. cf_code_adjacent_fraction = ff_q_cf_adjacent_fraction_trace_previous_state * S ((S (cf_index_adjacent_fraction_trace)) * cf_scale_adjacent_fraction) + (((cf_old_a_adjacent_fraction_trace) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)))) * S ((cf_old_a_adjacent_fraction_trace) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)))) + ((((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace))) + (((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) * S ((cf_old_b_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace)) + ((cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace))))))) /\ ((((exists ff_h_cf_adjacent_fraction_trace_following_state. ff_h_cf_adjacent_fraction_trace_following_state + S (((cf_new_a_adjacent_fraction_trace) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)))) * S ((cf_new_a_adjacent_fraction_trace) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)))) + ((((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace))) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace))))) = S ((S (S cf_index_adjacent_fraction_trace)) * cf_scale_adjacent_fraction)) /\ exists ff_q_cf_adjacent_fraction_trace_following_state. cf_code_adjacent_fraction = ff_q_cf_adjacent_fraction_trace_following_state * S ((S (S cf_index_adjacent_fraction_trace)) * cf_scale_adjacent_fraction) + (((cf_new_a_adjacent_fraction_trace) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)))) * S ((cf_new_a_adjacent_fraction_trace) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)))) + ((((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace))) + (((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) * S ((cf_new_b_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace)) + ((cf_head_adjacent_fraction_trace) + (cf_head_adjacent_fraction_trace))))))) /\ (cf_new_b_adjacent_fraction_trace = cf_old_a_adjacent_fraction_trace /\ (cf_new_a_adjacent_fraction_trace = cf_new_b_adjacent_fraction_trace * cf_quotient_adjacent_fraction_trace + cf_old_b_adjacent_fraction_trace /\ ((exists ff_lt_cf_adjacent_fraction_trace_remainder. ff_lt_cf_adjacent_fraction_trace_remainder + S cf_old_b_adjacent_fraction_trace = cf_new_b_adjacent_fraction_trace) /\ (cf_head_adjacent_fraction_trace = S ((cf_quotient_adjacent_fraction_trace + cf_tail_adjacent_fraction_trace) * S (cf_quotient_adjacent_fraction_trace + cf_tail_adjacent_fraction_trace) + (cf_tail_adjacent_fraction_trace + cf_tail_adjacent_fraction_trace)))))))))))))) -> (exists cfc_previous_numerator_coprime_convergent cfc_previous_denominator_coprime_convergent cfc_code_coprime_convergent cfc_scale_coprime_convergent. ((~(v = 0)) /\ (exists cfc_tail_coprime_convergentcomputation. ((exists cfc_state_coprime_convergentcomputationinitial. ((exists cfc_left_coprime_convergentcomputationinitialcode cfc_right_coprime_convergentcomputationinitialcode cfc_matrix_coprime_convergentcomputationinitialcode. ((cfc_left_coprime_convergentcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_coprime_convergentcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_coprime_convergentcomputationinitialcode = ((cfc_left_coprime_convergentcomputationinitialcode) + (cfc_right_coprime_convergentcomputationinitialcode)) * S ((cfc_left_coprime_convergentcomputationinitialcode) + (cfc_right_coprime_convergentcomputationinitialcode)) + ((cfc_right_coprime_convergentcomputationinitialcode) + (cfc_right_coprime_convergentcomputationinitialcode))) /\ ((cfc_state_coprime_convergentcomputationinitial) = ((cfc_tail_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationinitialcode)) * S ((cfc_tail_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationinitialcode)) + ((cfc_matrix_coprime_convergentcomputationinitialcode) + (cfc_matrix_coprime_convergentcomputationinitialcode))))))) /\ (((exists ff_h_coprime_convergentcomputationinitialentry. ff_h_coprime_convergentcomputationinitialentry + S (cfc_state_coprime_convergentcomputationinitial) = S ((S (0)) * cfc_scale_coprime_convergent)) /\ exists ff_q_coprime_convergentcomputationinitialentry. cfc_code_coprime_convergent = ff_q_coprime_convergentcomputationinitialentry * S ((S (0)) * cfc_scale_coprime_convergent) + (cfc_state_coprime_convergentcomputationinitial))))) /\ ((exists cfc_state_coprime_convergentcomputationterminal. ((exists cfc_left_coprime_convergentcomputationterminalcode cfc_right_coprime_convergentcomputationterminalcode cfc_matrix_coprime_convergentcomputationterminalcode. ((cfc_left_coprime_convergentcomputationterminalcode = ((u) + (cfc_previous_numerator_coprime_convergent)) * S ((u) + (cfc_previous_numerator_coprime_convergent)) + ((cfc_previous_numerator_coprime_convergent) + (cfc_previous_numerator_coprime_convergent))) /\ ((cfc_right_coprime_convergentcomputationterminalcode = ((v) + (cfc_previous_denominator_coprime_convergent)) * S ((v) + (cfc_previous_denominator_coprime_convergent)) + ((cfc_previous_denominator_coprime_convergent) + (cfc_previous_denominator_coprime_convergent))) /\ ((cfc_matrix_coprime_convergentcomputationterminalcode = ((cfc_left_coprime_convergentcomputationterminalcode) + (cfc_right_coprime_convergentcomputationterminalcode)) * S ((cfc_left_coprime_convergentcomputationterminalcode) + (cfc_right_coprime_convergentcomputationterminalcode)) + ((cfc_right_coprime_convergentcomputationterminalcode) + (cfc_right_coprime_convergentcomputationterminalcode))) /\ ((cfc_state_coprime_convergentcomputationterminal) = ((s) + (cfc_matrix_coprime_convergentcomputationterminalcode)) * S ((s) + (cfc_matrix_coprime_convergentcomputationterminalcode)) + ((cfc_matrix_coprime_convergentcomputationterminalcode) + (cfc_matrix_coprime_convergentcomputationterminalcode))))))) /\ (((exists ff_h_coprime_convergentcomputationterminalentry. ff_h_coprime_convergentcomputationterminalentry + S (cfc_state_coprime_convergentcomputationterminal) = S ((S (S (i))) * cfc_scale_coprime_convergent)) /\ exists ff_q_coprime_convergentcomputationterminalentry. cfc_code_coprime_convergent = ff_q_coprime_convergentcomputationterminalentry * S ((S (S (i))) * cfc_scale_coprime_convergent) + (cfc_state_coprime_convergentcomputationterminal))))) /\ (forall cfc_index_coprime_convergentcomputation. (exists cfba_gap_coprime_convergentcomputationbound. cfba_gap_coprime_convergentcomputationbound + S (cfc_index_coprime_convergentcomputation) = (S (i))) -> exists cfc_old_coprime_convergentcomputation cfc_a_coprime_convergentcomputation cfc_b_coprime_convergentcomputation cfc_c_coprime_convergentcomputation cfc_d_coprime_convergentcomputation cfc_new_coprime_convergentcomputation cfc_quotient_coprime_convergentcomputation. ((exists cfc_state_coprime_convergentcomputationprevious. ((exists cfc_left_coprime_convergentcomputationpreviouscode cfc_right_coprime_convergentcomputationpreviouscode cfc_matrix_coprime_convergentcomputationpreviouscode. ((cfc_left_coprime_convergentcomputationpreviouscode = ((cfc_a_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation)) * S ((cfc_a_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation)) + ((cfc_b_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation))) /\ ((cfc_right_coprime_convergentcomputationpreviouscode = ((cfc_c_coprime_convergentcomputation) + (cfc_d_coprime_convergentcomputation)) * S ((cfc_c_coprime_convergentcomputation) + (cfc_d_coprime_convergentcomputation)) + ((cfc_d_coprime_convergentcomputation) + (cfc_d_coprime_convergentcomputation))) /\ ((cfc_matrix_coprime_convergentcomputationpreviouscode = ((cfc_left_coprime_convergentcomputationpreviouscode) + (cfc_right_coprime_convergentcomputationpreviouscode)) * S ((cfc_left_coprime_convergentcomputationpreviouscode) + (cfc_right_coprime_convergentcomputationpreviouscode)) + ((cfc_right_coprime_convergentcomputationpreviouscode) + (cfc_right_coprime_convergentcomputationpreviouscode))) /\ ((cfc_state_coprime_convergentcomputationprevious) = ((cfc_old_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationpreviouscode)) * S ((cfc_old_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationpreviouscode)) + ((cfc_matrix_coprime_convergentcomputationpreviouscode) + (cfc_matrix_coprime_convergentcomputationpreviouscode))))))) /\ (((exists ff_h_coprime_convergentcomputationpreviousentry. ff_h_coprime_convergentcomputationpreviousentry + S (cfc_state_coprime_convergentcomputationprevious) = S ((S (cfc_index_coprime_convergentcomputation)) * cfc_scale_coprime_convergent)) /\ exists ff_q_coprime_convergentcomputationpreviousentry. cfc_code_coprime_convergent = ff_q_coprime_convergentcomputationpreviousentry * S ((S (cfc_index_coprime_convergentcomputation)) * cfc_scale_coprime_convergent) + (cfc_state_coprime_convergentcomputationprevious))))) /\ ((exists cfc_state_coprime_convergentcomputationfollowing. ((exists cfc_left_coprime_convergentcomputationfollowingcode cfc_right_coprime_convergentcomputationfollowingcode cfc_matrix_coprime_convergentcomputationfollowingcode. ((cfc_left_coprime_convergentcomputationfollowingcode = (((cfc_quotient_coprime_convergentcomputation * cfc_a_coprime_convergentcomputation + cfc_c_coprime_convergentcomputation)) + ((cfc_quotient_coprime_convergentcomputation * cfc_b_coprime_convergentcomputation + cfc_d_coprime_convergentcomputation))) * S (((cfc_quotient_coprime_convergentcomputation * cfc_a_coprime_convergentcomputation + cfc_c_coprime_convergentcomputation)) + ((cfc_quotient_coprime_convergentcomputation * cfc_b_coprime_convergentcomputation + cfc_d_coprime_convergentcomputation))) + (((cfc_quotient_coprime_convergentcomputation * cfc_b_coprime_convergentcomputation + cfc_d_coprime_convergentcomputation)) + ((cfc_quotient_coprime_convergentcomputation * cfc_b_coprime_convergentcomputation + cfc_d_coprime_convergentcomputation)))) /\ ((cfc_right_coprime_convergentcomputationfollowingcode = ((cfc_a_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation)) * S ((cfc_a_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation)) + ((cfc_b_coprime_convergentcomputation) + (cfc_b_coprime_convergentcomputation))) /\ ((cfc_matrix_coprime_convergentcomputationfollowingcode = ((cfc_left_coprime_convergentcomputationfollowingcode) + (cfc_right_coprime_convergentcomputationfollowingcode)) * S ((cfc_left_coprime_convergentcomputationfollowingcode) + (cfc_right_coprime_convergentcomputationfollowingcode)) + ((cfc_right_coprime_convergentcomputationfollowingcode) + (cfc_right_coprime_convergentcomputationfollowingcode))) /\ ((cfc_state_coprime_convergentcomputationfollowing) = ((cfc_new_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationfollowingcode)) * S ((cfc_new_coprime_convergentcomputation) + (cfc_matrix_coprime_convergentcomputationfollowingcode)) + ((cfc_matrix_coprime_convergentcomputationfollowingcode) + (cfc_matrix_coprime_convergentcomputationfollowingcode))))))) /\ (((exists ff_h_coprime_convergentcomputationfollowingentry. ff_h_coprime_convergentcomputationfollowingentry + S (cfc_state_coprime_convergentcomputationfollowing) = S ((S (S cfc_index_coprime_convergentcomputation)) * cfc_scale_coprime_convergent)) /\ exists ff_q_coprime_convergentcomputationfollowingentry. cfc_code_coprime_convergent = ff_q_coprime_convergentcomputationfollowingentry * S ((S (S cfc_index_coprime_convergentcomputation)) * cfc_scale_coprime_convergent) + (cfc_state_coprime_convergentcomputationfollowing))))) /\ (cfc_new_coprime_convergentcomputation = S ((cfc_quotient_coprime_convergentcomputation + cfc_old_coprime_convergentcomputation) * S (cfc_quotient_coprime_convergentcomputation + cfc_old_coprime_convergentcomputation) + (cfc_old_coprime_convergentcomputation + cfc_old_coprime_convergentcomputation))))))))))) -> (forall frp_divisor_actual_convergent_coprime. (exists frp_left_factor_actual_convergent_coprime. u = frp_divisor_actual_convergent_coprime * frp_left_factor_actual_convergent_coprime) -> (exists frp_right_factor_actual_convergent_coprime. v = frp_divisor_actual_convergent_coprime * frp_right_factor_actual_convergent_coprime) -> frp_divisor_actual_convergent_coprime = 1)

Constructive proof overview

Generated structural guide

Every actual convergent is reduced, including 0/1 and the exact terminal rational; coprimality follows from the proved determinant, not the definition.

The unchanged tactic script uses 3 declared prerequisites and contains 48 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

48 script commands · 6 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Named ingredients (3)
01Fix variables and assumptionsL1–8

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 i
  5. L5
    intro u
  6. L6
    intro v
  7. L7
    intro hcf
  8. L8
    intro hc
02Separate the logical casesL9–18

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

  1. L9
    cases hcf
  2. L10
    cases hcf_witness
  3. L11
    cases hcf_witness_witness
  4. L12
    cases hcf_witness_witness_witness
  5. L13
    cases hcf_witness_witness_witness_witness
  6. L14
    cases hcf_witness_witness_witness_witness_witness
  7. L15
    cases hcf_witness_witness_witness_witness_witness_right
  8. L16
    cases hc
  9. L17
    cases hc_witness
  10. L18
    cases hc_witness_witness
03Separate the logical casesL19–20

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

  1. L19
    cases hc_witness_witness_witness
  2. L20
    cases hc_witness_witness_witness_witness
04Use earlier factsL21–30

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

  1. L21
    specialize cf_approximation_unit_determinant_coprime (u)
  2. L22
    specialize cf_approximation_unit_determinant_coprime (x5)
  3. L23
    specialize cf_approximation_unit_determinant_coprime (v)
  4. L24
    specialize cf_approximation_unit_determinant_coprime (x6)
  5. L25
    apply cf_approximation_unit_determinant_coprime
  6. L26
    specialize cf_approximation_derived_invariant_determinant (a)
  7. L27
    specialize cf_approximation_derived_invariant_determinant (b)
  8. L28
    specialize cf_approximation_derived_invariant_determinant (u)
  9. L29
    specialize cf_approximation_derived_invariant_determinant (x5)
  10. L30
    specialize cf_approximation_derived_invariant_determinant (v)
05Use earlier factsL31–40

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

  1. L31
    specialize cf_approximation_derived_invariant_determinant (x6)
  2. L32
    apply cf_approximation_derived_invariant_determinant
  3. L33
    specialize cf_convergent_actual_prefix_error_invariant (i)
  4. L34
    specialize cf_convergent_actual_prefix_error_invariant (a)
  5. L35
    specialize cf_convergent_actual_prefix_error_invariant (b)
  6. L36
    specialize cf_convergent_actual_prefix_error_invariant (s)
  7. L37
    specialize cf_convergent_actual_prefix_error_invariant (x2)
  8. L38
    specialize cf_convergent_actual_prefix_error_invariant (x3)
  9. L39
    specialize cf_convergent_actual_prefix_error_invariant (S x4)
  10. L40
    specialize cf_convergent_actual_prefix_error_invariant (x7)
06Use earlier factsL41–48

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

  1. L41
    specialize cf_convergent_actual_prefix_error_invariant (x8)
  2. L42
    specialize cf_convergent_actual_prefix_error_invariant (u)
  3. L43
    specialize cf_convergent_actual_prefix_error_invariant (x5)
  4. L44
    specialize cf_convergent_actual_prefix_error_invariant (v)
  5. L45
    specialize cf_convergent_actual_prefix_error_invariant (x6)
  6. L46
    apply cf_convergent_actual_prefix_error_invariant
  7. L47
    exact hcf_witness_witness_witness_witness_witness_right_right
  8. L48
    exact hc_witness_witness_witness_witness_right

Library-wide reading audit

Original exact command ledger · 48 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro s
  4. 0004intro i
  5. 0005intro u
  6. 0006intro v
  7. 0007intro hcf
  8. 0008intro hc
  9. 0009cases hcf
  10. 0010cases hcf_witness
  11. 0011cases hcf_witness_witness
  12. 0012cases hcf_witness_witness_witness
  13. 0013cases hcf_witness_witness_witness_witness
  14. 0014cases hcf_witness_witness_witness_witness_witness
  15. 0015cases hcf_witness_witness_witness_witness_witness_right
  16. 0016cases hc
  17. 0017cases hc_witness
  18. 0018cases hc_witness_witness
  19. 0019cases hc_witness_witness_witness
  20. 0020cases hc_witness_witness_witness_witness
  21. 0021specialize cf_approximation_unit_determinant_coprime (u)
  22. 0022specialize cf_approximation_unit_determinant_coprime (x5)
  23. 0023specialize cf_approximation_unit_determinant_coprime (v)
  24. 0024specialize cf_approximation_unit_determinant_coprime (x6)
  25. 0025apply cf_approximation_unit_determinant_coprime
  26. 0026specialize cf_approximation_derived_invariant_determinant (a)
  27. 0027specialize cf_approximation_derived_invariant_determinant (b)
  28. 0028specialize cf_approximation_derived_invariant_determinant (u)
  29. 0029specialize cf_approximation_derived_invariant_determinant (x5)
  30. 0030specialize cf_approximation_derived_invariant_determinant (v)
  31. 0031specialize cf_approximation_derived_invariant_determinant (x6)
  32. 0032apply cf_approximation_derived_invariant_determinant
  33. 0033specialize cf_convergent_actual_prefix_error_invariant (i)
  34. 0034specialize cf_convergent_actual_prefix_error_invariant (a)
  35. 0035specialize cf_convergent_actual_prefix_error_invariant (b)
  36. 0036specialize cf_convergent_actual_prefix_error_invariant (s)
  37. 0037specialize cf_convergent_actual_prefix_error_invariant (x2)
  38. 0038specialize cf_convergent_actual_prefix_error_invariant (x3)
  39. 0039specialize cf_convergent_actual_prefix_error_invariant (S x4)
  40. 0040specialize cf_convergent_actual_prefix_error_invariant (x7)
  41. 0041specialize cf_convergent_actual_prefix_error_invariant (x8)
  42. 0042specialize cf_convergent_actual_prefix_error_invariant (u)
  43. 0043specialize cf_convergent_actual_prefix_error_invariant (x5)
  44. 0044specialize cf_convergent_actual_prefix_error_invariant (v)
  45. 0045specialize cf_convergent_actual_prefix_error_invariant (x6)
  46. 0046apply cf_convergent_actual_prefix_error_invariant
  47. 0047exact hcf_witness_witness_witness_witness_witness_right_right
  48. 0048exact hc_witness_witness_witness_witness_right