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 k a b s h e L H E u U v V. (exists cf_gcd_invariant_euclidean. ((((exists ff_h_cf_invariant_euclidean_initial_state. ff_h_cf_invariant_euclidean_initial_state + S (((cf_gcd_invariant_euclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_euclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_invariant_euclidean_initial_state. h = ff_q_cf_invariant_euclidean_initial_state * S ((S (0)) * e) + (((cf_gcd_invariant_euclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_euclidean) + (((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_invariant_euclidean_terminal_state. ff_h_cf_invariant_euclidean_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 (L)) * e)) /\ exists ff_q_cf_invariant_euclidean_terminal_state. h = ff_q_cf_invariant_euclidean_terminal_state * S ((S (L)) * e) + (((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((a) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_invariant_euclidean. (exists ff_lt_cf_invariant_euclidean_index. ff_lt_cf_invariant_euclidean_index + S cf_index_invariant_euclidean = L) -> exists cf_old_a_invariant_euclidean cf_old_b_invariant_euclidean cf_tail_invariant_euclidean cf_new_a_invariant_euclidean cf_new_b_invariant_euclidean cf_head_invariant_euclidean cf_quotient_invariant_euclidean. ((((exists ff_h_cf_invariant_euclidean_previous_state. ff_h_cf_invariant_euclidean_previous_state + S (((cf_old_a_invariant_euclidean) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean)))) * S ((cf_old_a_invariant_euclidean) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean)))) + ((((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean))) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean))))) = S ((S (cf_index_invariant_euclidean)) * e)) /\ exists ff_q_cf_invariant_euclidean_previous_state. h = ff_q_cf_invariant_euclidean_previous_state * S ((S (cf_index_invariant_euclidean)) * e) + (((cf_old_a_invariant_euclidean) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean)))) * S ((cf_old_a_invariant_euclidean) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean)))) + ((((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean))) + (((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) * S ((cf_old_b_invariant_euclidean) + (cf_tail_invariant_euclidean)) + ((cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean))))))) /\ ((((exists ff_h_cf_invariant_euclidean_following_state. ff_h_cf_invariant_euclidean_following_state + S (((cf_new_a_invariant_euclidean) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean)))) * S ((cf_new_a_invariant_euclidean) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean)))) + ((((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean))) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean))))) = S ((S (S cf_index_invariant_euclidean)) * e)) /\ exists ff_q_cf_invariant_euclidean_following_state. h = ff_q_cf_invariant_euclidean_following_state * S ((S (S cf_index_invariant_euclidean)) * e) + (((cf_new_a_invariant_euclidean) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean)))) * S ((cf_new_a_invariant_euclidean) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean)))) + ((((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean))) + (((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) * S ((cf_new_b_invariant_euclidean) + (cf_head_invariant_euclidean)) + ((cf_head_invariant_euclidean) + (cf_head_invariant_euclidean))))))) /\ (cf_new_b_invariant_euclidean = cf_old_a_invariant_euclidean /\ (cf_new_a_invariant_euclidean = cf_new_b_invariant_euclidean * cf_quotient_invariant_euclidean + cf_old_b_invariant_euclidean /\ ((exists ff_lt_cf_invariant_euclidean_remainder. ff_lt_cf_invariant_euclidean_remainder + S cf_old_b_invariant_euclidean = cf_new_b_invariant_euclidean) /\ (cf_head_invariant_euclidean = S ((cf_quotient_invariant_euclidean + cf_tail_invariant_euclidean) * S (cf_quotient_invariant_euclidean + cf_tail_invariant_euclidean) + (cf_tail_invariant_euclidean + cf_tail_invariant_euclidean))))))))))) -> (exists cfc_tail_invariant_computation. ((exists cfc_state_invariant_computationinitial. ((exists cfc_left_invariant_computationinitialcode cfc_right_invariant_computationinitialcode cfc_matrix_invariant_computationinitialcode. ((cfc_left_invariant_computationinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_invariant_computationinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_invariant_computationinitialcode = ((cfc_left_invariant_computationinitialcode) + (cfc_right_invariant_computationinitialcode)) * S ((cfc_left_invariant_computationinitialcode) + (cfc_right_invariant_computationinitialcode)) + ((cfc_right_invariant_computationinitialcode) + (cfc_right_invariant_computationinitialcode))) /\ ((cfc_state_invariant_computationinitial) = ((cfc_tail_invariant_computation) + (cfc_matrix_invariant_computationinitialcode)) * S ((cfc_tail_invariant_computation) + (cfc_matrix_invariant_computationinitialcode)) + ((cfc_matrix_invariant_computationinitialcode) + (cfc_matrix_invariant_computationinitialcode))))))) /\ (((exists ff_h_invariant_computationinitialentry. ff_h_invariant_computationinitialentry + S (cfc_state_invariant_computationinitial) = S ((S (0)) * E)) /\ exists ff_q_invariant_computationinitialentry. H = ff_q_invariant_computationinitialentry * S ((S (0)) * E) + (cfc_state_invariant_computationinitial))))) /\ ((exists cfc_state_invariant_computationterminal. ((exists cfc_left_invariant_computationterminalcode cfc_right_invariant_computationterminalcode cfc_matrix_invariant_computationterminalcode. ((cfc_left_invariant_computationterminalcode = ((u) + (U)) * S ((u) + (U)) + ((U) + (U))) /\ ((cfc_right_invariant_computationterminalcode = ((v) + (V)) * S ((v) + (V)) + ((V) + (V))) /\ ((cfc_matrix_invariant_computationterminalcode = ((cfc_left_invariant_computationterminalcode) + (cfc_right_invariant_computationterminalcode)) * S ((cfc_left_invariant_computationterminalcode) + (cfc_right_invariant_computationterminalcode)) + ((cfc_right_invariant_computationterminalcode) + (cfc_right_invariant_computationterminalcode))) /\ ((cfc_state_invariant_computationterminal) = ((s) + (cfc_matrix_invariant_computationterminalcode)) * S ((s) + (cfc_matrix_invariant_computationterminalcode)) + ((cfc_matrix_invariant_computationterminalcode) + (cfc_matrix_invariant_computationterminalcode))))))) /\ (((exists ff_h_invariant_computationterminalentry. ff_h_invariant_computationterminalentry + S (cfc_state_invariant_computationterminal) = S ((S (S k)) * E)) /\ exists ff_q_invariant_computationterminalentry. H = ff_q_invariant_computationterminalentry * S ((S (S k)) * E) + (cfc_state_invariant_computationterminal))))) /\ (forall cfc_index_invariant_computation. (exists cfba_gap_invariant_computationbound. cfba_gap_invariant_computationbound + S (cfc_index_invariant_computation) = (S k)) -> exists cfc_old_invariant_computation cfc_a_invariant_computation cfc_b_invariant_computation cfc_c_invariant_computation cfc_d_invariant_computation cfc_new_invariant_computation cfc_quotient_invariant_computation. ((exists cfc_state_invariant_computationprevious. ((exists cfc_left_invariant_computationpreviouscode cfc_right_invariant_computationpreviouscode cfc_matrix_invariant_computationpreviouscode. ((cfc_left_invariant_computationpreviouscode = ((cfc_a_invariant_computation) + (cfc_b_invariant_computation)) * S ((cfc_a_invariant_computation) + (cfc_b_invariant_computation)) + ((cfc_b_invariant_computation) + (cfc_b_invariant_computation))) /\ ((cfc_right_invariant_computationpreviouscode = ((cfc_c_invariant_computation) + (cfc_d_invariant_computation)) * S ((cfc_c_invariant_computation) + (cfc_d_invariant_computation)) + ((cfc_d_invariant_computation) + (cfc_d_invariant_computation))) /\ ((cfc_matrix_invariant_computationpreviouscode = ((cfc_left_invariant_computationpreviouscode) + (cfc_right_invariant_computationpreviouscode)) * S ((cfc_left_invariant_computationpreviouscode) + (cfc_right_invariant_computationpreviouscode)) + ((cfc_right_invariant_computationpreviouscode) + (cfc_right_invariant_computationpreviouscode))) /\ ((cfc_state_invariant_computationprevious) = ((cfc_old_invariant_computation) + (cfc_matrix_invariant_computationpreviouscode)) * S ((cfc_old_invariant_computation) + (cfc_matrix_invariant_computationpreviouscode)) + ((cfc_matrix_invariant_computationpreviouscode) + (cfc_matrix_invariant_computationpreviouscode))))))) /\ (((exists ff_h_invariant_computationpreviousentry. ff_h_invariant_computationpreviousentry + S (cfc_state_invariant_computationprevious) = S ((S (cfc_index_invariant_computation)) * E)) /\ exists ff_q_invariant_computationpreviousentry. H = ff_q_invariant_computationpreviousentry * S ((S (cfc_index_invariant_computation)) * E) + (cfc_state_invariant_computationprevious))))) /\ ((exists cfc_state_invariant_computationfollowing. ((exists cfc_left_invariant_computationfollowingcode cfc_right_invariant_computationfollowingcode cfc_matrix_invariant_computationfollowingcode. ((cfc_left_invariant_computationfollowingcode = (((cfc_quotient_invariant_computation * cfc_a_invariant_computation + cfc_c_invariant_computation)) + ((cfc_quotient_invariant_computation * cfc_b_invariant_computation + cfc_d_invariant_computation))) * S (((cfc_quotient_invariant_computation * cfc_a_invariant_computation + cfc_c_invariant_computation)) + ((cfc_quotient_invariant_computation * cfc_b_invariant_computation + cfc_d_invariant_computation))) + (((cfc_quotient_invariant_computation * cfc_b_invariant_computation + cfc_d_invariant_computation)) + ((cfc_quotient_invariant_computation * cfc_b_invariant_computation + cfc_d_invariant_computation)))) /\ ((cfc_right_invariant_computationfollowingcode = ((cfc_a_invariant_computation) + (cfc_b_invariant_computation)) * S ((cfc_a_invariant_computation) + (cfc_b_invariant_computation)) + ((cfc_b_invariant_computation) + (cfc_b_invariant_computation))) /\ ((cfc_matrix_invariant_computationfollowingcode = ((cfc_left_invariant_computationfollowingcode) + (cfc_right_invariant_computationfollowingcode)) * S ((cfc_left_invariant_computationfollowingcode) + (cfc_right_invariant_computationfollowingcode)) + ((cfc_right_invariant_computationfollowingcode) + (cfc_right_invariant_computationfollowingcode))) /\ ((cfc_state_invariant_computationfollowing) = ((cfc_new_invariant_computation) + (cfc_matrix_invariant_computationfollowingcode)) * S ((cfc_new_invariant_computation) + (cfc_matrix_invariant_computationfollowingcode)) + ((cfc_matrix_invariant_computationfollowingcode) + (cfc_matrix_invariant_computationfollowingcode))))))) /\ (((exists ff_h_invariant_computationfollowingentry. ff_h_invariant_computationfollowingentry + S (cfc_state_invariant_computationfollowing) = S ((S (S cfc_index_invariant_computation)) * E)) /\ exists ff_q_invariant_computationfollowingentry. H = ff_q_invariant_computationfollowingentry * S ((S (S cfc_index_invariant_computation)) * E) + (cfc_state_invariant_computationfollowing))))) /\ (cfc_new_invariant_computation = S ((cfc_quotient_invariant_computation + cfc_old_invariant_computation) * S (cfc_quotient_invariant_computation + cfc_old_invariant_computation) + (cfc_old_invariant_computation + cfc_old_invariant_computation))))))))) -> (exists cfba_error_invariant_output cfba_previous_error_invariant_output. (((((u * V + 1 = U * v) /\ ((a * v = b * u + cfba_error_invariant_output) /\ (b * U = a * V + cfba_previous_error_invariant_output)))) \/ (((U * v + 1 = u * V) /\ ((b * u = a * v + cfba_error_invariant_output) /\ (a * V = b * U + cfba_previous_error_invariant_output))))) /\ ((exists cfba_gap_invariant_outputdecrease. cfba_gap_invariant_outputdecrease + S (cfba_error_invariant_output) = (cfba_previous_error_invariant_output)) /\ (exists cfba_bound_invariant_outputprevious_bound. cfba_bound_invariant_outputprevious_bound + (cfba_previous_error_invariant_output) = (b)))))Constructive proof overview
Generated structural guide
Ordinary HA induction on the actual nonempty quotient-prefix length derives determinant one, both alternating errors, strict decrease, and the denominator bound directly from G071 histories.
The unchanged tactic script uses 4 declared prerequisites and contains 165 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
BA003D cf_convergent_euclidean_matrix_step_alignment BA0032 cf_convergent_matrix_empty_elimination BA000B cf_approximation_first_recurrence_error_invariant BA000C cf_approximation_prepend_recurrence_error_invariantDirect 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 (4)
01Induction on kL1–10
02Fix variables and assumptionsL11–15
03Establish haL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16Definitions: ContinuedFractionTraceConvergentMatrixTraceLt
have ha · expand full local formula (864 characters)
have ha : ∃ cfc_r_invariant_aligned. ∃ cfc_tail_invariant_aligned. ∃ cfc_length_invariant_aligned. ∃ cfc_q_invariant_aligned. ∃ cfc_p_invariant_aligned. ∃ cfc_P_invariant_aligned. ∃ cfc_n_invariant_aligned. ∃ cfc_N_invariant_aligned. L = S cfc_length_invariant_aligned ∧ (a = b · cfc_q_invariant_aligned + cfc_r_invariant_aligned ∧ (Lt(cfc_r_invariant_aligned,b) ∧ (ContinuedFractionTrace(b,cfc_r_invariant_aligned,cfc_tail_invariant_aligned,h,e,cfc_length_invariant_aligned) ∧ (ConvergentMatrixTrace(cfc_tail_invariant_aligned,H,E,0,cfc_p_invariant_aligned,cfc_P_invariant_aligned,cfc_n_invariant_aligned,cfc_N_invariant_aligned) ∧ (u = cfc_q_invariant_aligned · cfc_p_invariant_aligned + cfc_n_invariant_aligned ∧ (U = cfc_q_invariant_aligned · cfc_P_invariant_aligned + cfc_N_invariant_aligned ∧ (v = cfc_p_invariant_aligned ∧ V = cfc_P_invariant_aligned))))))) - L17
specialize cf_convergent_euclidean_matrix_step_alignment (a) - L18
specialize cf_convergent_euclidean_matrix_step_alignment (b) - L19
specialize cf_convergent_euclidean_matrix_step_alignment (s) - L20
specialize cf_convergent_euclidean_matrix_step_alignment (h) - L21
specialize cf_convergent_euclidean_matrix_step_alignment (e) - L22
specialize cf_convergent_euclidean_matrix_step_alignment (L) - L23
specialize cf_convergent_euclidean_matrix_step_alignment (H) - L24
specialize cf_convergent_euclidean_matrix_step_alignment (E) - L25
specialize cf_convergent_euclidean_matrix_step_alignment (0)
04Use earlier factsL26–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize cf_convergent_euclidean_matrix_step_alignment (u) - L27
specialize cf_convergent_euclidean_matrix_step_alignment (U) - L28
specialize cf_convergent_euclidean_matrix_step_alignment (v) - L29
specialize cf_convergent_euclidean_matrix_step_alignment (V) - L30
apply cf_convergent_euclidean_matrix_step_alignment - L31
exact hold - L32
exact hnew
05Separate the logical casesL33–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases ha - L34
cases ha_witness - L35
cases ha_witness_witness - L36
cases ha_witness_witness_witness - L37
cases ha_witness_witness_witness_witness - L38
cases ha_witness_witness_witness_witness_witness - L39
cases ha_witness_witness_witness_witness_witness_witness - L40
cases ha_witness_witness_witness_witness_witness_witness_witness - L41
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - L42
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right
06Separate the logical casesL43–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L44
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - L45
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - L46
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - L47
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - L48
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right
07Establish hzL49–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply cf convergent matrix empty elimination.
- L49
have hz : ((x4 = 1) /\ ((x5 = 0) /\ ((x6 = 0) /\ (x7 = 1)))) - L50
specialize cf_convergent_matrix_empty_elimination (x1) - L51
specialize cf_convergent_matrix_empty_elimination (H) - L52
specialize cf_convergent_matrix_empty_elimination (E) - L53
specialize cf_convergent_matrix_empty_elimination (x4) - L54
specialize cf_convergent_matrix_empty_elimination (x5) - L55
specialize cf_convergent_matrix_empty_elimination (x6) - L56
specialize cf_convergent_matrix_empty_elimination (x7) - L57
apply cf_convergent_matrix_empty_elimination - L58
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left
08Separate the logical casesL59–61
09Use earlier factsL62–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
specialize cf_approximation_first_recurrence_error_invariant (a) - L63
specialize cf_approximation_first_recurrence_error_invariant (b) - L64
specialize cf_approximation_first_recurrence_error_invariant (x3) - L65
specialize cf_approximation_first_recurrence_error_invariant (x) - L66
specialize cf_approximation_first_recurrence_error_invariant (u) - L67
specialize cf_approximation_first_recurrence_error_invariant (U) - L68
specialize cf_approximation_first_recurrence_error_invariant (v) - L69
specialize cf_approximation_first_recurrence_error_invariant (V) - L70
specialize cf_approximation_first_recurrence_error_invariant (x4) - L71
specialize cf_approximation_first_recurrence_error_invariant (x5)
10Use earlier factsL72–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
specialize cf_approximation_first_recurrence_error_invariant (x6) - L73
specialize cf_approximation_first_recurrence_error_invariant (x7) - L74
apply cf_approximation_first_recurrence_error_invariant - L75
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L76
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - L77
exact hz_left - L78
exact hz_right_left - L79
exact hz_right_right_left - L80
exact hz_right_right_right - L81
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left
11Use earlier factsL82–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L82
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_left - L83
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_left - L84
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_right
12Fix variables and assumptionsL85–94
13Fix variables and assumptionsL95–98
14Establish haL99–108
Establish this local claim before using it. It is not an additional assumption.
- L99Definitions: ContinuedFractionTraceConvergentMatrixTraceLt
have ha · expand full local formula (866 characters)
have ha : ∃ cfc_r_invariant_aligned. ∃ cfc_tail_invariant_aligned. ∃ cfc_length_invariant_aligned. ∃ cfc_q_invariant_aligned. ∃ cfc_p_invariant_aligned. ∃ cfc_P_invariant_aligned. ∃ cfc_n_invariant_aligned. ∃ cfc_N_invariant_aligned. L = S cfc_length_invariant_aligned ∧ (a = b · cfc_q_invariant_aligned + cfc_r_invariant_aligned ∧ (Lt(cfc_r_invariant_aligned,b) ∧ (ContinuedFractionTrace(b,cfc_r_invariant_aligned,cfc_tail_invariant_aligned,h,e,cfc_length_invariant_aligned) ∧ (ConvergentMatrixTrace(cfc_tail_invariant_aligned,H,E,S k,cfc_p_invariant_aligned,cfc_P_invariant_aligned,cfc_n_invariant_aligned,cfc_N_invariant_aligned) ∧ (u = cfc_q_invariant_aligned · cfc_p_invariant_aligned + cfc_n_invariant_aligned ∧ (U = cfc_q_invariant_aligned · cfc_P_invariant_aligned + cfc_N_invariant_aligned ∧ (v = cfc_p_invariant_aligned ∧ V = cfc_P_invariant_aligned))))))) - L100
specialize cf_convergent_euclidean_matrix_step_alignment (a) - L101
specialize cf_convergent_euclidean_matrix_step_alignment (b) - L102
specialize cf_convergent_euclidean_matrix_step_alignment (s) - L103
specialize cf_convergent_euclidean_matrix_step_alignment (h) - L104
specialize cf_convergent_euclidean_matrix_step_alignment (e) - L105
specialize cf_convergent_euclidean_matrix_step_alignment (L) - L106
specialize cf_convergent_euclidean_matrix_step_alignment (H) - L107
specialize cf_convergent_euclidean_matrix_step_alignment (E) - L108
specialize cf_convergent_euclidean_matrix_step_alignment (S k)
15Use earlier factsL109–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L109
specialize cf_convergent_euclidean_matrix_step_alignment (u) - L110
specialize cf_convergent_euclidean_matrix_step_alignment (U) - L111
specialize cf_convergent_euclidean_matrix_step_alignment (v) - L112
specialize cf_convergent_euclidean_matrix_step_alignment (V) - L113
apply cf_convergent_euclidean_matrix_step_alignment - L114
exact hold - L115
exact hnew
16Separate the logical casesL116–125
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L116
cases ha - L117
cases ha_witness - L118
cases ha_witness_witness - L119
cases ha_witness_witness_witness - L120
cases ha_witness_witness_witness_witness - L121
cases ha_witness_witness_witness_witness_witness - L122
cases ha_witness_witness_witness_witness_witness_witness - L123
cases ha_witness_witness_witness_witness_witness_witness_witness - L124
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - L125
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right
17Separate the logical casesL126–131
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L126
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L127
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - L128
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - L129
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - L130
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - L131
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right
18Use earlier factsL132–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L132
specialize cf_approximation_prepend_recurrence_error_invariant (a) - L133
specialize cf_approximation_prepend_recurrence_error_invariant (b) - L134
specialize cf_approximation_prepend_recurrence_error_invariant (x3) - L135
specialize cf_approximation_prepend_recurrence_error_invariant (x) - L136
specialize cf_approximation_prepend_recurrence_error_invariant (u) - L137
specialize cf_approximation_prepend_recurrence_error_invariant (U) - L138
specialize cf_approximation_prepend_recurrence_error_invariant (v) - L139
specialize cf_approximation_prepend_recurrence_error_invariant (V) - L140
specialize cf_approximation_prepend_recurrence_error_invariant (x4) - L141
specialize cf_approximation_prepend_recurrence_error_invariant (x5)
19Use earlier factsL142–151
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L142
specialize cf_approximation_prepend_recurrence_error_invariant (x6) - L143
specialize cf_approximation_prepend_recurrence_error_invariant (x7) - L144
apply cf_approximation_prepend_recurrence_error_invariant - L145
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L146
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - L147
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - L148
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_left - L149
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_left - L150
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_right - L151
specialize IH (b)
20Use earlier factsL152–161
21Use earlier factsL162–165
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 165 lines
- 0001
induction k - 0002
intro a - 0003
intro b - 0004
intro s - 0005
intro h - 0006
intro e - 0007
intro L - 0008
intro H - 0009
intro E - 0010
intro u - 0011
intro U - 0012
intro v - 0013
intro V - 0014
intro hold - 0015
intro hnew - 0016
have ha : exists cfc_r_invariant_aligned cfc_tail_invariant_aligned cfc_length_invariant_aligned cfc_q_invariant_aligned cfc_p_invariant_aligned cfc_P_invariant_aligned cfc_n_invariant_aligned cfc_N_invariant_aligned. (((L) = S cfc_length_invariant_aligned) /\ (((a) = (b) * cfc_q_invariant_aligned + cfc_r_invariant_aligned) /\ ((exists cfba_gap_invariant_alignedbound. cfba_gap_invariant_alignedbound + S (cfc_r_invariant_aligned) = (b)) /\ ((exists cf_gcd_invariant_alignedeuclidean. ((((exists ff_h_cf_invariant_alignedeuclidean_initial_state. ff_h_cf_invariant_alignedeuclidean_initial_state + S (((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_initial_state. h = ff_q_cf_invariant_alignedeuclidean_initial_state * S ((S (0)) * e) + (((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_alignedeuclidean) + (((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_invariant_alignedeuclidean_terminal_state. ff_h_cf_invariant_alignedeuclidean_terminal_state + S (((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) * S ((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) + ((((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))))) = S ((S (cfc_length_invariant_aligned)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_terminal_state. h = ff_q_cf_invariant_alignedeuclidean_terminal_state * S ((S (cfc_length_invariant_aligned)) * e) + (((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) * S ((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) + ((((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))))))) /\ forall cf_index_invariant_alignedeuclidean. (exists ff_lt_cf_invariant_alignedeuclidean_index. ff_lt_cf_invariant_alignedeuclidean_index + S cf_index_invariant_alignedeuclidean = cfc_length_invariant_aligned) -> exists cf_old_a_invariant_alignedeuclidean cf_old_b_invariant_alignedeuclidean cf_tail_invariant_alignedeuclidean cf_new_a_invariant_alignedeuclidean cf_new_b_invariant_alignedeuclidean cf_head_invariant_alignedeuclidean cf_quotient_invariant_alignedeuclidean. ((((exists ff_h_cf_invariant_alignedeuclidean_previous_state. ff_h_cf_invariant_alignedeuclidean_previous_state + S (((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) * S ((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) + ((((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))))) = S ((S (cf_index_invariant_alignedeuclidean)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_previous_state. h = ff_q_cf_invariant_alignedeuclidean_previous_state * S ((S (cf_index_invariant_alignedeuclidean)) * e) + (((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) * S ((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) + ((((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))))))) /\ ((((exists ff_h_cf_invariant_alignedeuclidean_following_state. ff_h_cf_invariant_alignedeuclidean_following_state + S (((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) * S ((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) + ((((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))))) = S ((S (S cf_index_invariant_alignedeuclidean)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_following_state. h = ff_q_cf_invariant_alignedeuclidean_following_state * S ((S (S cf_index_invariant_alignedeuclidean)) * e) + (((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) * S ((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) + ((((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))))))) /\ (cf_new_b_invariant_alignedeuclidean = cf_old_a_invariant_alignedeuclidean /\ (cf_new_a_invariant_alignedeuclidean = cf_new_b_invariant_alignedeuclidean * cf_quotient_invariant_alignedeuclidean + cf_old_b_invariant_alignedeuclidean /\ ((exists ff_lt_cf_invariant_alignedeuclidean_remainder. ff_lt_cf_invariant_alignedeuclidean_remainder + S cf_old_b_invariant_alignedeuclidean = cf_new_b_invariant_alignedeuclidean) /\ (cf_head_invariant_alignedeuclidean = S ((cf_quotient_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean) * S (cf_quotient_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean))))))))))) /\ ((exists cfc_tail_invariant_alignedmatrix. ((exists cfc_state_invariant_alignedmatrixinitial. ((exists cfc_left_invariant_alignedmatrixinitialcode cfc_right_invariant_alignedmatrixinitialcode cfc_matrix_invariant_alignedmatrixinitialcode. ((cfc_left_invariant_alignedmatrixinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_invariant_alignedmatrixinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_invariant_alignedmatrixinitialcode = ((cfc_left_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode)) * S ((cfc_left_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode)) + ((cfc_right_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode))) /\ ((cfc_state_invariant_alignedmatrixinitial) = ((cfc_tail_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixinitialcode)) * S ((cfc_tail_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixinitialcode)) + ((cfc_matrix_invariant_alignedmatrixinitialcode) + (cfc_matrix_invariant_alignedmatrixinitialcode))))))) /\ (((exists ff_h_invariant_alignedmatrixinitialentry. ff_h_invariant_alignedmatrixinitialentry + S (cfc_state_invariant_alignedmatrixinitial) = S ((S (0)) * E)) /\ exists ff_q_invariant_alignedmatrixinitialentry. H = ff_q_invariant_alignedmatrixinitialentry * S ((S (0)) * E) + (cfc_state_invariant_alignedmatrixinitial))))) /\ ((exists cfc_state_invariant_alignedmatrixterminal. ((exists cfc_left_invariant_alignedmatrixterminalcode cfc_right_invariant_alignedmatrixterminalcode cfc_matrix_invariant_alignedmatrixterminalcode. ((cfc_left_invariant_alignedmatrixterminalcode = ((cfc_p_invariant_aligned) + (cfc_P_invariant_aligned)) * S ((cfc_p_invariant_aligned) + (cfc_P_invariant_aligned)) + ((cfc_P_invariant_aligned) + (cfc_P_invariant_aligned))) /\ ((cfc_right_invariant_alignedmatrixterminalcode = ((cfc_n_invariant_aligned) + (cfc_N_invariant_aligned)) * S ((cfc_n_invariant_aligned) + (cfc_N_invariant_aligned)) + ((cfc_N_invariant_aligned) + (cfc_N_invariant_aligned))) /\ ((cfc_matrix_invariant_alignedmatrixterminalcode = ((cfc_left_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode)) * S ((cfc_left_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode)) + ((cfc_right_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode))) /\ ((cfc_state_invariant_alignedmatrixterminal) = ((cfc_tail_invariant_aligned) + (cfc_matrix_invariant_alignedmatrixterminalcode)) * S ((cfc_tail_invariant_aligned) + (cfc_matrix_invariant_alignedmatrixterminalcode)) + ((cfc_matrix_invariant_alignedmatrixterminalcode) + (cfc_matrix_invariant_alignedmatrixterminalcode))))))) /\ (((exists ff_h_invariant_alignedmatrixterminalentry. ff_h_invariant_alignedmatrixterminalentry + S (cfc_state_invariant_alignedmatrixterminal) = S ((S (0)) * E)) /\ exists ff_q_invariant_alignedmatrixterminalentry. H = ff_q_invariant_alignedmatrixterminalentry * S ((S (0)) * E) + (cfc_state_invariant_alignedmatrixterminal))))) /\ (forall cfc_index_invariant_alignedmatrix. (exists cfba_gap_invariant_alignedmatrixbound. cfba_gap_invariant_alignedmatrixbound + S (cfc_index_invariant_alignedmatrix) = (0)) -> exists cfc_old_invariant_alignedmatrix cfc_a_invariant_alignedmatrix cfc_b_invariant_alignedmatrix cfc_c_invariant_alignedmatrix cfc_d_invariant_alignedmatrix cfc_new_invariant_alignedmatrix cfc_quotient_invariant_alignedmatrix. ((exists cfc_state_invariant_alignedmatrixprevious. ((exists cfc_left_invariant_alignedmatrixpreviouscode cfc_right_invariant_alignedmatrixpreviouscode cfc_matrix_invariant_alignedmatrixpreviouscode. ((cfc_left_invariant_alignedmatrixpreviouscode = ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) * S ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) + ((cfc_b_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix))) /\ ((cfc_right_invariant_alignedmatrixpreviouscode = ((cfc_c_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix)) * S ((cfc_c_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix)) + ((cfc_d_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix))) /\ ((cfc_matrix_invariant_alignedmatrixpreviouscode = ((cfc_left_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode)) * S ((cfc_left_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode)) + ((cfc_right_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode))) /\ ((cfc_state_invariant_alignedmatrixprevious) = ((cfc_old_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixpreviouscode)) * S ((cfc_old_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixpreviouscode)) + ((cfc_matrix_invariant_alignedmatrixpreviouscode) + (cfc_matrix_invariant_alignedmatrixpreviouscode))))))) /\ (((exists ff_h_invariant_alignedmatrixpreviousentry. ff_h_invariant_alignedmatrixpreviousentry + S (cfc_state_invariant_alignedmatrixprevious) = S ((S (cfc_index_invariant_alignedmatrix)) * E)) /\ exists ff_q_invariant_alignedmatrixpreviousentry. H = ff_q_invariant_alignedmatrixpreviousentry * S ((S (cfc_index_invariant_alignedmatrix)) * E) + (cfc_state_invariant_alignedmatrixprevious))))) /\ ((exists cfc_state_invariant_alignedmatrixfollowing. ((exists cfc_left_invariant_alignedmatrixfollowingcode cfc_right_invariant_alignedmatrixfollowingcode cfc_matrix_invariant_alignedmatrixfollowingcode. ((cfc_left_invariant_alignedmatrixfollowingcode = (((cfc_quotient_invariant_alignedmatrix * cfc_a_invariant_alignedmatrix + cfc_c_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix))) * S (((cfc_quotient_invariant_alignedmatrix * cfc_a_invariant_alignedmatrix + cfc_c_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix))) + (((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix)))) /\ ((cfc_right_invariant_alignedmatrixfollowingcode = ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) * S ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) + ((cfc_b_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix))) /\ ((cfc_matrix_invariant_alignedmatrixfollowingcode = ((cfc_left_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode)) * S ((cfc_left_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode)) + ((cfc_right_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode))) /\ ((cfc_state_invariant_alignedmatrixfollowing) = ((cfc_new_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixfollowingcode)) * S ((cfc_new_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixfollowingcode)) + ((cfc_matrix_invariant_alignedmatrixfollowingcode) + (cfc_matrix_invariant_alignedmatrixfollowingcode))))))) /\ (((exists ff_h_invariant_alignedmatrixfollowingentry. ff_h_invariant_alignedmatrixfollowingentry + S (cfc_state_invariant_alignedmatrixfollowing) = S ((S (S cfc_index_invariant_alignedmatrix)) * E)) /\ exists ff_q_invariant_alignedmatrixfollowingentry. H = ff_q_invariant_alignedmatrixfollowingentry * S ((S (S cfc_index_invariant_alignedmatrix)) * E) + (cfc_state_invariant_alignedmatrixfollowing))))) /\ (cfc_new_invariant_alignedmatrix = S ((cfc_quotient_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix) * S (cfc_quotient_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix) + (cfc_old_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix))))))))) /\ (((u) = cfc_q_invariant_aligned * cfc_p_invariant_aligned + cfc_n_invariant_aligned) /\ (((U) = cfc_q_invariant_aligned * cfc_P_invariant_aligned + cfc_N_invariant_aligned) /\ (((v) = cfc_p_invariant_aligned) /\ ((V) = cfc_P_invariant_aligned))))))))) - 0017
specialize cf_convergent_euclidean_matrix_step_alignment (a) - 0018
specialize cf_convergent_euclidean_matrix_step_alignment (b) - 0019
specialize cf_convergent_euclidean_matrix_step_alignment (s) - 0020
specialize cf_convergent_euclidean_matrix_step_alignment (h) - 0021
specialize cf_convergent_euclidean_matrix_step_alignment (e) - 0022
specialize cf_convergent_euclidean_matrix_step_alignment (L) - 0023
specialize cf_convergent_euclidean_matrix_step_alignment (H) - 0024
specialize cf_convergent_euclidean_matrix_step_alignment (E) - 0025
specialize cf_convergent_euclidean_matrix_step_alignment (0) - 0026
specialize cf_convergent_euclidean_matrix_step_alignment (u) - 0027
specialize cf_convergent_euclidean_matrix_step_alignment (U) - 0028
specialize cf_convergent_euclidean_matrix_step_alignment (v) - 0029
specialize cf_convergent_euclidean_matrix_step_alignment (V) - 0030
apply cf_convergent_euclidean_matrix_step_alignment - 0031
exact hold - 0032
exact hnew - 0033
cases ha - 0034
cases ha_witness - 0035
cases ha_witness_witness - 0036
cases ha_witness_witness_witness - 0037
cases ha_witness_witness_witness_witness - 0038
cases ha_witness_witness_witness_witness_witness - 0039
cases ha_witness_witness_witness_witness_witness_witness - 0040
cases ha_witness_witness_witness_witness_witness_witness_witness - 0041
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - 0042
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right - 0043
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0044
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0045
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0046
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0047
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - 0048
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right - 0049
have hz : ((x4 = 1) /\ ((x5 = 0) /\ ((x6 = 0) /\ (x7 = 1)))) - 0050
specialize cf_convergent_matrix_empty_elimination (x1) - 0051
specialize cf_convergent_matrix_empty_elimination (H) - 0052
specialize cf_convergent_matrix_empty_elimination (E) - 0053
specialize cf_convergent_matrix_empty_elimination (x4) - 0054
specialize cf_convergent_matrix_empty_elimination (x5) - 0055
specialize cf_convergent_matrix_empty_elimination (x6) - 0056
specialize cf_convergent_matrix_empty_elimination (x7) - 0057
apply cf_convergent_matrix_empty_elimination - 0058
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0059
cases hz - 0060
cases hz_right - 0061
cases hz_right_right - 0062
specialize cf_approximation_first_recurrence_error_invariant (a) - 0063
specialize cf_approximation_first_recurrence_error_invariant (b) - 0064
specialize cf_approximation_first_recurrence_error_invariant (x3) - 0065
specialize cf_approximation_first_recurrence_error_invariant (x) - 0066
specialize cf_approximation_first_recurrence_error_invariant (u) - 0067
specialize cf_approximation_first_recurrence_error_invariant (U) - 0068
specialize cf_approximation_first_recurrence_error_invariant (v) - 0069
specialize cf_approximation_first_recurrence_error_invariant (V) - 0070
specialize cf_approximation_first_recurrence_error_invariant (x4) - 0071
specialize cf_approximation_first_recurrence_error_invariant (x5) - 0072
specialize cf_approximation_first_recurrence_error_invariant (x6) - 0073
specialize cf_approximation_first_recurrence_error_invariant (x7) - 0074
apply cf_approximation_first_recurrence_error_invariant - 0075
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0076
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0077
exact hz_left - 0078
exact hz_right_left - 0079
exact hz_right_right_left - 0080
exact hz_right_right_right - 0081
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0082
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_left - 0083
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_left - 0084
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_right - 0085
intro a - 0086
intro b - 0087
intro s - 0088
intro h - 0089
intro e - 0090
intro L - 0091
intro H - 0092
intro E - 0093
intro u - 0094
intro U - 0095
intro v - 0096
intro V - 0097
intro hold - 0098
intro hnew - 0099
have ha : exists cfc_r_invariant_aligned cfc_tail_invariant_aligned cfc_length_invariant_aligned cfc_q_invariant_aligned cfc_p_invariant_aligned cfc_P_invariant_aligned cfc_n_invariant_aligned cfc_N_invariant_aligned. (((L) = S cfc_length_invariant_aligned) /\ (((a) = (b) * cfc_q_invariant_aligned + cfc_r_invariant_aligned) /\ ((exists cfba_gap_invariant_alignedbound. cfba_gap_invariant_alignedbound + S (cfc_r_invariant_aligned) = (b)) /\ ((exists cf_gcd_invariant_alignedeuclidean. ((((exists ff_h_cf_invariant_alignedeuclidean_initial_state. ff_h_cf_invariant_alignedeuclidean_initial_state + S (((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_initial_state. h = ff_q_cf_invariant_alignedeuclidean_initial_state * S ((S (0)) * e) + (((cf_gcd_invariant_alignedeuclidean) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_invariant_alignedeuclidean) + (((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_invariant_alignedeuclidean_terminal_state. ff_h_cf_invariant_alignedeuclidean_terminal_state + S (((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) * S ((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) + ((((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))))) = S ((S (cfc_length_invariant_aligned)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_terminal_state. h = ff_q_cf_invariant_alignedeuclidean_terminal_state * S ((S (cfc_length_invariant_aligned)) * e) + (((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) * S ((b) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned)))) + ((((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))) + (((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) * S ((cfc_r_invariant_aligned) + (cfc_tail_invariant_aligned)) + ((cfc_tail_invariant_aligned) + (cfc_tail_invariant_aligned))))))) /\ forall cf_index_invariant_alignedeuclidean. (exists ff_lt_cf_invariant_alignedeuclidean_index. ff_lt_cf_invariant_alignedeuclidean_index + S cf_index_invariant_alignedeuclidean = cfc_length_invariant_aligned) -> exists cf_old_a_invariant_alignedeuclidean cf_old_b_invariant_alignedeuclidean cf_tail_invariant_alignedeuclidean cf_new_a_invariant_alignedeuclidean cf_new_b_invariant_alignedeuclidean cf_head_invariant_alignedeuclidean cf_quotient_invariant_alignedeuclidean. ((((exists ff_h_cf_invariant_alignedeuclidean_previous_state. ff_h_cf_invariant_alignedeuclidean_previous_state + S (((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) * S ((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) + ((((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))))) = S ((S (cf_index_invariant_alignedeuclidean)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_previous_state. h = ff_q_cf_invariant_alignedeuclidean_previous_state * S ((S (cf_index_invariant_alignedeuclidean)) * e) + (((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) * S ((cf_old_a_invariant_alignedeuclidean) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)))) + ((((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))) + (((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) * S ((cf_old_b_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean)) + ((cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean))))))) /\ ((((exists ff_h_cf_invariant_alignedeuclidean_following_state. ff_h_cf_invariant_alignedeuclidean_following_state + S (((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) * S ((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) + ((((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))))) = S ((S (S cf_index_invariant_alignedeuclidean)) * e)) /\ exists ff_q_cf_invariant_alignedeuclidean_following_state. h = ff_q_cf_invariant_alignedeuclidean_following_state * S ((S (S cf_index_invariant_alignedeuclidean)) * e) + (((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) * S ((cf_new_a_invariant_alignedeuclidean) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)))) + ((((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))) + (((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) * S ((cf_new_b_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean)) + ((cf_head_invariant_alignedeuclidean) + (cf_head_invariant_alignedeuclidean))))))) /\ (cf_new_b_invariant_alignedeuclidean = cf_old_a_invariant_alignedeuclidean /\ (cf_new_a_invariant_alignedeuclidean = cf_new_b_invariant_alignedeuclidean * cf_quotient_invariant_alignedeuclidean + cf_old_b_invariant_alignedeuclidean /\ ((exists ff_lt_cf_invariant_alignedeuclidean_remainder. ff_lt_cf_invariant_alignedeuclidean_remainder + S cf_old_b_invariant_alignedeuclidean = cf_new_b_invariant_alignedeuclidean) /\ (cf_head_invariant_alignedeuclidean = S ((cf_quotient_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean) * S (cf_quotient_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean) + (cf_tail_invariant_alignedeuclidean + cf_tail_invariant_alignedeuclidean))))))))))) /\ ((exists cfc_tail_invariant_alignedmatrix. ((exists cfc_state_invariant_alignedmatrixinitial. ((exists cfc_left_invariant_alignedmatrixinitialcode cfc_right_invariant_alignedmatrixinitialcode cfc_matrix_invariant_alignedmatrixinitialcode. ((cfc_left_invariant_alignedmatrixinitialcode = ((1) + (0)) * S ((1) + (0)) + ((0) + (0))) /\ ((cfc_right_invariant_alignedmatrixinitialcode = ((0) + (1)) * S ((0) + (1)) + ((1) + (1))) /\ ((cfc_matrix_invariant_alignedmatrixinitialcode = ((cfc_left_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode)) * S ((cfc_left_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode)) + ((cfc_right_invariant_alignedmatrixinitialcode) + (cfc_right_invariant_alignedmatrixinitialcode))) /\ ((cfc_state_invariant_alignedmatrixinitial) = ((cfc_tail_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixinitialcode)) * S ((cfc_tail_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixinitialcode)) + ((cfc_matrix_invariant_alignedmatrixinitialcode) + (cfc_matrix_invariant_alignedmatrixinitialcode))))))) /\ (((exists ff_h_invariant_alignedmatrixinitialentry. ff_h_invariant_alignedmatrixinitialentry + S (cfc_state_invariant_alignedmatrixinitial) = S ((S (0)) * E)) /\ exists ff_q_invariant_alignedmatrixinitialentry. H = ff_q_invariant_alignedmatrixinitialentry * S ((S (0)) * E) + (cfc_state_invariant_alignedmatrixinitial))))) /\ ((exists cfc_state_invariant_alignedmatrixterminal. ((exists cfc_left_invariant_alignedmatrixterminalcode cfc_right_invariant_alignedmatrixterminalcode cfc_matrix_invariant_alignedmatrixterminalcode. ((cfc_left_invariant_alignedmatrixterminalcode = ((cfc_p_invariant_aligned) + (cfc_P_invariant_aligned)) * S ((cfc_p_invariant_aligned) + (cfc_P_invariant_aligned)) + ((cfc_P_invariant_aligned) + (cfc_P_invariant_aligned))) /\ ((cfc_right_invariant_alignedmatrixterminalcode = ((cfc_n_invariant_aligned) + (cfc_N_invariant_aligned)) * S ((cfc_n_invariant_aligned) + (cfc_N_invariant_aligned)) + ((cfc_N_invariant_aligned) + (cfc_N_invariant_aligned))) /\ ((cfc_matrix_invariant_alignedmatrixterminalcode = ((cfc_left_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode)) * S ((cfc_left_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode)) + ((cfc_right_invariant_alignedmatrixterminalcode) + (cfc_right_invariant_alignedmatrixterminalcode))) /\ ((cfc_state_invariant_alignedmatrixterminal) = ((cfc_tail_invariant_aligned) + (cfc_matrix_invariant_alignedmatrixterminalcode)) * S ((cfc_tail_invariant_aligned) + (cfc_matrix_invariant_alignedmatrixterminalcode)) + ((cfc_matrix_invariant_alignedmatrixterminalcode) + (cfc_matrix_invariant_alignedmatrixterminalcode))))))) /\ (((exists ff_h_invariant_alignedmatrixterminalentry. ff_h_invariant_alignedmatrixterminalentry + S (cfc_state_invariant_alignedmatrixterminal) = S ((S (S k)) * E)) /\ exists ff_q_invariant_alignedmatrixterminalentry. H = ff_q_invariant_alignedmatrixterminalentry * S ((S (S k)) * E) + (cfc_state_invariant_alignedmatrixterminal))))) /\ (forall cfc_index_invariant_alignedmatrix. (exists cfba_gap_invariant_alignedmatrixbound. cfba_gap_invariant_alignedmatrixbound + S (cfc_index_invariant_alignedmatrix) = (S k)) -> exists cfc_old_invariant_alignedmatrix cfc_a_invariant_alignedmatrix cfc_b_invariant_alignedmatrix cfc_c_invariant_alignedmatrix cfc_d_invariant_alignedmatrix cfc_new_invariant_alignedmatrix cfc_quotient_invariant_alignedmatrix. ((exists cfc_state_invariant_alignedmatrixprevious. ((exists cfc_left_invariant_alignedmatrixpreviouscode cfc_right_invariant_alignedmatrixpreviouscode cfc_matrix_invariant_alignedmatrixpreviouscode. ((cfc_left_invariant_alignedmatrixpreviouscode = ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) * S ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) + ((cfc_b_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix))) /\ ((cfc_right_invariant_alignedmatrixpreviouscode = ((cfc_c_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix)) * S ((cfc_c_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix)) + ((cfc_d_invariant_alignedmatrix) + (cfc_d_invariant_alignedmatrix))) /\ ((cfc_matrix_invariant_alignedmatrixpreviouscode = ((cfc_left_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode)) * S ((cfc_left_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode)) + ((cfc_right_invariant_alignedmatrixpreviouscode) + (cfc_right_invariant_alignedmatrixpreviouscode))) /\ ((cfc_state_invariant_alignedmatrixprevious) = ((cfc_old_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixpreviouscode)) * S ((cfc_old_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixpreviouscode)) + ((cfc_matrix_invariant_alignedmatrixpreviouscode) + (cfc_matrix_invariant_alignedmatrixpreviouscode))))))) /\ (((exists ff_h_invariant_alignedmatrixpreviousentry. ff_h_invariant_alignedmatrixpreviousentry + S (cfc_state_invariant_alignedmatrixprevious) = S ((S (cfc_index_invariant_alignedmatrix)) * E)) /\ exists ff_q_invariant_alignedmatrixpreviousentry. H = ff_q_invariant_alignedmatrixpreviousentry * S ((S (cfc_index_invariant_alignedmatrix)) * E) + (cfc_state_invariant_alignedmatrixprevious))))) /\ ((exists cfc_state_invariant_alignedmatrixfollowing. ((exists cfc_left_invariant_alignedmatrixfollowingcode cfc_right_invariant_alignedmatrixfollowingcode cfc_matrix_invariant_alignedmatrixfollowingcode. ((cfc_left_invariant_alignedmatrixfollowingcode = (((cfc_quotient_invariant_alignedmatrix * cfc_a_invariant_alignedmatrix + cfc_c_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix))) * S (((cfc_quotient_invariant_alignedmatrix * cfc_a_invariant_alignedmatrix + cfc_c_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix))) + (((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix)) + ((cfc_quotient_invariant_alignedmatrix * cfc_b_invariant_alignedmatrix + cfc_d_invariant_alignedmatrix)))) /\ ((cfc_right_invariant_alignedmatrixfollowingcode = ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) * S ((cfc_a_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix)) + ((cfc_b_invariant_alignedmatrix) + (cfc_b_invariant_alignedmatrix))) /\ ((cfc_matrix_invariant_alignedmatrixfollowingcode = ((cfc_left_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode)) * S ((cfc_left_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode)) + ((cfc_right_invariant_alignedmatrixfollowingcode) + (cfc_right_invariant_alignedmatrixfollowingcode))) /\ ((cfc_state_invariant_alignedmatrixfollowing) = ((cfc_new_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixfollowingcode)) * S ((cfc_new_invariant_alignedmatrix) + (cfc_matrix_invariant_alignedmatrixfollowingcode)) + ((cfc_matrix_invariant_alignedmatrixfollowingcode) + (cfc_matrix_invariant_alignedmatrixfollowingcode))))))) /\ (((exists ff_h_invariant_alignedmatrixfollowingentry. ff_h_invariant_alignedmatrixfollowingentry + S (cfc_state_invariant_alignedmatrixfollowing) = S ((S (S cfc_index_invariant_alignedmatrix)) * E)) /\ exists ff_q_invariant_alignedmatrixfollowingentry. H = ff_q_invariant_alignedmatrixfollowingentry * S ((S (S cfc_index_invariant_alignedmatrix)) * E) + (cfc_state_invariant_alignedmatrixfollowing))))) /\ (cfc_new_invariant_alignedmatrix = S ((cfc_quotient_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix) * S (cfc_quotient_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix) + (cfc_old_invariant_alignedmatrix + cfc_old_invariant_alignedmatrix))))))))) /\ (((u) = cfc_q_invariant_aligned * cfc_p_invariant_aligned + cfc_n_invariant_aligned) /\ (((U) = cfc_q_invariant_aligned * cfc_P_invariant_aligned + cfc_N_invariant_aligned) /\ (((v) = cfc_p_invariant_aligned) /\ ((V) = cfc_P_invariant_aligned))))))))) - 0100
specialize cf_convergent_euclidean_matrix_step_alignment (a) - 0101
specialize cf_convergent_euclidean_matrix_step_alignment (b) - 0102
specialize cf_convergent_euclidean_matrix_step_alignment (s) - 0103
specialize cf_convergent_euclidean_matrix_step_alignment (h) - 0104
specialize cf_convergent_euclidean_matrix_step_alignment (e) - 0105
specialize cf_convergent_euclidean_matrix_step_alignment (L) - 0106
specialize cf_convergent_euclidean_matrix_step_alignment (H) - 0107
specialize cf_convergent_euclidean_matrix_step_alignment (E) - 0108
specialize cf_convergent_euclidean_matrix_step_alignment (S k) - 0109
specialize cf_convergent_euclidean_matrix_step_alignment (u) - 0110
specialize cf_convergent_euclidean_matrix_step_alignment (U) - 0111
specialize cf_convergent_euclidean_matrix_step_alignment (v) - 0112
specialize cf_convergent_euclidean_matrix_step_alignment (V) - 0113
apply cf_convergent_euclidean_matrix_step_alignment - 0114
exact hold - 0115
exact hnew - 0116
cases ha - 0117
cases ha_witness - 0118
cases ha_witness_witness - 0119
cases ha_witness_witness_witness - 0120
cases ha_witness_witness_witness_witness - 0121
cases ha_witness_witness_witness_witness_witness - 0122
cases ha_witness_witness_witness_witness_witness_witness - 0123
cases ha_witness_witness_witness_witness_witness_witness_witness - 0124
cases ha_witness_witness_witness_witness_witness_witness_witness_witness - 0125
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right - 0126
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0127
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0128
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0129
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right - 0130
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right - 0131
cases ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right - 0132
specialize cf_approximation_prepend_recurrence_error_invariant (a) - 0133
specialize cf_approximation_prepend_recurrence_error_invariant (b) - 0134
specialize cf_approximation_prepend_recurrence_error_invariant (x3) - 0135
specialize cf_approximation_prepend_recurrence_error_invariant (x) - 0136
specialize cf_approximation_prepend_recurrence_error_invariant (u) - 0137
specialize cf_approximation_prepend_recurrence_error_invariant (U) - 0138
specialize cf_approximation_prepend_recurrence_error_invariant (v) - 0139
specialize cf_approximation_prepend_recurrence_error_invariant (V) - 0140
specialize cf_approximation_prepend_recurrence_error_invariant (x4) - 0141
specialize cf_approximation_prepend_recurrence_error_invariant (x5) - 0142
specialize cf_approximation_prepend_recurrence_error_invariant (x6) - 0143
specialize cf_approximation_prepend_recurrence_error_invariant (x7) - 0144
apply cf_approximation_prepend_recurrence_error_invariant - 0145
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0146
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0147
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_left - 0148
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_left - 0149
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_left - 0150
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right_right_right_right - 0151
specialize IH (b) - 0152
specialize IH (x) - 0153
specialize IH (x1) - 0154
specialize IH (h) - 0155
specialize IH (e) - 0156
specialize IH (x2) - 0157
specialize IH (H) - 0158
specialize IH (E) - 0159
specialize IH (x4) - 0160
specialize IH (x5) - 0161
specialize IH (x6) - 0162
specialize IH (x7) - 0163
apply IH - 0164
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0165
exact ha_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left