BA0052

continued_fraction_convergent_best_approximation_signed

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

Full G072, strengthened to arbitrary signed numerator representatives: every actual convergent of the G071 quotient list minimizes absolute cross-product error among all smaller positive denominators.

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_best_actual_fraction cf_b_pred_best_actual_fraction cf_code_best_actual_fraction cf_scale_best_actual_fraction cf_length_pred_best_actual_fraction. (a = S cf_a_pred_best_actual_fraction /\ (b = S cf_b_pred_best_actual_fraction /\ (exists cf_gcd_best_actual_fraction_trace. ((((exists ff_h_cf_best_actual_fraction_trace_initial_state. ff_h_cf_best_actual_fraction_trace_initial_state + S (((cf_gcd_best_actual_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_best_actual_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_best_actual_fraction)) /\ exists ff_q_cf_best_actual_fraction_trace_initial_state. cf_code_best_actual_fraction = ff_q_cf_best_actual_fraction_trace_initial_state * S ((S (0)) * cf_scale_best_actual_fraction) + (((cf_gcd_best_actual_fraction_trace) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_best_actual_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_best_actual_fraction_trace_terminal_state. ff_h_cf_best_actual_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_best_actual_fraction)) * cf_scale_best_actual_fraction)) /\ exists ff_q_cf_best_actual_fraction_trace_terminal_state. cf_code_best_actual_fraction = ff_q_cf_best_actual_fraction_trace_terminal_state * S ((S (S cf_length_pred_best_actual_fraction)) * cf_scale_best_actual_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_best_actual_fraction_trace. (exists ff_lt_cf_best_actual_fraction_trace_index. ff_lt_cf_best_actual_fraction_trace_index + S cf_index_best_actual_fraction_trace = S cf_length_pred_best_actual_fraction) -> exists cf_old_a_best_actual_fraction_trace cf_old_b_best_actual_fraction_trace cf_tail_best_actual_fraction_trace cf_new_a_best_actual_fraction_trace cf_new_b_best_actual_fraction_trace cf_head_best_actual_fraction_trace cf_quotient_best_actual_fraction_trace. ((((exists ff_h_cf_best_actual_fraction_trace_previous_state. ff_h_cf_best_actual_fraction_trace_previous_state + S (((cf_old_a_best_actual_fraction_trace) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)))) * S ((cf_old_a_best_actual_fraction_trace) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)))) + ((((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace))) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace))))) = S ((S (cf_index_best_actual_fraction_trace)) * cf_scale_best_actual_fraction)) /\ exists ff_q_cf_best_actual_fraction_trace_previous_state. cf_code_best_actual_fraction = ff_q_cf_best_actual_fraction_trace_previous_state * S ((S (cf_index_best_actual_fraction_trace)) * cf_scale_best_actual_fraction) + (((cf_old_a_best_actual_fraction_trace) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)))) * S ((cf_old_a_best_actual_fraction_trace) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)))) + ((((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace))) + (((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) * S ((cf_old_b_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace)) + ((cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace))))))) /\ ((((exists ff_h_cf_best_actual_fraction_trace_following_state. ff_h_cf_best_actual_fraction_trace_following_state + S (((cf_new_a_best_actual_fraction_trace) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)))) * S ((cf_new_a_best_actual_fraction_trace) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)))) + ((((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace))) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace))))) = S ((S (S cf_index_best_actual_fraction_trace)) * cf_scale_best_actual_fraction)) /\ exists ff_q_cf_best_actual_fraction_trace_following_state. cf_code_best_actual_fraction = ff_q_cf_best_actual_fraction_trace_following_state * S ((S (S cf_index_best_actual_fraction_trace)) * cf_scale_best_actual_fraction) + (((cf_new_a_best_actual_fraction_trace) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)))) * S ((cf_new_a_best_actual_fraction_trace) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)))) + ((((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace))) + (((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) * S ((cf_new_b_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace)) + ((cf_head_best_actual_fraction_trace) + (cf_head_best_actual_fraction_trace))))))) /\ (cf_new_b_best_actual_fraction_trace = cf_old_a_best_actual_fraction_trace /\ (cf_new_a_best_actual_fraction_trace = cf_new_b_best_actual_fraction_trace * cf_quotient_best_actual_fraction_trace + cf_old_b_best_actual_fraction_trace /\ ((exists ff_lt_cf_best_actual_fraction_trace_remainder. ff_lt_cf_best_actual_fraction_trace_remainder + S cf_old_b_best_actual_fraction_trace = cf_new_b_best_actual_fraction_trace) /\ (cf_head_best_actual_fraction_trace = S ((cf_quotient_best_actual_fraction_trace + cf_tail_best_actual_fraction_trace) * S (cf_quotient_best_actual_fraction_trace + cf_tail_best_actual_fraction_trace) + (cf_tail_best_actual_fraction_trace + cf_tail_best_actual_fraction_trace)))))))))))))) -> (exists cfc_previous_numerator_best_actual_convergent cfc_previous_denominator_best_actual_convergent cfc_code_best_actual_convergent cfc_scale_best_actual_convergent. ((~(v = 0)) /\ (exists cfc_tail_best_actual_convergentcomputation. ((exists cfc_state_best_actual_convergentcomputationinitial. ((exists cfc_left_best_actual_convergentcomputationinitialcode cfc_right_best_actual_convergentcomputationinitialcode cfc_matrix_best_actual_convergentcomputationinitialcode. ((cfc_left_best_actual_convergentcomputationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_best_actual_convergentcomputationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_best_actual_convergentcomputationinitialcode = ((cfc_left_best_actual_convergentcomputationinitialcode) + (cfc_right_best_actual_convergentcomputationinitialcode)) * S ((cfc_left_best_actual_convergentcomputationinitialcode) + (cfc_right_best_actual_convergentcomputationinitialcode)) + ((cfc_right_best_actual_convergentcomputationinitialcode) + (cfc_right_best_actual_convergentcomputationinitialcode))) /\ ((cfc_state_best_actual_convergentcomputationinitial) = ((cfc_tail_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationinitialcode)) * S ((cfc_tail_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationinitialcode)) + ((cfc_matrix_best_actual_convergentcomputationinitialcode) + (cfc_matrix_best_actual_convergentcomputationinitialcode))))))) /\ (((exists ff_h_best_actual_convergentcomputationinitialentry. ff_h_best_actual_convergentcomputationinitialentry + S (cfc_state_best_actual_convergentcomputationinitial) = S ((S (0)) * cfc_scale_best_actual_convergent)) /\ exists ff_q_best_actual_convergentcomputationinitialentry. cfc_code_best_actual_convergent = ff_q_best_actual_convergentcomputationinitialentry * S ((S (0)) * cfc_scale_best_actual_convergent) + (cfc_state_best_actual_convergentcomputationinitial))))) /\ ((exists cfc_state_best_actual_convergentcomputationterminal. ((exists cfc_left_best_actual_convergentcomputationterminalcode cfc_right_best_actual_convergentcomputationterminalcode cfc_matrix_best_actual_convergentcomputationterminalcode. ((cfc_left_best_actual_convergentcomputationterminalcode = ((u) + (cfc_previous_numerator_best_actual_convergent)) * S ((u) + (cfc_previous_numerator_best_actual_convergent)) + ((cfc_previous_numerator_best_actual_convergent) + (cfc_previous_numerator_best_actual_convergent))) /\ ((cfc_right_best_actual_convergentcomputationterminalcode = ((v) + (cfc_previous_denominator_best_actual_convergent)) * S ((v) + (cfc_previous_denominator_best_actual_convergent)) + ((cfc_previous_denominator_best_actual_convergent) + (cfc_previous_denominator_best_actual_convergent))) /\ ((cfc_matrix_best_actual_convergentcomputationterminalcode = ((cfc_left_best_actual_convergentcomputationterminalcode) + (cfc_right_best_actual_convergentcomputationterminalcode)) * S ((cfc_left_best_actual_convergentcomputationterminalcode) + (cfc_right_best_actual_convergentcomputationterminalcode)) + ((cfc_right_best_actual_convergentcomputationterminalcode) + (cfc_right_best_actual_convergentcomputationterminalcode))) /\ ((cfc_state_best_actual_convergentcomputationterminal) = ((s) + (cfc_matrix_best_actual_convergentcomputationterminalcode)) * S ((s) + (cfc_matrix_best_actual_convergentcomputationterminalcode)) + ((cfc_matrix_best_actual_convergentcomputationterminalcode) + (cfc_matrix_best_actual_convergentcomputationterminalcode))))))) /\ (((exists ff_h_best_actual_convergentcomputationterminalentry. ff_h_best_actual_convergentcomputationterminalentry + S (cfc_state_best_actual_convergentcomputationterminal) = S ((S (S (i))) * cfc_scale_best_actual_convergent)) /\ exists ff_q_best_actual_convergentcomputationterminalentry. cfc_code_best_actual_convergent = ff_q_best_actual_convergentcomputationterminalentry * S ((S (S (i))) * cfc_scale_best_actual_convergent) + (cfc_state_best_actual_convergentcomputationterminal))))) /\ (forall cfc_index_best_actual_convergentcomputation. (exists cfba_gap_best_actual_convergentcomputationbound. cfba_gap_best_actual_convergentcomputationbound + S (cfc_index_best_actual_convergentcomputation) = (S (i))) -> exists cfc_old_best_actual_convergentcomputation cfc_a_best_actual_convergentcomputation cfc_b_best_actual_convergentcomputation cfc_c_best_actual_convergentcomputation cfc_d_best_actual_convergentcomputation cfc_new_best_actual_convergentcomputation cfc_quotient_best_actual_convergentcomputation. ((exists cfc_state_best_actual_convergentcomputationprevious. ((exists cfc_left_best_actual_convergentcomputationpreviouscode cfc_right_best_actual_convergentcomputationpreviouscode cfc_matrix_best_actual_convergentcomputationpreviouscode. ((cfc_left_best_actual_convergentcomputationpreviouscode = ((cfc_a_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation)) * S ((cfc_a_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation)) + ((cfc_b_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation))) /\ ((cfc_right_best_actual_convergentcomputationpreviouscode = ((cfc_c_best_actual_convergentcomputation) + (cfc_d_best_actual_convergentcomputation)) * S ((cfc_c_best_actual_convergentcomputation) + (cfc_d_best_actual_convergentcomputation)) + ((cfc_d_best_actual_convergentcomputation) + (cfc_d_best_actual_convergentcomputation))) /\ ((cfc_matrix_best_actual_convergentcomputationpreviouscode = ((cfc_left_best_actual_convergentcomputationpreviouscode) + (cfc_right_best_actual_convergentcomputationpreviouscode)) * S ((cfc_left_best_actual_convergentcomputationpreviouscode) + (cfc_right_best_actual_convergentcomputationpreviouscode)) + ((cfc_right_best_actual_convergentcomputationpreviouscode) + (cfc_right_best_actual_convergentcomputationpreviouscode))) /\ ((cfc_state_best_actual_convergentcomputationprevious) = ((cfc_old_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationpreviouscode)) * S ((cfc_old_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationpreviouscode)) + ((cfc_matrix_best_actual_convergentcomputationpreviouscode) + (cfc_matrix_best_actual_convergentcomputationpreviouscode))))))) /\ (((exists ff_h_best_actual_convergentcomputationpreviousentry. ff_h_best_actual_convergentcomputationpreviousentry + S (cfc_state_best_actual_convergentcomputationprevious) = S ((S (cfc_index_best_actual_convergentcomputation)) * cfc_scale_best_actual_convergent)) /\ exists ff_q_best_actual_convergentcomputationpreviousentry. cfc_code_best_actual_convergent = ff_q_best_actual_convergentcomputationpreviousentry * S ((S (cfc_index_best_actual_convergentcomputation)) * cfc_scale_best_actual_convergent) + (cfc_state_best_actual_convergentcomputationprevious))))) /\ ((exists cfc_state_best_actual_convergentcomputationfollowing. ((exists cfc_left_best_actual_convergentcomputationfollowingcode cfc_right_best_actual_convergentcomputationfollowingcode cfc_matrix_best_actual_convergentcomputationfollowingcode. ((cfc_left_best_actual_convergentcomputationfollowingcode = (((cfc_quotient_best_actual_convergentcomputation * cfc_a_best_actual_convergentcomputation + cfc_c_best_actual_convergentcomputation)) + ((cfc_quotient_best_actual_convergentcomputation * cfc_b_best_actual_convergentcomputation + cfc_d_best_actual_convergentcomputation))) * S (((cfc_quotient_best_actual_convergentcomputation * cfc_a_best_actual_convergentcomputation + cfc_c_best_actual_convergentcomputation)) + ((cfc_quotient_best_actual_convergentcomputation * cfc_b_best_actual_convergentcomputation + cfc_d_best_actual_convergentcomputation))) + (((cfc_quotient_best_actual_convergentcomputation * cfc_b_best_actual_convergentcomputation + cfc_d_best_actual_convergentcomputation)) + ((cfc_quotient_best_actual_convergentcomputation * cfc_b_best_actual_convergentcomputation + cfc_d_best_actual_convergentcomputation)))) /\ ((cfc_right_best_actual_convergentcomputationfollowingcode = ((cfc_a_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation)) * S ((cfc_a_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation)) + ((cfc_b_best_actual_convergentcomputation) + (cfc_b_best_actual_convergentcomputation))) /\ ((cfc_matrix_best_actual_convergentcomputationfollowingcode = ((cfc_left_best_actual_convergentcomputationfollowingcode) + (cfc_right_best_actual_convergentcomputationfollowingcode)) * S ((cfc_left_best_actual_convergentcomputationfollowingcode) + (cfc_right_best_actual_convergentcomputationfollowingcode)) + ((cfc_right_best_actual_convergentcomputationfollowingcode) + (cfc_right_best_actual_convergentcomputationfollowingcode))) /\ ((cfc_state_best_actual_convergentcomputationfollowing) = ((cfc_new_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationfollowingcode)) * S ((cfc_new_best_actual_convergentcomputation) + (cfc_matrix_best_actual_convergentcomputationfollowingcode)) + ((cfc_matrix_best_actual_convergentcomputationfollowingcode) + (cfc_matrix_best_actual_convergentcomputationfollowingcode))))))) /\ (((exists ff_h_best_actual_convergentcomputationfollowingentry. ff_h_best_actual_convergentcomputationfollowingentry + S (cfc_state_best_actual_convergentcomputationfollowing) = S ((S (S cfc_index_best_actual_convergentcomputation)) * cfc_scale_best_actual_convergent)) /\ exists ff_q_best_actual_convergentcomputationfollowingentry. cfc_code_best_actual_convergent = ff_q_best_actual_convergentcomputationfollowingentry * S ((S (S cfc_index_best_actual_convergentcomputation)) * cfc_scale_best_actual_convergent) + (cfc_state_best_actual_convergentcomputationfollowing))))) /\ (cfc_new_best_actual_convergentcomputation = S ((cfc_quotient_best_actual_convergentcomputation + cfc_old_best_actual_convergentcomputation) * S (cfc_quotient_best_actual_convergentcomputation + cfc_old_best_actual_convergentcomputation) + (cfc_old_best_actual_convergentcomputation + cfc_old_best_actual_convergentcomputation))))))))))) -> (forall cfc_numerator_best_signed cfc_negative_numerator_best_signed cfc_denominator_best_signed cfc_current_error_best_signed cfc_candidate_error_best_signed. ~(cfc_denominator_best_signed = 0) -> (exists cfba_gap_best_signeddenominator. cfba_gap_best_signeddenominator + S (cfc_denominator_best_signed) = (v)) -> ((((a) * (v)) = ((b) * (u)) + (cfc_current_error_best_signed)) \/ (((b) * (u)) = ((a) * (v)) + (cfc_current_error_best_signed))) -> ((((a) * cfc_denominator_best_signed + (b) * cfc_negative_numerator_best_signed) = ((b) * cfc_numerator_best_signed) + (cfc_candidate_error_best_signed)) \/ (((b) * cfc_numerator_best_signed) = ((a) * cfc_denominator_best_signed + (b) * cfc_negative_numerator_best_signed) + (cfc_candidate_error_best_signed))) -> (exists cfba_bound_best_signedresult. cfba_bound_best_signedresult + (cfc_current_error_best_signed) = (cfc_candidate_error_best_signed)))

Constructive proof overview

Generated structural guide

Full G072, strengthened to arbitrary signed numerator representatives: every actual convergent of the G071 quotient list minimizes absolute cross-product error among all smaller positive denominators.

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

61 script commands · 8 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 (2)
01Fix variables and assumptionsL1–10

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 hconv
  9. L9
    intro rp
  10. L10
    intro rn
02Fix variables and assumptionsL11–17

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

  1. L11
    intro t
  2. L12
    intro C
  3. L13
    intro D
  4. L14
    intro ht
  5. L15
    intro hlt
  6. L16
    intro hc
  7. L17
    intro hd
03Separate the logical casesL18–27

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

  1. L18
    cases hcf
  2. L19
    cases hcf_witness
  3. L20
    cases hcf_witness_witness
  4. L21
    cases hcf_witness_witness_witness
  5. L22
    cases hcf_witness_witness_witness_witness
  6. L23
    cases hcf_witness_witness_witness_witness_witness
  7. L24
    cases hcf_witness_witness_witness_witness_witness_right
  8. L25
    cases hconv
  9. L26
    cases hconv_witness
  10. L27
    cases hconv_witness_witness
04Separate the logical casesL28–29

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

  1. L28
    cases hconv_witness_witness_witness
  2. L29
    cases hconv_witness_witness_witness_witness
05Use earlier factsL30–39

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

  1. L30
    specialize cf_approximation_derived_invariant_best_signed (a)
  2. L31
    specialize cf_approximation_derived_invariant_best_signed (b)
  3. L32
    specialize cf_approximation_derived_invariant_best_signed (u)
  4. L33
    specialize cf_approximation_derived_invariant_best_signed (x5)
  5. L34
    specialize cf_approximation_derived_invariant_best_signed (v)
  6. L35
    specialize cf_approximation_derived_invariant_best_signed (x6)
  7. L36
    specialize cf_approximation_derived_invariant_best_signed (rp)
  8. L37
    specialize cf_approximation_derived_invariant_best_signed (rn)
  9. L38
    specialize cf_approximation_derived_invariant_best_signed (t)
  10. L39
    specialize cf_approximation_derived_invariant_best_signed (C)
06Use earlier factsL40–49

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

  1. L40
    specialize cf_approximation_derived_invariant_best_signed (D)
  2. L41
    apply cf_approximation_derived_invariant_best_signed
  3. L42
    specialize cf_convergent_actual_prefix_error_invariant (i)
  4. L43
    specialize cf_convergent_actual_prefix_error_invariant (a)
  5. L44
    specialize cf_convergent_actual_prefix_error_invariant (b)
  6. L45
    specialize cf_convergent_actual_prefix_error_invariant (s)
  7. L46
    specialize cf_convergent_actual_prefix_error_invariant (x2)
  8. L47
    specialize cf_convergent_actual_prefix_error_invariant (x3)
  9. L48
    specialize cf_convergent_actual_prefix_error_invariant (S x4)
  10. L49
    specialize cf_convergent_actual_prefix_error_invariant (x7)
07Use earlier factsL50–59

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

  1. L50
    specialize cf_convergent_actual_prefix_error_invariant (x8)
  2. L51
    specialize cf_convergent_actual_prefix_error_invariant (u)
  3. L52
    specialize cf_convergent_actual_prefix_error_invariant (x5)
  4. L53
    specialize cf_convergent_actual_prefix_error_invariant (v)
  5. L54
    specialize cf_convergent_actual_prefix_error_invariant (x6)
  6. L55
    apply cf_convergent_actual_prefix_error_invariant
  7. L56
    exact hcf_witness_witness_witness_witness_witness_right_right
  8. L57
    exact hconv_witness_witness_witness_witness_right
  9. L58
    exact ht
  10. L59
    exact hlt
08Use earlier factsL60–61

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

  1. L60
    exact hc
  2. L61
    exact hd

Library-wide reading audit

Original exact command ledger · 61 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro s
  4. 0004intro i
  5. 0005intro u
  6. 0006intro v
  7. 0007intro hcf
  8. 0008intro hconv
  9. 0009intro rp
  10. 0010intro rn
  11. 0011intro t
  12. 0012intro C
  13. 0013intro D
  14. 0014intro ht
  15. 0015intro hlt
  16. 0016intro hc
  17. 0017intro hd
  18. 0018cases hcf
  19. 0019cases hcf_witness
  20. 0020cases hcf_witness_witness
  21. 0021cases hcf_witness_witness_witness
  22. 0022cases hcf_witness_witness_witness_witness
  23. 0023cases hcf_witness_witness_witness_witness_witness
  24. 0024cases hcf_witness_witness_witness_witness_witness_right
  25. 0025cases hconv
  26. 0026cases hconv_witness
  27. 0027cases hconv_witness_witness
  28. 0028cases hconv_witness_witness_witness
  29. 0029cases hconv_witness_witness_witness_witness
  30. 0030specialize cf_approximation_derived_invariant_best_signed (a)
  31. 0031specialize cf_approximation_derived_invariant_best_signed (b)
  32. 0032specialize cf_approximation_derived_invariant_best_signed (u)
  33. 0033specialize cf_approximation_derived_invariant_best_signed (x5)
  34. 0034specialize cf_approximation_derived_invariant_best_signed (v)
  35. 0035specialize cf_approximation_derived_invariant_best_signed (x6)
  36. 0036specialize cf_approximation_derived_invariant_best_signed (rp)
  37. 0037specialize cf_approximation_derived_invariant_best_signed (rn)
  38. 0038specialize cf_approximation_derived_invariant_best_signed (t)
  39. 0039specialize cf_approximation_derived_invariant_best_signed (C)
  40. 0040specialize cf_approximation_derived_invariant_best_signed (D)
  41. 0041apply cf_approximation_derived_invariant_best_signed
  42. 0042specialize cf_convergent_actual_prefix_error_invariant (i)
  43. 0043specialize cf_convergent_actual_prefix_error_invariant (a)
  44. 0044specialize cf_convergent_actual_prefix_error_invariant (b)
  45. 0045specialize cf_convergent_actual_prefix_error_invariant (s)
  46. 0046specialize cf_convergent_actual_prefix_error_invariant (x2)
  47. 0047specialize cf_convergent_actual_prefix_error_invariant (x3)
  48. 0048specialize cf_convergent_actual_prefix_error_invariant (S x4)
  49. 0049specialize cf_convergent_actual_prefix_error_invariant (x7)
  50. 0050specialize cf_convergent_actual_prefix_error_invariant (x8)
  51. 0051specialize cf_convergent_actual_prefix_error_invariant (u)
  52. 0052specialize cf_convergent_actual_prefix_error_invariant (x5)
  53. 0053specialize cf_convergent_actual_prefix_error_invariant (v)
  54. 0054specialize cf_convergent_actual_prefix_error_invariant (x6)
  55. 0055apply cf_convergent_actual_prefix_error_invariant
  56. 0056exact hcf_witness_witness_witness_witness_witness_right_right
  57. 0057exact hconv_witness_witness_witness_witness_right
  58. 0058exact ht
  59. 0059exact hlt
  60. 0060exact hc
  61. 0061exact hd