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.
The exact G101 milestone is fully proved, including the stronger checked bound k≤2·BitLen(b), a real beta-coded execution, and its actual terminal gcd. The independent T13 determinant/rank/integer-span substrate is now closed in the separate Alpha-v27 integer-linear-algebra branch. Full T13 proof · Alpha v27
Exact theorem in conservative defined notation
∀ n. ∀ p. PowTwo(n,p) → ∀ x. Lt(x,p) → ∀ y. EuclideanBoundedTrace(y,x,n + n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 135 lines are the exact independently kernel-checked original script.
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 (7)
01Induction on nL1–6
02Establish hzeroL7–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log power zero divisor.
- L7
have hzero : b = 0 - L8
specialize euclidean_log_power_zero_divisor p - L9
specialize euclidean_log_power_zero_divisor b - L10
apply euclidean_log_power_zero_divisor - L11
exact hpower - L12
exact hbelow - L13
specialize euclidean_log_budget_zero_divisor a - L14
specialize euclidean_log_budget_zero_divisor b - L15
specialize euclidean_log_budget_zero_divisor (0 + 0) - L16
apply euclidean_log_budget_zero_divisor
03Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
exact hzero
04Fix variables and assumptionsL18–22
05Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
specialize binary_power_two_exists n
06Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases binary_power_two_exists
07Establish hdoubleL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary power two successor double.
- L25
have hdouble : p = x + x - L26
specialize binary_power_two_successor_double n - L27
specialize binary_power_two_successor_double x - L28
specialize binary_power_two_successor_double p - L29
apply binary_power_two_successor_double - L30
exact binary_power_two_exists_witness - L31
exact hpower - L32
specialize eq_decidable b - L33
specialize eq_decidable 0
08Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
cases eq_decidable
09Use earlier factsL35–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Establish hfirstL40–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean division step exists.
- L40
have hfirst : exists q r. ((a = b * q + r /\ (exists ff_lt_ec_elb_induction_first_division. ff_lt_ec_elb_induction_first_division + S r = b))) - L41
specialize euclidean_division_step_exists a - L42
specialize euclidean_division_step_exists b - L43
apply euclidean_division_step_exists - L44
exact eq_decidable_right
11Separate the logical casesL45–46
12Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
specialize zero_or_succ x2
13Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
cases zero_or_succ
14Establish hsmallL49–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log budget zero divisor.
- L49
have hsmall : EuclideanBoundedTrace(b,x2,n + n)Definitions: EuclideanBoundedTraceOriginal native command in the exact edition - L50
specialize euclidean_log_budget_zero_divisor b - L51
specialize euclidean_log_budget_zero_divisor x2 - L52
specialize euclidean_log_budget_zero_divisor (n + n) - L53
apply euclidean_log_budget_zero_divisor - L54
exact zero_or_succ_left
15Establish hfirst_budgetL55–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log budget extend.
- L55
have hfirst_budget : EuclideanBoundedTrace(a,b,S (n + n))Definitions: EuclideanBoundedTraceOriginal native command in the exact edition - L56
specialize euclidean_log_budget_extend a - L57
specialize euclidean_log_budget_extend b - L58
specialize euclidean_log_budget_extend x1 - L59
specialize euclidean_log_budget_extend x2 - L60
specialize euclidean_log_budget_extend (n + n) - L61
apply euclidean_log_budget_extend - L62
exact hfirst_witness_witness - L63
exact hsmall
16Establish hweakenedL64–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log budget weaken.
- L64
have hweakened : EuclideanBoundedTrace(a,b,S S (n + n))Definitions: EuclideanBoundedTraceOriginal native command in the exact edition - L65
specialize euclidean_log_budget_weaken a - L66
specialize euclidean_log_budget_weaken b - L67
specialize euclidean_log_budget_weaken (S (n + n)) - L68
apply euclidean_log_budget_weaken - L69
exact hfirst_budget - L70
specialize euclidean_log_budget_successor_power a - L71
specialize euclidean_log_budget_successor_power b - L72
specialize euclidean_log_budget_successor_power n - L73
apply euclidean_log_budget_successor_power
17Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hweakened
18Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
cases zero_or_succ_right
19Establish hnonzeroL76–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply PA1.
20Establish hsecondL85–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
21Separate the logical casesL88–89
22Establish hhalfL90–99
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean two step halving.
- L90
have hhalf : exists gap. gap + S (x5 + x5) = b - L91
specialize euclidean_two_step_halving a - L92
specialize euclidean_two_step_halving b - L93
specialize euclidean_two_step_halving x1 - L94
specialize euclidean_two_step_halving x2 - L95
specialize euclidean_two_step_halving x4 - L96
specialize euclidean_two_step_halving x5 - L97
apply euclidean_two_step_halving - L98
exact hfirst_witness_witness - L99
exact hsecond_witness_witness
23Establish hupperL100–102
24Establish hdropL103–110
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log halving power drop.
25Establish hboundedL111–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L111
have hbounded : ∀ b. Lt(b,x) → ∀ y. EuclideanBoundedTrace(y,b,n + n)Definitions: EuclideanBoundedTraceLtOriginal native command in the exact edition - L112
apply IH - L113
exact binary_power_two_exists_witness - L114
specialize hbounded x5
26Establish hallL115–118
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounded.
- L115
have hall : ∀ z. EuclideanBoundedTrace(z,x5,n + n)Definitions: EuclideanBoundedTraceOriginal native command in the exact edition - L116
apply hbounded - L117
exact hdrop - L118
specialize hall x2
27Establish htwiceL119–128
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log budget extend twice.
- L119
have htwice : EuclideanBoundedTrace(a,b,S S (n + n))Definitions: EuclideanBoundedTraceOriginal native command in the exact edition - L120
specialize euclidean_log_budget_extend_twice a - L121
specialize euclidean_log_budget_extend_twice b - L122
specialize euclidean_log_budget_extend_twice x1 - L123
specialize euclidean_log_budget_extend_twice x2 - L124
specialize euclidean_log_budget_extend_twice x4 - L125
specialize euclidean_log_budget_extend_twice x5 - L126
specialize euclidean_log_budget_extend_twice (n + n) - L127
apply euclidean_log_budget_extend_twice - L128
exact hfirst_witness_witness
28Use earlier factsL129–135
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 135 lines
- 0001
induction n - 0002
intro p - 0003
intro hpower - 0004
intro b - 0005
intro hbelow - 0006
intro a - 0007
have hzero : b = 0 - 0008
specialize euclidean_log_power_zero_divisor p - 0009
specialize euclidean_log_power_zero_divisor b - 0010
apply euclidean_log_power_zero_divisor - 0011
exact hpower - 0012
exact hbelow - 0013
specialize euclidean_log_budget_zero_divisor a - 0014
specialize euclidean_log_budget_zero_divisor b - 0015
specialize euclidean_log_budget_zero_divisor (0 + 0) - 0016
apply euclidean_log_budget_zero_divisor - 0017
exact hzero - 0018
intro p - 0019
intro hpower - 0020
intro b - 0021
intro hbelow - 0022
intro a - 0023
specialize binary_power_two_exists n - 0024
cases binary_power_two_exists - 0025
have hdouble : p = x + x - 0026
specialize binary_power_two_successor_double n - 0027
specialize binary_power_two_successor_double x - 0028
specialize binary_power_two_successor_double p - 0029
apply binary_power_two_successor_double - 0030
exact binary_power_two_exists_witness - 0031
exact hpower - 0032
specialize eq_decidable b - 0033
specialize eq_decidable 0 - 0034
cases eq_decidable - 0035
specialize euclidean_log_budget_zero_divisor a - 0036
specialize euclidean_log_budget_zero_divisor b - 0037
specialize euclidean_log_budget_zero_divisor (S n + S n) - 0038
apply euclidean_log_budget_zero_divisor - 0039
exact eq_decidable_left - 0040
have hfirst : exists q r. ((a = b * q + r /\ (exists ff_lt_ec_elb_induction_first_division. ff_lt_ec_elb_induction_first_division + S r = b))) - 0041
specialize euclidean_division_step_exists a - 0042
specialize euclidean_division_step_exists b - 0043
apply euclidean_division_step_exists - 0044
exact eq_decidable_right - 0045
cases hfirst - 0046
cases hfirst_witness - 0047
specialize zero_or_succ x2 - 0048
cases zero_or_succ - 0049
have hsmall : exists elb_list_zero_remainder elb_history_zero_remainder elb_scale_zero_remainder elb_steps_zero_remainder. ((exists cf_gcd_elb_zero_remainder_budget. ((((exists ff_h_cf_elb_zero_remainder_budget_initial_state. ff_h_cf_elb_zero_remainder_budget_initial_state + S (((cf_gcd_elb_zero_remainder_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_zero_remainder_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_zero_remainder)) /\ exists ff_q_cf_elb_zero_remainder_budget_initial_state. elb_history_zero_remainder = ff_q_cf_elb_zero_remainder_budget_initial_state * S ((S (0)) * elb_scale_zero_remainder) + (((cf_gcd_elb_zero_remainder_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_zero_remainder_budget) + (((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_elb_zero_remainder_budget_terminal_state. ff_h_cf_elb_zero_remainder_budget_terminal_state + S (((b) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder)))) * S ((b) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder)))) + ((((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder))) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder))))) = S ((S (elb_steps_zero_remainder)) * elb_scale_zero_remainder)) /\ exists ff_q_cf_elb_zero_remainder_budget_terminal_state. elb_history_zero_remainder = ff_q_cf_elb_zero_remainder_budget_terminal_state * S ((S (elb_steps_zero_remainder)) * elb_scale_zero_remainder) + (((b) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder)))) * S ((b) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder)))) + ((((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder))) + (((x2) + (elb_list_zero_remainder)) * S ((x2) + (elb_list_zero_remainder)) + ((elb_list_zero_remainder) + (elb_list_zero_remainder))))))) /\ forall cf_index_elb_zero_remainder_budget. (exists ff_lt_cf_elb_zero_remainder_budget_index. ff_lt_cf_elb_zero_remainder_budget_index + S cf_index_elb_zero_remainder_budget = elb_steps_zero_remainder) -> exists cf_old_a_elb_zero_remainder_budget cf_old_b_elb_zero_remainder_budget cf_tail_elb_zero_remainder_budget cf_new_a_elb_zero_remainder_budget cf_new_b_elb_zero_remainder_budget cf_head_elb_zero_remainder_budget cf_quotient_elb_zero_remainder_budget. ((((exists ff_h_cf_elb_zero_remainder_budget_previous_state. ff_h_cf_elb_zero_remainder_budget_previous_state + S (((cf_old_a_elb_zero_remainder_budget) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)))) * S ((cf_old_a_elb_zero_remainder_budget) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)))) + ((((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget))) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget))))) = S ((S (cf_index_elb_zero_remainder_budget)) * elb_scale_zero_remainder)) /\ exists ff_q_cf_elb_zero_remainder_budget_previous_state. elb_history_zero_remainder = ff_q_cf_elb_zero_remainder_budget_previous_state * S ((S (cf_index_elb_zero_remainder_budget)) * elb_scale_zero_remainder) + (((cf_old_a_elb_zero_remainder_budget) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)))) * S ((cf_old_a_elb_zero_remainder_budget) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)))) + ((((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget))) + (((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) * S ((cf_old_b_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget)) + ((cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget))))))) /\ ((((exists ff_h_cf_elb_zero_remainder_budget_following_state. ff_h_cf_elb_zero_remainder_budget_following_state + S (((cf_new_a_elb_zero_remainder_budget) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)))) * S ((cf_new_a_elb_zero_remainder_budget) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)))) + ((((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget))) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget))))) = S ((S (S cf_index_elb_zero_remainder_budget)) * elb_scale_zero_remainder)) /\ exists ff_q_cf_elb_zero_remainder_budget_following_state. elb_history_zero_remainder = ff_q_cf_elb_zero_remainder_budget_following_state * S ((S (S cf_index_elb_zero_remainder_budget)) * elb_scale_zero_remainder) + (((cf_new_a_elb_zero_remainder_budget) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)))) * S ((cf_new_a_elb_zero_remainder_budget) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)))) + ((((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget))) + (((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) * S ((cf_new_b_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget)) + ((cf_head_elb_zero_remainder_budget) + (cf_head_elb_zero_remainder_budget))))))) /\ (cf_new_b_elb_zero_remainder_budget = cf_old_a_elb_zero_remainder_budget /\ (cf_new_a_elb_zero_remainder_budget = cf_new_b_elb_zero_remainder_budget * cf_quotient_elb_zero_remainder_budget + cf_old_b_elb_zero_remainder_budget /\ ((exists ff_lt_cf_elb_zero_remainder_budget_remainder. ff_lt_cf_elb_zero_remainder_budget_remainder + S cf_old_b_elb_zero_remainder_budget = cf_new_b_elb_zero_remainder_budget) /\ (cf_head_elb_zero_remainder_budget = S ((cf_quotient_elb_zero_remainder_budget + cf_tail_elb_zero_remainder_budget) * S (cf_quotient_elb_zero_remainder_budget + cf_tail_elb_zero_remainder_budget) + (cf_tail_elb_zero_remainder_budget + cf_tail_elb_zero_remainder_budget))))))))))) /\ exists elb_gap_zero_remainder. elb_gap_zero_remainder + elb_steps_zero_remainder = ((n + n))) - 0050
specialize euclidean_log_budget_zero_divisor b - 0051
specialize euclidean_log_budget_zero_divisor x2 - 0052
specialize euclidean_log_budget_zero_divisor (n + n) - 0053
apply euclidean_log_budget_zero_divisor - 0054
exact zero_or_succ_left - 0055
have hfirst_budget : exists elb_list_first_budget elb_history_first_budget elb_scale_first_budget elb_steps_first_budget. ((exists cf_gcd_elb_first_budget_budget. ((((exists ff_h_cf_elb_first_budget_budget_initial_state. ff_h_cf_elb_first_budget_budget_initial_state + S (((cf_gcd_elb_first_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_first_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_first_budget)) /\ exists ff_q_cf_elb_first_budget_budget_initial_state. elb_history_first_budget = ff_q_cf_elb_first_budget_budget_initial_state * S ((S (0)) * elb_scale_first_budget) + (((cf_gcd_elb_first_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_first_budget_budget) + (((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_elb_first_budget_budget_terminal_state. ff_h_cf_elb_first_budget_budget_terminal_state + S (((a) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget)))) * S ((a) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget)))) + ((((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget))) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget))))) = S ((S (elb_steps_first_budget)) * elb_scale_first_budget)) /\ exists ff_q_cf_elb_first_budget_budget_terminal_state. elb_history_first_budget = ff_q_cf_elb_first_budget_budget_terminal_state * S ((S (elb_steps_first_budget)) * elb_scale_first_budget) + (((a) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget)))) * S ((a) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget)))) + ((((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget))) + (((b) + (elb_list_first_budget)) * S ((b) + (elb_list_first_budget)) + ((elb_list_first_budget) + (elb_list_first_budget))))))) /\ forall cf_index_elb_first_budget_budget. (exists ff_lt_cf_elb_first_budget_budget_index. ff_lt_cf_elb_first_budget_budget_index + S cf_index_elb_first_budget_budget = elb_steps_first_budget) -> exists cf_old_a_elb_first_budget_budget cf_old_b_elb_first_budget_budget cf_tail_elb_first_budget_budget cf_new_a_elb_first_budget_budget cf_new_b_elb_first_budget_budget cf_head_elb_first_budget_budget cf_quotient_elb_first_budget_budget. ((((exists ff_h_cf_elb_first_budget_budget_previous_state. ff_h_cf_elb_first_budget_budget_previous_state + S (((cf_old_a_elb_first_budget_budget) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)))) * S ((cf_old_a_elb_first_budget_budget) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)))) + ((((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget))) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget))))) = S ((S (cf_index_elb_first_budget_budget)) * elb_scale_first_budget)) /\ exists ff_q_cf_elb_first_budget_budget_previous_state. elb_history_first_budget = ff_q_cf_elb_first_budget_budget_previous_state * S ((S (cf_index_elb_first_budget_budget)) * elb_scale_first_budget) + (((cf_old_a_elb_first_budget_budget) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)))) * S ((cf_old_a_elb_first_budget_budget) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)))) + ((((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget))) + (((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) * S ((cf_old_b_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget)) + ((cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget))))))) /\ ((((exists ff_h_cf_elb_first_budget_budget_following_state. ff_h_cf_elb_first_budget_budget_following_state + S (((cf_new_a_elb_first_budget_budget) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)))) * S ((cf_new_a_elb_first_budget_budget) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)))) + ((((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget))) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget))))) = S ((S (S cf_index_elb_first_budget_budget)) * elb_scale_first_budget)) /\ exists ff_q_cf_elb_first_budget_budget_following_state. elb_history_first_budget = ff_q_cf_elb_first_budget_budget_following_state * S ((S (S cf_index_elb_first_budget_budget)) * elb_scale_first_budget) + (((cf_new_a_elb_first_budget_budget) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)))) * S ((cf_new_a_elb_first_budget_budget) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)))) + ((((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget))) + (((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) * S ((cf_new_b_elb_first_budget_budget) + (cf_head_elb_first_budget_budget)) + ((cf_head_elb_first_budget_budget) + (cf_head_elb_first_budget_budget))))))) /\ (cf_new_b_elb_first_budget_budget = cf_old_a_elb_first_budget_budget /\ (cf_new_a_elb_first_budget_budget = cf_new_b_elb_first_budget_budget * cf_quotient_elb_first_budget_budget + cf_old_b_elb_first_budget_budget /\ ((exists ff_lt_cf_elb_first_budget_budget_remainder. ff_lt_cf_elb_first_budget_budget_remainder + S cf_old_b_elb_first_budget_budget = cf_new_b_elb_first_budget_budget) /\ (cf_head_elb_first_budget_budget = S ((cf_quotient_elb_first_budget_budget + cf_tail_elb_first_budget_budget) * S (cf_quotient_elb_first_budget_budget + cf_tail_elb_first_budget_budget) + (cf_tail_elb_first_budget_budget + cf_tail_elb_first_budget_budget))))))))))) /\ exists elb_gap_first_budget. elb_gap_first_budget + elb_steps_first_budget = (S (n + n))) - 0056
specialize euclidean_log_budget_extend a - 0057
specialize euclidean_log_budget_extend b - 0058
specialize euclidean_log_budget_extend x1 - 0059
specialize euclidean_log_budget_extend x2 - 0060
specialize euclidean_log_budget_extend (n + n) - 0061
apply euclidean_log_budget_extend - 0062
exact hfirst_witness_witness - 0063
exact hsmall - 0064
have hweakened : exists elb_list_one_weakened elb_history_one_weakened elb_scale_one_weakened elb_steps_one_weakened. ((exists cf_gcd_elb_one_weakened_budget. ((((exists ff_h_cf_elb_one_weakened_budget_initial_state. ff_h_cf_elb_one_weakened_budget_initial_state + S (((cf_gcd_elb_one_weakened_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_one_weakened_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_one_weakened)) /\ exists ff_q_cf_elb_one_weakened_budget_initial_state. elb_history_one_weakened = ff_q_cf_elb_one_weakened_budget_initial_state * S ((S (0)) * elb_scale_one_weakened) + (((cf_gcd_elb_one_weakened_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_one_weakened_budget) + (((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_elb_one_weakened_budget_terminal_state. ff_h_cf_elb_one_weakened_budget_terminal_state + S (((a) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened)))) * S ((a) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened)))) + ((((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened))) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened))))) = S ((S (elb_steps_one_weakened)) * elb_scale_one_weakened)) /\ exists ff_q_cf_elb_one_weakened_budget_terminal_state. elb_history_one_weakened = ff_q_cf_elb_one_weakened_budget_terminal_state * S ((S (elb_steps_one_weakened)) * elb_scale_one_weakened) + (((a) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened)))) * S ((a) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened)))) + ((((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened))) + (((b) + (elb_list_one_weakened)) * S ((b) + (elb_list_one_weakened)) + ((elb_list_one_weakened) + (elb_list_one_weakened))))))) /\ forall cf_index_elb_one_weakened_budget. (exists ff_lt_cf_elb_one_weakened_budget_index. ff_lt_cf_elb_one_weakened_budget_index + S cf_index_elb_one_weakened_budget = elb_steps_one_weakened) -> exists cf_old_a_elb_one_weakened_budget cf_old_b_elb_one_weakened_budget cf_tail_elb_one_weakened_budget cf_new_a_elb_one_weakened_budget cf_new_b_elb_one_weakened_budget cf_head_elb_one_weakened_budget cf_quotient_elb_one_weakened_budget. ((((exists ff_h_cf_elb_one_weakened_budget_previous_state. ff_h_cf_elb_one_weakened_budget_previous_state + S (((cf_old_a_elb_one_weakened_budget) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)))) * S ((cf_old_a_elb_one_weakened_budget) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)))) + ((((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget))) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget))))) = S ((S (cf_index_elb_one_weakened_budget)) * elb_scale_one_weakened)) /\ exists ff_q_cf_elb_one_weakened_budget_previous_state. elb_history_one_weakened = ff_q_cf_elb_one_weakened_budget_previous_state * S ((S (cf_index_elb_one_weakened_budget)) * elb_scale_one_weakened) + (((cf_old_a_elb_one_weakened_budget) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)))) * S ((cf_old_a_elb_one_weakened_budget) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)))) + ((((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget))) + (((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) * S ((cf_old_b_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget)) + ((cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget))))))) /\ ((((exists ff_h_cf_elb_one_weakened_budget_following_state. ff_h_cf_elb_one_weakened_budget_following_state + S (((cf_new_a_elb_one_weakened_budget) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)))) * S ((cf_new_a_elb_one_weakened_budget) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)))) + ((((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget))) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget))))) = S ((S (S cf_index_elb_one_weakened_budget)) * elb_scale_one_weakened)) /\ exists ff_q_cf_elb_one_weakened_budget_following_state. elb_history_one_weakened = ff_q_cf_elb_one_weakened_budget_following_state * S ((S (S cf_index_elb_one_weakened_budget)) * elb_scale_one_weakened) + (((cf_new_a_elb_one_weakened_budget) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)))) * S ((cf_new_a_elb_one_weakened_budget) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)))) + ((((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget))) + (((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) * S ((cf_new_b_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget)) + ((cf_head_elb_one_weakened_budget) + (cf_head_elb_one_weakened_budget))))))) /\ (cf_new_b_elb_one_weakened_budget = cf_old_a_elb_one_weakened_budget /\ (cf_new_a_elb_one_weakened_budget = cf_new_b_elb_one_weakened_budget * cf_quotient_elb_one_weakened_budget + cf_old_b_elb_one_weakened_budget /\ ((exists ff_lt_cf_elb_one_weakened_budget_remainder. ff_lt_cf_elb_one_weakened_budget_remainder + S cf_old_b_elb_one_weakened_budget = cf_new_b_elb_one_weakened_budget) /\ (cf_head_elb_one_weakened_budget = S ((cf_quotient_elb_one_weakened_budget + cf_tail_elb_one_weakened_budget) * S (cf_quotient_elb_one_weakened_budget + cf_tail_elb_one_weakened_budget) + (cf_tail_elb_one_weakened_budget + cf_tail_elb_one_weakened_budget))))))))))) /\ exists elb_gap_one_weakened. elb_gap_one_weakened + elb_steps_one_weakened = (S (S (n + n)))) - 0065
specialize euclidean_log_budget_weaken a - 0066
specialize euclidean_log_budget_weaken b - 0067
specialize euclidean_log_budget_weaken (S (n + n)) - 0068
apply euclidean_log_budget_weaken - 0069
exact hfirst_budget - 0070
specialize euclidean_log_budget_successor_power a - 0071
specialize euclidean_log_budget_successor_power b - 0072
specialize euclidean_log_budget_successor_power n - 0073
apply euclidean_log_budget_successor_power - 0074
exact hweakened - 0075
cases zero_or_succ_right - 0076
have hnonzero : ~(x2 = 0) - 0077
intro hzero - 0078
apply PA1 - 0079
trans x2 - 0080
symm - 0081
exact zero_or_succ_right_witness - 0082
exact hzero - 0083
specialize division_remainder_exists x2 - 0084
specialize division_remainder_exists b - 0085
have hsecond : exists Q t. ((b = x2 * Q + t /\ (exists ff_lt_ec_elb_induction_second_division. ff_lt_ec_elb_induction_second_division + S t = x2))) - 0086
apply division_remainder_exists - 0087
exact hnonzero - 0088
cases hsecond - 0089
cases hsecond_witness - 0090
have hhalf : exists gap. gap + S (x5 + x5) = b - 0091
specialize euclidean_two_step_halving a - 0092
specialize euclidean_two_step_halving b - 0093
specialize euclidean_two_step_halving x1 - 0094
specialize euclidean_two_step_halving x2 - 0095
specialize euclidean_two_step_halving x4 - 0096
specialize euclidean_two_step_halving x5 - 0097
apply euclidean_two_step_halving - 0098
exact hfirst_witness_witness - 0099
exact hsecond_witness_witness - 0100
have hupper : exists gap. gap + S b = x + x - 0101
rewrite hdouble at hbelow - 0102
exact hbelow - 0103
have hdrop : exists gap. gap + S x5 = x - 0104
specialize euclidean_log_halving_power_drop b - 0105
specialize euclidean_log_halving_power_drop x5 - 0106
specialize euclidean_log_halving_power_drop x - 0107
apply euclidean_log_halving_power_drop - 0108
exact hhalf - 0109
exact hupper - 0110
specialize IH x - 0111
have hbounded : forall b. (exists gap. gap + S b = x) -> forall a. (exists elb_list_ih_bounded elb_history_ih_bounded elb_scale_ih_bounded elb_steps_ih_bounded. ((exists cf_gcd_elb_ih_bounded_budget. ((((exists ff_h_cf_elb_ih_bounded_budget_initial_state. ff_h_cf_elb_ih_bounded_budget_initial_state + S (((cf_gcd_elb_ih_bounded_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_ih_bounded_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_ih_bounded)) /\ exists ff_q_cf_elb_ih_bounded_budget_initial_state. elb_history_ih_bounded = ff_q_cf_elb_ih_bounded_budget_initial_state * S ((S (0)) * elb_scale_ih_bounded) + (((cf_gcd_elb_ih_bounded_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_ih_bounded_budget) + (((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_elb_ih_bounded_budget_terminal_state. ff_h_cf_elb_ih_bounded_budget_terminal_state + S (((a) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded)))) * S ((a) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded)))) + ((((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded))) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded))))) = S ((S (elb_steps_ih_bounded)) * elb_scale_ih_bounded)) /\ exists ff_q_cf_elb_ih_bounded_budget_terminal_state. elb_history_ih_bounded = ff_q_cf_elb_ih_bounded_budget_terminal_state * S ((S (elb_steps_ih_bounded)) * elb_scale_ih_bounded) + (((a) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded)))) * S ((a) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded)))) + ((((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded))) + (((b) + (elb_list_ih_bounded)) * S ((b) + (elb_list_ih_bounded)) + ((elb_list_ih_bounded) + (elb_list_ih_bounded))))))) /\ forall cf_index_elb_ih_bounded_budget. (exists ff_lt_cf_elb_ih_bounded_budget_index. ff_lt_cf_elb_ih_bounded_budget_index + S cf_index_elb_ih_bounded_budget = elb_steps_ih_bounded) -> exists cf_old_a_elb_ih_bounded_budget cf_old_b_elb_ih_bounded_budget cf_tail_elb_ih_bounded_budget cf_new_a_elb_ih_bounded_budget cf_new_b_elb_ih_bounded_budget cf_head_elb_ih_bounded_budget cf_quotient_elb_ih_bounded_budget. ((((exists ff_h_cf_elb_ih_bounded_budget_previous_state. ff_h_cf_elb_ih_bounded_budget_previous_state + S (((cf_old_a_elb_ih_bounded_budget) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)))) * S ((cf_old_a_elb_ih_bounded_budget) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)))) + ((((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget))) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget))))) = S ((S (cf_index_elb_ih_bounded_budget)) * elb_scale_ih_bounded)) /\ exists ff_q_cf_elb_ih_bounded_budget_previous_state. elb_history_ih_bounded = ff_q_cf_elb_ih_bounded_budget_previous_state * S ((S (cf_index_elb_ih_bounded_budget)) * elb_scale_ih_bounded) + (((cf_old_a_elb_ih_bounded_budget) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)))) * S ((cf_old_a_elb_ih_bounded_budget) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)))) + ((((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget))) + (((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) * S ((cf_old_b_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget)) + ((cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget))))))) /\ ((((exists ff_h_cf_elb_ih_bounded_budget_following_state. ff_h_cf_elb_ih_bounded_budget_following_state + S (((cf_new_a_elb_ih_bounded_budget) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)))) * S ((cf_new_a_elb_ih_bounded_budget) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)))) + ((((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget))) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget))))) = S ((S (S cf_index_elb_ih_bounded_budget)) * elb_scale_ih_bounded)) /\ exists ff_q_cf_elb_ih_bounded_budget_following_state. elb_history_ih_bounded = ff_q_cf_elb_ih_bounded_budget_following_state * S ((S (S cf_index_elb_ih_bounded_budget)) * elb_scale_ih_bounded) + (((cf_new_a_elb_ih_bounded_budget) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)))) * S ((cf_new_a_elb_ih_bounded_budget) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)))) + ((((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget))) + (((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) * S ((cf_new_b_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget)) + ((cf_head_elb_ih_bounded_budget) + (cf_head_elb_ih_bounded_budget))))))) /\ (cf_new_b_elb_ih_bounded_budget = cf_old_a_elb_ih_bounded_budget /\ (cf_new_a_elb_ih_bounded_budget = cf_new_b_elb_ih_bounded_budget * cf_quotient_elb_ih_bounded_budget + cf_old_b_elb_ih_bounded_budget /\ ((exists ff_lt_cf_elb_ih_bounded_budget_remainder. ff_lt_cf_elb_ih_bounded_budget_remainder + S cf_old_b_elb_ih_bounded_budget = cf_new_b_elb_ih_bounded_budget) /\ (cf_head_elb_ih_bounded_budget = S ((cf_quotient_elb_ih_bounded_budget + cf_tail_elb_ih_bounded_budget) * S (cf_quotient_elb_ih_bounded_budget + cf_tail_elb_ih_bounded_budget) + (cf_tail_elb_ih_bounded_budget + cf_tail_elb_ih_bounded_budget))))))))))) /\ exists elb_gap_ih_bounded. elb_gap_ih_bounded + elb_steps_ih_bounded = ((n + n)))) - 0112
apply IH - 0113
exact binary_power_two_exists_witness - 0114
specialize hbounded x5 - 0115
have hall : forall z. (exists elb_list_ih_all elb_history_ih_all elb_scale_ih_all elb_steps_ih_all. ((exists cf_gcd_elb_ih_all_budget. ((((exists ff_h_cf_elb_ih_all_budget_initial_state. ff_h_cf_elb_ih_all_budget_initial_state + S (((cf_gcd_elb_ih_all_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_ih_all_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_ih_all)) /\ exists ff_q_cf_elb_ih_all_budget_initial_state. elb_history_ih_all = ff_q_cf_elb_ih_all_budget_initial_state * S ((S (0)) * elb_scale_ih_all) + (((cf_gcd_elb_ih_all_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_ih_all_budget) + (((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_elb_ih_all_budget_terminal_state. ff_h_cf_elb_ih_all_budget_terminal_state + S (((z) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all)))) * S ((z) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all)))) + ((((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all))) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all))))) = S ((S (elb_steps_ih_all)) * elb_scale_ih_all)) /\ exists ff_q_cf_elb_ih_all_budget_terminal_state. elb_history_ih_all = ff_q_cf_elb_ih_all_budget_terminal_state * S ((S (elb_steps_ih_all)) * elb_scale_ih_all) + (((z) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all)))) * S ((z) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all)))) + ((((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all))) + (((x5) + (elb_list_ih_all)) * S ((x5) + (elb_list_ih_all)) + ((elb_list_ih_all) + (elb_list_ih_all))))))) /\ forall cf_index_elb_ih_all_budget. (exists ff_lt_cf_elb_ih_all_budget_index. ff_lt_cf_elb_ih_all_budget_index + S cf_index_elb_ih_all_budget = elb_steps_ih_all) -> exists cf_old_a_elb_ih_all_budget cf_old_b_elb_ih_all_budget cf_tail_elb_ih_all_budget cf_new_a_elb_ih_all_budget cf_new_b_elb_ih_all_budget cf_head_elb_ih_all_budget cf_quotient_elb_ih_all_budget. ((((exists ff_h_cf_elb_ih_all_budget_previous_state. ff_h_cf_elb_ih_all_budget_previous_state + S (((cf_old_a_elb_ih_all_budget) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)))) * S ((cf_old_a_elb_ih_all_budget) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)))) + ((((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget))) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget))))) = S ((S (cf_index_elb_ih_all_budget)) * elb_scale_ih_all)) /\ exists ff_q_cf_elb_ih_all_budget_previous_state. elb_history_ih_all = ff_q_cf_elb_ih_all_budget_previous_state * S ((S (cf_index_elb_ih_all_budget)) * elb_scale_ih_all) + (((cf_old_a_elb_ih_all_budget) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)))) * S ((cf_old_a_elb_ih_all_budget) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)))) + ((((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget))) + (((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) * S ((cf_old_b_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget)) + ((cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget))))))) /\ ((((exists ff_h_cf_elb_ih_all_budget_following_state. ff_h_cf_elb_ih_all_budget_following_state + S (((cf_new_a_elb_ih_all_budget) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)))) * S ((cf_new_a_elb_ih_all_budget) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)))) + ((((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget))) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget))))) = S ((S (S cf_index_elb_ih_all_budget)) * elb_scale_ih_all)) /\ exists ff_q_cf_elb_ih_all_budget_following_state. elb_history_ih_all = ff_q_cf_elb_ih_all_budget_following_state * S ((S (S cf_index_elb_ih_all_budget)) * elb_scale_ih_all) + (((cf_new_a_elb_ih_all_budget) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)))) * S ((cf_new_a_elb_ih_all_budget) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)))) + ((((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget))) + (((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) * S ((cf_new_b_elb_ih_all_budget) + (cf_head_elb_ih_all_budget)) + ((cf_head_elb_ih_all_budget) + (cf_head_elb_ih_all_budget))))))) /\ (cf_new_b_elb_ih_all_budget = cf_old_a_elb_ih_all_budget /\ (cf_new_a_elb_ih_all_budget = cf_new_b_elb_ih_all_budget * cf_quotient_elb_ih_all_budget + cf_old_b_elb_ih_all_budget /\ ((exists ff_lt_cf_elb_ih_all_budget_remainder. ff_lt_cf_elb_ih_all_budget_remainder + S cf_old_b_elb_ih_all_budget = cf_new_b_elb_ih_all_budget) /\ (cf_head_elb_ih_all_budget = S ((cf_quotient_elb_ih_all_budget + cf_tail_elb_ih_all_budget) * S (cf_quotient_elb_ih_all_budget + cf_tail_elb_ih_all_budget) + (cf_tail_elb_ih_all_budget + cf_tail_elb_ih_all_budget))))))))))) /\ exists elb_gap_ih_all. elb_gap_ih_all + elb_steps_ih_all = ((n + n)))) - 0116
apply hbounded - 0117
exact hdrop - 0118
specialize hall x2 - 0119
have htwice : exists elb_list_twice_budget elb_history_twice_budget elb_scale_twice_budget elb_steps_twice_budget. ((exists cf_gcd_elb_twice_budget_budget. ((((exists ff_h_cf_elb_twice_budget_budget_initial_state. ff_h_cf_elb_twice_budget_budget_initial_state + S (((cf_gcd_elb_twice_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_twice_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) = S ((S (0)) * elb_scale_twice_budget)) /\ exists ff_q_cf_elb_twice_budget_budget_initial_state. elb_history_twice_budget = ff_q_cf_elb_twice_budget_budget_initial_state * S ((S (0)) * elb_scale_twice_budget) + (((cf_gcd_elb_twice_budget_budget) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_elb_twice_budget_budget) + (((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_elb_twice_budget_budget_terminal_state. ff_h_cf_elb_twice_budget_budget_terminal_state + S (((a) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget)))) * S ((a) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget)))) + ((((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget))) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget))))) = S ((S (elb_steps_twice_budget)) * elb_scale_twice_budget)) /\ exists ff_q_cf_elb_twice_budget_budget_terminal_state. elb_history_twice_budget = ff_q_cf_elb_twice_budget_budget_terminal_state * S ((S (elb_steps_twice_budget)) * elb_scale_twice_budget) + (((a) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget)))) * S ((a) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget)))) + ((((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget))) + (((b) + (elb_list_twice_budget)) * S ((b) + (elb_list_twice_budget)) + ((elb_list_twice_budget) + (elb_list_twice_budget))))))) /\ forall cf_index_elb_twice_budget_budget. (exists ff_lt_cf_elb_twice_budget_budget_index. ff_lt_cf_elb_twice_budget_budget_index + S cf_index_elb_twice_budget_budget = elb_steps_twice_budget) -> exists cf_old_a_elb_twice_budget_budget cf_old_b_elb_twice_budget_budget cf_tail_elb_twice_budget_budget cf_new_a_elb_twice_budget_budget cf_new_b_elb_twice_budget_budget cf_head_elb_twice_budget_budget cf_quotient_elb_twice_budget_budget. ((((exists ff_h_cf_elb_twice_budget_budget_previous_state. ff_h_cf_elb_twice_budget_budget_previous_state + S (((cf_old_a_elb_twice_budget_budget) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)))) * S ((cf_old_a_elb_twice_budget_budget) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)))) + ((((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget))) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget))))) = S ((S (cf_index_elb_twice_budget_budget)) * elb_scale_twice_budget)) /\ exists ff_q_cf_elb_twice_budget_budget_previous_state. elb_history_twice_budget = ff_q_cf_elb_twice_budget_budget_previous_state * S ((S (cf_index_elb_twice_budget_budget)) * elb_scale_twice_budget) + (((cf_old_a_elb_twice_budget_budget) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)))) * S ((cf_old_a_elb_twice_budget_budget) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)))) + ((((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget))) + (((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) * S ((cf_old_b_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget)) + ((cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget))))))) /\ ((((exists ff_h_cf_elb_twice_budget_budget_following_state. ff_h_cf_elb_twice_budget_budget_following_state + S (((cf_new_a_elb_twice_budget_budget) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)))) * S ((cf_new_a_elb_twice_budget_budget) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)))) + ((((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget))) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget))))) = S ((S (S cf_index_elb_twice_budget_budget)) * elb_scale_twice_budget)) /\ exists ff_q_cf_elb_twice_budget_budget_following_state. elb_history_twice_budget = ff_q_cf_elb_twice_budget_budget_following_state * S ((S (S cf_index_elb_twice_budget_budget)) * elb_scale_twice_budget) + (((cf_new_a_elb_twice_budget_budget) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)))) * S ((cf_new_a_elb_twice_budget_budget) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)))) + ((((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget))) + (((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) * S ((cf_new_b_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget)) + ((cf_head_elb_twice_budget_budget) + (cf_head_elb_twice_budget_budget))))))) /\ (cf_new_b_elb_twice_budget_budget = cf_old_a_elb_twice_budget_budget /\ (cf_new_a_elb_twice_budget_budget = cf_new_b_elb_twice_budget_budget * cf_quotient_elb_twice_budget_budget + cf_old_b_elb_twice_budget_budget /\ ((exists ff_lt_cf_elb_twice_budget_budget_remainder. ff_lt_cf_elb_twice_budget_budget_remainder + S cf_old_b_elb_twice_budget_budget = cf_new_b_elb_twice_budget_budget) /\ (cf_head_elb_twice_budget_budget = S ((cf_quotient_elb_twice_budget_budget + cf_tail_elb_twice_budget_budget) * S (cf_quotient_elb_twice_budget_budget + cf_tail_elb_twice_budget_budget) + (cf_tail_elb_twice_budget_budget + cf_tail_elb_twice_budget_budget))))))))))) /\ exists elb_gap_twice_budget. elb_gap_twice_budget + elb_steps_twice_budget = (S (S (n + n)))) - 0120
specialize euclidean_log_budget_extend_twice a - 0121
specialize euclidean_log_budget_extend_twice b - 0122
specialize euclidean_log_budget_extend_twice x1 - 0123
specialize euclidean_log_budget_extend_twice x2 - 0124
specialize euclidean_log_budget_extend_twice x4 - 0125
specialize euclidean_log_budget_extend_twice x5 - 0126
specialize euclidean_log_budget_extend_twice (n + n) - 0127
apply euclidean_log_budget_extend_twice - 0128
exact hfirst_witness_witness - 0129
exact hsecond_witness_witness - 0130
exact hall - 0131
specialize euclidean_log_budget_successor_power a - 0132
specialize euclidean_log_budget_successor_power b - 0133
specialize euclidean_log_budget_successor_power n - 0134
apply euclidean_log_budget_successor_power - 0135
exact htwice