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 B b. (exists gap. gap + b = B) -> forall a. (exists s h e l. ((exists cf_gcd_ec_induction_bounded. ((((exists ff_h_cf_ec_induction_bounded_initial_state. ff_h_cf_ec_induction_bounded_initial_state + S (((cf_gcd_ec_induction_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_induction_bounded) + (((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_ec_induction_bounded_initial_state. h = ff_q_cf_ec_induction_bounded_initial_state * S ((S (0)) * e) + (((cf_gcd_ec_induction_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_induction_bounded) + (((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_ec_induction_bounded_terminal_state. ff_h_cf_ec_induction_bounded_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_ec_induction_bounded_terminal_state. h = ff_q_cf_ec_induction_bounded_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_ec_induction_bounded. (exists ff_lt_cf_ec_induction_bounded_index. ff_lt_cf_ec_induction_bounded_index + S cf_index_ec_induction_bounded = l) -> exists cf_old_a_ec_induction_bounded cf_old_b_ec_induction_bounded cf_tail_ec_induction_bounded cf_new_a_ec_induction_bounded cf_new_b_ec_induction_bounded cf_head_ec_induction_bounded cf_quotient_ec_induction_bounded. ((((exists ff_h_cf_ec_induction_bounded_previous_state. ff_h_cf_ec_induction_bounded_previous_state + S (((cf_old_a_ec_induction_bounded) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded)))) * S ((cf_old_a_ec_induction_bounded) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded)))) + ((((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded))) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded))))) = S ((S (cf_index_ec_induction_bounded)) * e)) /\ exists ff_q_cf_ec_induction_bounded_previous_state. h = ff_q_cf_ec_induction_bounded_previous_state * S ((S (cf_index_ec_induction_bounded)) * e) + (((cf_old_a_ec_induction_bounded) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded)))) * S ((cf_old_a_ec_induction_bounded) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded)))) + ((((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded))) + (((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) * S ((cf_old_b_ec_induction_bounded) + (cf_tail_ec_induction_bounded)) + ((cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded))))))) /\ ((((exists ff_h_cf_ec_induction_bounded_following_state. ff_h_cf_ec_induction_bounded_following_state + S (((cf_new_a_ec_induction_bounded) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded)))) * S ((cf_new_a_ec_induction_bounded) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded)))) + ((((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded))) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded))))) = S ((S (S cf_index_ec_induction_bounded)) * e)) /\ exists ff_q_cf_ec_induction_bounded_following_state. h = ff_q_cf_ec_induction_bounded_following_state * S ((S (S cf_index_ec_induction_bounded)) * e) + (((cf_new_a_ec_induction_bounded) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded)))) * S ((cf_new_a_ec_induction_bounded) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded)))) + ((((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded))) + (((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) * S ((cf_new_b_ec_induction_bounded) + (cf_head_ec_induction_bounded)) + ((cf_head_ec_induction_bounded) + (cf_head_ec_induction_bounded))))))) /\ (cf_new_b_ec_induction_bounded = cf_old_a_ec_induction_bounded /\ (cf_new_a_ec_induction_bounded = cf_new_b_ec_induction_bounded * cf_quotient_ec_induction_bounded + cf_old_b_ec_induction_bounded /\ ((exists ff_lt_cf_ec_induction_bounded_remainder. ff_lt_cf_ec_induction_bounded_remainder + S cf_old_b_ec_induction_bounded = cf_new_b_ec_induction_bounded) /\ (cf_head_ec_induction_bounded = S ((cf_quotient_ec_induction_bounded + cf_tail_ec_induction_bounded) * S (cf_quotient_ec_induction_bounded + cf_tail_ec_induction_bounded) + (cf_tail_ec_induction_bounded + cf_tail_ec_induction_bounded))))))))))) /\ (exists ec_bound_gap_induction. ec_bound_gap_induction + l = B)))Constructive proof overview
Generated structural guide
Bounded natural induction constructs an authentic complete Euclidean beta-history using at most B divisions whenever the divisor is at most B.
The unchanged tactic script uses 9 declared prerequisites and contains 113 exact native proof lines.
Alpha v34 checked-use · first admitted v21 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_zero Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized division_remainder_exists Stable theorem; checked-use authorized continued_fraction_empty_trace_exists Alpha theorem; checked-use authorized continued_fraction_trace_extend Alpha theorem; checked-use authorized le_refl Stable theorem; checked-use authorized succ_le_succ Stable theorem; checked-use authorized EC0007 euclidean_trace_bound_weakenDirect 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 (1)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro B
02Induction on BL2–5
03Establish hb0L6–9
04Separate the logical casesL10–11
05Construct an explicit witnessL12–15
06Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
split
07Calculate and transport equalitiesL17–26
08Calculate and transport equalitiesL27–32
09Use earlier factsL33–35
10Fix variables and assumptionsL36–38
11Use earlier factsL39–40
12Establish hsplitL41–43
13Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
cases hsplit
14Establish hb0L45–51
15Establish hdivisionL52–54
16Separate the logical casesL55–57
17Establish hrBL58–61
18Establish hsmallL62–63
Establish this local claim before using it. It is not an additional assumption.
- L62
have hsmall : ∃ s. ∃ h. ∃ e. ∃ l. ContinuedFractionTrace(b,x1,s,h,e,l) ∧ l ≤ BDefinitions: ContinuedFractionTrace - L63
specialize IH x1
19Establish hallL64–68
20Separate the logical casesL69–73
21Establish hextendL74–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply continued fraction trace extend.
- L74
have hextend : ∃ s. ∃ z. ∃ c. ListCell(s,x,x2) ∧ ContinuedFractionTrace(a,b,s,z,c,S x5)Definitions: ListCellContinuedFractionTrace - L75
specialize continued_fraction_trace_extend a - L76
specialize continued_fraction_trace_extend b - L77
specialize continued_fraction_trace_extend x - L78
specialize continued_fraction_trace_extend x1 - L79
specialize continued_fraction_trace_extend x2 - L80
specialize continued_fraction_trace_extend x3 - L81
specialize continued_fraction_trace_extend x4 - L82
specialize continued_fraction_trace_extend x5 - L83
apply continued_fraction_trace_extend
22Use earlier factsL84–86
23Separate the logical casesL87–90
24Construct an explicit witnessL91–94
25Separate the logical casesL95–95
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L95
split
26Use earlier factsL96–100
27Establish hbBL101–104
28Establish hallL105–113
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L105
have hall : ∀ z. ∃ x. ∃ y. ∃ n. ∃ m. ContinuedFractionTrace(z,b,x,y,n,m) ∧ m ≤ BDefinitions: ContinuedFractionTrace - L106
apply IH - L107
exact hbB - L108
specialize hall a - L109
specialize euclidean_trace_bound_weaken a - L110
specialize euclidean_trace_bound_weaken b - L111
specialize euclidean_trace_bound_weaken B - L112
apply euclidean_trace_bound_weaken - L113
exact hall
Original exact command ledger · 113 lines
- 0001
intro B - 0002
induction B - 0003
intro b - 0004
intro hb - 0005
intro a - 0006
have hb0 : b = 0 - 0007
apply le_zero - 0008
exact hb - 0009
specialize continued_fraction_empty_trace_exists a - 0010
cases continued_fraction_empty_trace_exists - 0011
cases continued_fraction_empty_trace_exists_witness - 0012
exists 0 - 0013
exists x - 0014
exists x1 - 0015
exists 0 - 0016
split - 0017
rewrite hb0 - 0018
rewrite hb0 - 0019
rewrite hb0 - 0020
rewrite hb0 - 0021
rewrite hb0 - 0022
rewrite hb0 - 0023
rewrite hb0 - 0024
rewrite hb0 - 0025
rewrite hb0 - 0026
rewrite hb0 - 0027
rewrite hb0 - 0028
rewrite hb0 - 0029
rewrite hb0 - 0030
rewrite hb0 - 0031
rewrite hb0 - 0032
rewrite hb0 - 0033
exact continued_fraction_empty_trace_exists_witness_witness - 0034
specialize le_refl 0 - 0035
exact le_refl - 0036
intro b - 0037
intro hb - 0038
intro a - 0039
specialize le_eq_or_lt b - 0040
specialize le_eq_or_lt (S B) - 0041
have hsplit : b = S B \/ exists gap. gap + S b = S B - 0042
apply le_eq_or_lt - 0043
exact hb - 0044
cases hsplit - 0045
have hb0 : ~(b = 0) - 0046
intro hzero - 0047
apply PA1 - 0048
trans b - 0049
symm - 0050
exact hsplit_left - 0051
exact hzero - 0052
have hdivision : exists q r. a = b * q + r /\ exists gap. gap + S r = b - 0053
apply division_remainder_exists - 0054
exact hb0 - 0055
cases hdivision - 0056
cases hdivision_witness - 0057
cases hdivision_witness_witness - 0058
have hrB : exists gap. gap + x1 = B - 0059
apply le_of_succ_le_succ - 0060
rewrite hsplit_left at hdivision_witness_witness_right - 0061
exact hdivision_witness_witness_right - 0062
have hsmall : exists s h e l. ((exists cf_gcd_ec_reduced_bounded. ((((exists ff_h_cf_ec_reduced_bounded_initial_state. ff_h_cf_ec_reduced_bounded_initial_state + S (((cf_gcd_ec_reduced_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_reduced_bounded) + (((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_ec_reduced_bounded_initial_state. h = ff_q_cf_ec_reduced_bounded_initial_state * S ((S (0)) * e) + (((cf_gcd_ec_reduced_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_reduced_bounded) + (((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_ec_reduced_bounded_terminal_state. ff_h_cf_ec_reduced_bounded_terminal_state + S (((b) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) * S ((b) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) + ((((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))))) = S ((S (l)) * e)) /\ exists ff_q_cf_ec_reduced_bounded_terminal_state. h = ff_q_cf_ec_reduced_bounded_terminal_state * S ((S (l)) * e) + (((b) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) * S ((b) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) + ((((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))))))) /\ forall cf_index_ec_reduced_bounded. (exists ff_lt_cf_ec_reduced_bounded_index. ff_lt_cf_ec_reduced_bounded_index + S cf_index_ec_reduced_bounded = l) -> exists cf_old_a_ec_reduced_bounded cf_old_b_ec_reduced_bounded cf_tail_ec_reduced_bounded cf_new_a_ec_reduced_bounded cf_new_b_ec_reduced_bounded cf_head_ec_reduced_bounded cf_quotient_ec_reduced_bounded. ((((exists ff_h_cf_ec_reduced_bounded_previous_state. ff_h_cf_ec_reduced_bounded_previous_state + S (((cf_old_a_ec_reduced_bounded) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)))) * S ((cf_old_a_ec_reduced_bounded) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)))) + ((((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded))) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded))))) = S ((S (cf_index_ec_reduced_bounded)) * e)) /\ exists ff_q_cf_ec_reduced_bounded_previous_state. h = ff_q_cf_ec_reduced_bounded_previous_state * S ((S (cf_index_ec_reduced_bounded)) * e) + (((cf_old_a_ec_reduced_bounded) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)))) * S ((cf_old_a_ec_reduced_bounded) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)))) + ((((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded))) + (((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) * S ((cf_old_b_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded)) + ((cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded))))))) /\ ((((exists ff_h_cf_ec_reduced_bounded_following_state. ff_h_cf_ec_reduced_bounded_following_state + S (((cf_new_a_ec_reduced_bounded) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)))) * S ((cf_new_a_ec_reduced_bounded) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)))) + ((((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded))) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded))))) = S ((S (S cf_index_ec_reduced_bounded)) * e)) /\ exists ff_q_cf_ec_reduced_bounded_following_state. h = ff_q_cf_ec_reduced_bounded_following_state * S ((S (S cf_index_ec_reduced_bounded)) * e) + (((cf_new_a_ec_reduced_bounded) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)))) * S ((cf_new_a_ec_reduced_bounded) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)))) + ((((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded))) + (((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) * S ((cf_new_b_ec_reduced_bounded) + (cf_head_ec_reduced_bounded)) + ((cf_head_ec_reduced_bounded) + (cf_head_ec_reduced_bounded))))))) /\ (cf_new_b_ec_reduced_bounded = cf_old_a_ec_reduced_bounded /\ (cf_new_a_ec_reduced_bounded = cf_new_b_ec_reduced_bounded * cf_quotient_ec_reduced_bounded + cf_old_b_ec_reduced_bounded /\ ((exists ff_lt_cf_ec_reduced_bounded_remainder. ff_lt_cf_ec_reduced_bounded_remainder + S cf_old_b_ec_reduced_bounded = cf_new_b_ec_reduced_bounded) /\ (cf_head_ec_reduced_bounded = S ((cf_quotient_ec_reduced_bounded + cf_tail_ec_reduced_bounded) * S (cf_quotient_ec_reduced_bounded + cf_tail_ec_reduced_bounded) + (cf_tail_ec_reduced_bounded + cf_tail_ec_reduced_bounded))))))))))) /\ (exists ec_bound_gap_reduced. ec_bound_gap_reduced + l = B)) - 0063
specialize IH x1 - 0064
have hall : forall z. (exists s h e l. ((exists cf_gcd_ec_reduced_all_bounded. ((((exists ff_h_cf_ec_reduced_all_bounded_initial_state. ff_h_cf_ec_reduced_all_bounded_initial_state + S (((cf_gcd_ec_reduced_all_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_reduced_all_bounded) + (((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_ec_reduced_all_bounded_initial_state. h = ff_q_cf_ec_reduced_all_bounded_initial_state * S ((S (0)) * e) + (((cf_gcd_ec_reduced_all_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_reduced_all_bounded) + (((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_ec_reduced_all_bounded_terminal_state. ff_h_cf_ec_reduced_all_bounded_terminal_state + S (((z) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) * S ((z) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) + ((((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))))) = S ((S (l)) * e)) /\ exists ff_q_cf_ec_reduced_all_bounded_terminal_state. h = ff_q_cf_ec_reduced_all_bounded_terminal_state * S ((S (l)) * e) + (((z) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) * S ((z) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s)))) + ((((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))) + (((x1) + (s)) * S ((x1) + (s)) + ((s) + (s))))))) /\ forall cf_index_ec_reduced_all_bounded. (exists ff_lt_cf_ec_reduced_all_bounded_index. ff_lt_cf_ec_reduced_all_bounded_index + S cf_index_ec_reduced_all_bounded = l) -> exists cf_old_a_ec_reduced_all_bounded cf_old_b_ec_reduced_all_bounded cf_tail_ec_reduced_all_bounded cf_new_a_ec_reduced_all_bounded cf_new_b_ec_reduced_all_bounded cf_head_ec_reduced_all_bounded cf_quotient_ec_reduced_all_bounded. ((((exists ff_h_cf_ec_reduced_all_bounded_previous_state. ff_h_cf_ec_reduced_all_bounded_previous_state + S (((cf_old_a_ec_reduced_all_bounded) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)))) * S ((cf_old_a_ec_reduced_all_bounded) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)))) + ((((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded))) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded))))) = S ((S (cf_index_ec_reduced_all_bounded)) * e)) /\ exists ff_q_cf_ec_reduced_all_bounded_previous_state. h = ff_q_cf_ec_reduced_all_bounded_previous_state * S ((S (cf_index_ec_reduced_all_bounded)) * e) + (((cf_old_a_ec_reduced_all_bounded) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)))) * S ((cf_old_a_ec_reduced_all_bounded) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)))) + ((((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded))) + (((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) * S ((cf_old_b_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded)) + ((cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded))))))) /\ ((((exists ff_h_cf_ec_reduced_all_bounded_following_state. ff_h_cf_ec_reduced_all_bounded_following_state + S (((cf_new_a_ec_reduced_all_bounded) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)))) * S ((cf_new_a_ec_reduced_all_bounded) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)))) + ((((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded))) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded))))) = S ((S (S cf_index_ec_reduced_all_bounded)) * e)) /\ exists ff_q_cf_ec_reduced_all_bounded_following_state. h = ff_q_cf_ec_reduced_all_bounded_following_state * S ((S (S cf_index_ec_reduced_all_bounded)) * e) + (((cf_new_a_ec_reduced_all_bounded) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)))) * S ((cf_new_a_ec_reduced_all_bounded) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)))) + ((((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded))) + (((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) * S ((cf_new_b_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded)) + ((cf_head_ec_reduced_all_bounded) + (cf_head_ec_reduced_all_bounded))))))) /\ (cf_new_b_ec_reduced_all_bounded = cf_old_a_ec_reduced_all_bounded /\ (cf_new_a_ec_reduced_all_bounded = cf_new_b_ec_reduced_all_bounded * cf_quotient_ec_reduced_all_bounded + cf_old_b_ec_reduced_all_bounded /\ ((exists ff_lt_cf_ec_reduced_all_bounded_remainder. ff_lt_cf_ec_reduced_all_bounded_remainder + S cf_old_b_ec_reduced_all_bounded = cf_new_b_ec_reduced_all_bounded) /\ (cf_head_ec_reduced_all_bounded = S ((cf_quotient_ec_reduced_all_bounded + cf_tail_ec_reduced_all_bounded) * S (cf_quotient_ec_reduced_all_bounded + cf_tail_ec_reduced_all_bounded) + (cf_tail_ec_reduced_all_bounded + cf_tail_ec_reduced_all_bounded))))))))))) /\ (exists ec_bound_gap_reduced_all. ec_bound_gap_reduced_all + l = B))) - 0065
apply IH - 0066
exact hrB - 0067
specialize hall b - 0068
exact hall - 0069
cases hsmall - 0070
cases hsmall_witness - 0071
cases hsmall_witness_witness - 0072
cases hsmall_witness_witness_witness - 0073
cases hsmall_witness_witness_witness_witness - 0074
have hextend : exists s z c. ((s = S ((x + x2) * S (x + x2) + (x2 + x2))) /\ (exists cf_gcd_ec_induction_extension. ((((exists ff_h_cf_ec_induction_extension_initial_state. ff_h_cf_ec_induction_extension_initial_state + S (((cf_gcd_ec_induction_extension) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_induction_extension) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * c)) /\ exists ff_q_cf_ec_induction_extension_initial_state. z = ff_q_cf_ec_induction_extension_initial_state * S ((S (0)) * c) + (((cf_gcd_ec_induction_extension) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_induction_extension) + (((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_ec_induction_extension_terminal_state. ff_h_cf_ec_induction_extension_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 x5)) * c)) /\ exists ff_q_cf_ec_induction_extension_terminal_state. z = ff_q_cf_ec_induction_extension_terminal_state * S ((S (S x5)) * c) + (((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_ec_induction_extension. (exists ff_lt_cf_ec_induction_extension_index. ff_lt_cf_ec_induction_extension_index + S cf_index_ec_induction_extension = S x5) -> exists cf_old_a_ec_induction_extension cf_old_b_ec_induction_extension cf_tail_ec_induction_extension cf_new_a_ec_induction_extension cf_new_b_ec_induction_extension cf_head_ec_induction_extension cf_quotient_ec_induction_extension. ((((exists ff_h_cf_ec_induction_extension_previous_state. ff_h_cf_ec_induction_extension_previous_state + S (((cf_old_a_ec_induction_extension) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension)))) * S ((cf_old_a_ec_induction_extension) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension)))) + ((((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension))) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension))))) = S ((S (cf_index_ec_induction_extension)) * c)) /\ exists ff_q_cf_ec_induction_extension_previous_state. z = ff_q_cf_ec_induction_extension_previous_state * S ((S (cf_index_ec_induction_extension)) * c) + (((cf_old_a_ec_induction_extension) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension)))) * S ((cf_old_a_ec_induction_extension) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension)))) + ((((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension))) + (((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) * S ((cf_old_b_ec_induction_extension) + (cf_tail_ec_induction_extension)) + ((cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension))))))) /\ ((((exists ff_h_cf_ec_induction_extension_following_state. ff_h_cf_ec_induction_extension_following_state + S (((cf_new_a_ec_induction_extension) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension)))) * S ((cf_new_a_ec_induction_extension) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension)))) + ((((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension))) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension))))) = S ((S (S cf_index_ec_induction_extension)) * c)) /\ exists ff_q_cf_ec_induction_extension_following_state. z = ff_q_cf_ec_induction_extension_following_state * S ((S (S cf_index_ec_induction_extension)) * c) + (((cf_new_a_ec_induction_extension) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension)))) * S ((cf_new_a_ec_induction_extension) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension)))) + ((((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension))) + (((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) * S ((cf_new_b_ec_induction_extension) + (cf_head_ec_induction_extension)) + ((cf_head_ec_induction_extension) + (cf_head_ec_induction_extension))))))) /\ (cf_new_b_ec_induction_extension = cf_old_a_ec_induction_extension /\ (cf_new_a_ec_induction_extension = cf_new_b_ec_induction_extension * cf_quotient_ec_induction_extension + cf_old_b_ec_induction_extension /\ ((exists ff_lt_cf_ec_induction_extension_remainder. ff_lt_cf_ec_induction_extension_remainder + S cf_old_b_ec_induction_extension = cf_new_b_ec_induction_extension) /\ (cf_head_ec_induction_extension = S ((cf_quotient_ec_induction_extension + cf_tail_ec_induction_extension) * S (cf_quotient_ec_induction_extension + cf_tail_ec_induction_extension) + (cf_tail_ec_induction_extension + cf_tail_ec_induction_extension)))))))))))) - 0075
specialize continued_fraction_trace_extend a - 0076
specialize continued_fraction_trace_extend b - 0077
specialize continued_fraction_trace_extend x - 0078
specialize continued_fraction_trace_extend x1 - 0079
specialize continued_fraction_trace_extend x2 - 0080
specialize continued_fraction_trace_extend x3 - 0081
specialize continued_fraction_trace_extend x4 - 0082
specialize continued_fraction_trace_extend x5 - 0083
apply continued_fraction_trace_extend - 0084
exact hdivision_witness_witness_left - 0085
exact hdivision_witness_witness_right - 0086
exact hsmall_witness_witness_witness_witness_left - 0087
cases hextend - 0088
cases hextend_witness - 0089
cases hextend_witness_witness - 0090
cases hextend_witness_witness_witness - 0091
exists x6 - 0092
exists x7 - 0093
exists x8 - 0094
exists S x5 - 0095
split - 0096
exact hextend_witness_witness_witness_right - 0097
specialize succ_le_succ x5 - 0098
specialize succ_le_succ B - 0099
apply succ_le_succ - 0100
exact hsmall_witness_witness_witness_witness_right - 0101
have hbB : exists gap. gap + b = B - 0102
apply le_of_succ_le_succ - 0103
exact hsplit_right - 0104
specialize IH b - 0105
have hall : forall z. (exists s h e l. ((exists cf_gcd_ec_smaller_all_bounded. ((((exists ff_h_cf_ec_smaller_all_bounded_initial_state. ff_h_cf_ec_smaller_all_bounded_initial_state + S (((cf_gcd_ec_smaller_all_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_smaller_all_bounded) + (((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_ec_smaller_all_bounded_initial_state. h = ff_q_cf_ec_smaller_all_bounded_initial_state * S ((S (0)) * e) + (((cf_gcd_ec_smaller_all_bounded) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_ec_smaller_all_bounded) + (((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_ec_smaller_all_bounded_terminal_state. ff_h_cf_ec_smaller_all_bounded_terminal_state + S (((z) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((z) + (((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_ec_smaller_all_bounded_terminal_state. h = ff_q_cf_ec_smaller_all_bounded_terminal_state * S ((S (l)) * e) + (((z) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) * S ((z) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s)))) + ((((b) + (s)) * S ((b) + (s)) + ((s) + (s))) + (((b) + (s)) * S ((b) + (s)) + ((s) + (s))))))) /\ forall cf_index_ec_smaller_all_bounded. (exists ff_lt_cf_ec_smaller_all_bounded_index. ff_lt_cf_ec_smaller_all_bounded_index + S cf_index_ec_smaller_all_bounded = l) -> exists cf_old_a_ec_smaller_all_bounded cf_old_b_ec_smaller_all_bounded cf_tail_ec_smaller_all_bounded cf_new_a_ec_smaller_all_bounded cf_new_b_ec_smaller_all_bounded cf_head_ec_smaller_all_bounded cf_quotient_ec_smaller_all_bounded. ((((exists ff_h_cf_ec_smaller_all_bounded_previous_state. ff_h_cf_ec_smaller_all_bounded_previous_state + S (((cf_old_a_ec_smaller_all_bounded) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)))) * S ((cf_old_a_ec_smaller_all_bounded) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)))) + ((((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded))) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded))))) = S ((S (cf_index_ec_smaller_all_bounded)) * e)) /\ exists ff_q_cf_ec_smaller_all_bounded_previous_state. h = ff_q_cf_ec_smaller_all_bounded_previous_state * S ((S (cf_index_ec_smaller_all_bounded)) * e) + (((cf_old_a_ec_smaller_all_bounded) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)))) * S ((cf_old_a_ec_smaller_all_bounded) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)))) + ((((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded))) + (((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) * S ((cf_old_b_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded)) + ((cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded))))))) /\ ((((exists ff_h_cf_ec_smaller_all_bounded_following_state. ff_h_cf_ec_smaller_all_bounded_following_state + S (((cf_new_a_ec_smaller_all_bounded) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)))) * S ((cf_new_a_ec_smaller_all_bounded) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)))) + ((((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded))) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded))))) = S ((S (S cf_index_ec_smaller_all_bounded)) * e)) /\ exists ff_q_cf_ec_smaller_all_bounded_following_state. h = ff_q_cf_ec_smaller_all_bounded_following_state * S ((S (S cf_index_ec_smaller_all_bounded)) * e) + (((cf_new_a_ec_smaller_all_bounded) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)))) * S ((cf_new_a_ec_smaller_all_bounded) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)))) + ((((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded))) + (((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) * S ((cf_new_b_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded)) + ((cf_head_ec_smaller_all_bounded) + (cf_head_ec_smaller_all_bounded))))))) /\ (cf_new_b_ec_smaller_all_bounded = cf_old_a_ec_smaller_all_bounded /\ (cf_new_a_ec_smaller_all_bounded = cf_new_b_ec_smaller_all_bounded * cf_quotient_ec_smaller_all_bounded + cf_old_b_ec_smaller_all_bounded /\ ((exists ff_lt_cf_ec_smaller_all_bounded_remainder. ff_lt_cf_ec_smaller_all_bounded_remainder + S cf_old_b_ec_smaller_all_bounded = cf_new_b_ec_smaller_all_bounded) /\ (cf_head_ec_smaller_all_bounded = S ((cf_quotient_ec_smaller_all_bounded + cf_tail_ec_smaller_all_bounded) * S (cf_quotient_ec_smaller_all_bounded + cf_tail_ec_smaller_all_bounded) + (cf_tail_ec_smaller_all_bounded + cf_tail_ec_smaller_all_bounded))))))))))) /\ (exists ec_bound_gap_smaller_all. ec_bound_gap_smaller_all + l = B))) - 0106
apply IH - 0107
exact hbB - 0108
specialize hall a - 0109
specialize euclidean_trace_bound_weaken a - 0110
specialize euclidean_trace_bound_weaken b - 0111
specialize euclidean_trace_bound_weaken B - 0112
apply euclidean_trace_bound_weaken - 0113
exact hall