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_natural cfc_denominator_best_natural cfc_current_error_best_natural cfc_candidate_error_best_natural. ~(cfc_denominator_best_natural = 0) -> (exists cfba_gap_best_naturaldenominator. cfba_gap_best_naturaldenominator + S (cfc_denominator_best_natural) = (v)) -> ((((a) * (v)) = ((b) * (u)) + (cfc_current_error_best_natural)) \/ (((b) * (u)) = ((a) * (v)) + (cfc_current_error_best_natural))) -> ((((a) * cfc_denominator_best_natural) = ((b) * cfc_numerator_best_natural) + (cfc_candidate_error_best_natural)) \/ (((b) * cfc_numerator_best_natural) = ((a) * cfc_denominator_best_natural) + (cfc_candidate_error_best_natural))) -> (exists cfba_bound_best_naturalresult. cfba_bound_best_naturalresult + (cfc_current_error_best_natural) = (cfc_candidate_error_best_natural)))Constructive proof overview
Generated structural guide
Exact natural-domain G072: actual G071 fraction and actual indexed convergent imply |a*v-b*u|≤|a*t-b*r| for every natural numerator r and every 0<t<v, with no assumed approximation premise.
The unchanged tactic script uses 2 declared prerequisites and contains 42 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BA0052 continued_fraction_convergent_best_approximation_signed BA0027 cf_approximation_natural_error_as_signedDirect 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
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–7
02Separate the logical casesL8–8
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L8
cases h
03Establish hbestL9–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply continued fraction convergent best approximation signed.
- L9
have hbest : SignedBestApproximationSecondKind(a,b,u,v)Definitions: SignedBestApproximationSecondKind - L10
specialize continued_fraction_convergent_best_approximation_signed (a) - L11
specialize continued_fraction_convergent_best_approximation_signed (b) - L12
specialize continued_fraction_convergent_best_approximation_signed (s) - L13
specialize continued_fraction_convergent_best_approximation_signed (i) - L14
specialize continued_fraction_convergent_best_approximation_signed (u) - L15
specialize continued_fraction_convergent_best_approximation_signed (v) - L16
apply continued_fraction_convergent_best_approximation_signed - L17
exact h_left - L18
exact h_right
04Fix variables and assumptionsL19–26
05Use earlier factsL27–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
06Use earlier factsL37–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 42 lines
- 0001
intro a - 0002
intro b - 0003
intro s - 0004
intro i - 0005
intro u - 0006
intro v - 0007
intro h - 0008
cases h - 0009
have hbest : forall cfc_numerator_natural_from_signed cfc_negative_numerator_natural_from_signed cfc_denominator_natural_from_signed cfc_current_error_natural_from_signed cfc_candidate_error_natural_from_signed. ~(cfc_denominator_natural_from_signed = 0) -> (exists cfba_gap_natural_from_signeddenominator. cfba_gap_natural_from_signeddenominator + S (cfc_denominator_natural_from_signed) = (v)) -> ((((a) * (v)) = ((b) * (u)) + (cfc_current_error_natural_from_signed)) \/ (((b) * (u)) = ((a) * (v)) + (cfc_current_error_natural_from_signed))) -> ((((a) * cfc_denominator_natural_from_signed + (b) * cfc_negative_numerator_natural_from_signed) = ((b) * cfc_numerator_natural_from_signed) + (cfc_candidate_error_natural_from_signed)) \/ (((b) * cfc_numerator_natural_from_signed) = ((a) * cfc_denominator_natural_from_signed + (b) * cfc_negative_numerator_natural_from_signed) + (cfc_candidate_error_natural_from_signed))) -> (exists cfba_bound_natural_from_signedresult. cfba_bound_natural_from_signedresult + (cfc_current_error_natural_from_signed) = (cfc_candidate_error_natural_from_signed)) - 0010
specialize continued_fraction_convergent_best_approximation_signed (a) - 0011
specialize continued_fraction_convergent_best_approximation_signed (b) - 0012
specialize continued_fraction_convergent_best_approximation_signed (s) - 0013
specialize continued_fraction_convergent_best_approximation_signed (i) - 0014
specialize continued_fraction_convergent_best_approximation_signed (u) - 0015
specialize continued_fraction_convergent_best_approximation_signed (v) - 0016
apply continued_fraction_convergent_best_approximation_signed - 0017
exact h_left - 0018
exact h_right - 0019
intro r - 0020
intro t - 0021
intro C - 0022
intro D - 0023
intro ht - 0024
intro hlt - 0025
intro hc - 0026
intro hd - 0027
specialize hbest (r) - 0028
specialize hbest (0) - 0029
specialize hbest (t) - 0030
specialize hbest (C) - 0031
specialize hbest (D) - 0032
apply hbest - 0033
exact ht - 0034
exact hlt - 0035
exact hc - 0036
specialize cf_approximation_natural_error_as_signed (a) - 0037
specialize cf_approximation_natural_error_as_signed (b) - 0038
specialize cf_approximation_natural_error_as_signed (r) - 0039
specialize cf_approximation_natural_error_as_signed (t) - 0040
specialize cf_approximation_natural_error_as_signed (D) - 0041
apply cf_approximation_natural_error_as_signed - 0042
exact hd