Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall a b q r t h e l. a = b * q + r -> (exists ff_lt_cf_extension_bound. ff_lt_cf_extension_bound + S r = b) -> (exists cf_gcd_old. ((((exists ff_h_cf_old_initial_state. ff_h_cf_old_initial_state + S (((cf_gcd_old) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old) + (((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_old_initial_state. h = ff_q_cf_old_initial_state * S ((S (0)) * e) + (((cf_gcd_old) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_old) + (((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_old_terminal_state. ff_h_cf_old_terminal_state + S (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))) = S ((S (l)) * e)) /\ exists ff_q_cf_old_terminal_state. h = ff_q_cf_old_terminal_state * S ((S (l)) * e) + (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))))) /\ forall cf_index_old. (exists ff_lt_cf_old_index. ff_lt_cf_old_index + S cf_index_old = l) -> exists cf_old_a_old cf_old_b_old cf_tail_old cf_new_a_old cf_new_b_old cf_head_old cf_quotient_old. ((((exists ff_h_cf_old_previous_state. ff_h_cf_old_previous_state + S (((cf_old_a_old) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old)))) * S ((cf_old_a_old) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old)))) + ((((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old))) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old))))) = S ((S (cf_index_old)) * e)) /\ exists ff_q_cf_old_previous_state. h = ff_q_cf_old_previous_state * S ((S (cf_index_old)) * e) + (((cf_old_a_old) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old)))) * S ((cf_old_a_old) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old)))) + ((((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old))) + (((cf_old_b_old) + (cf_tail_old)) * S ((cf_old_b_old) + (cf_tail_old)) + ((cf_tail_old) + (cf_tail_old))))))) /\ ((((exists ff_h_cf_old_following_state. ff_h_cf_old_following_state + S (((cf_new_a_old) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old)))) * S ((cf_new_a_old) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old)))) + ((((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old))) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old))))) = S ((S (S cf_index_old)) * e)) /\ exists ff_q_cf_old_following_state. h = ff_q_cf_old_following_state * S ((S (S cf_index_old)) * e) + (((cf_new_a_old) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old)))) * S ((cf_new_a_old) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old)))) + ((((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old))) + (((cf_new_b_old) + (cf_head_old)) * S ((cf_new_b_old) + (cf_head_old)) + ((cf_head_old) + (cf_head_old))))))) /\ (cf_new_b_old = cf_old_a_old /\ (cf_new_a_old = cf_new_b_old * cf_quotient_old + cf_old_b_old /\ ((exists ff_lt_cf_old_remainder. ff_lt_cf_old_remainder + S cf_old_b_old = cf_new_b_old) /\ (cf_head_old = S ((cf_quotient_old + cf_tail_old) * S (cf_quotient_old + cf_tail_old) + (cf_tail_old + cf_tail_old))))))))))) -> exists s z c. ((s = S ((q + t) * S (q + t) + (t + t))) /\ (exists cf_gcd_new. ((((exists ff_h_cf_new_initial_state. ff_h_cf_new_initial_state + S (((cf_gcd_new) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_new) + (((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_new_initial_state. z = ff_q_cf_new_initial_state * S ((S (0)) * c) + (((cf_gcd_new) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((cf_gcd_new) + (((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_new_terminal_state. ff_h_cf_new_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 l)) * c)) /\ exists ff_q_cf_new_terminal_state. z = ff_q_cf_new_terminal_state * S ((S (S l)) * 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_new. (exists ff_lt_cf_new_index. ff_lt_cf_new_index + S cf_index_new = S l) -> exists cf_old_a_new cf_old_b_new cf_tail_new cf_new_a_new cf_new_b_new cf_head_new cf_quotient_new. ((((exists ff_h_cf_new_previous_state. ff_h_cf_new_previous_state + S (((cf_old_a_new) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new)))) * S ((cf_old_a_new) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new)))) + ((((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new))) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new))))) = S ((S (cf_index_new)) * c)) /\ exists ff_q_cf_new_previous_state. z = ff_q_cf_new_previous_state * S ((S (cf_index_new)) * c) + (((cf_old_a_new) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new)))) * S ((cf_old_a_new) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new)))) + ((((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new))) + (((cf_old_b_new) + (cf_tail_new)) * S ((cf_old_b_new) + (cf_tail_new)) + ((cf_tail_new) + (cf_tail_new))))))) /\ ((((exists ff_h_cf_new_following_state. ff_h_cf_new_following_state + S (((cf_new_a_new) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new)))) * S ((cf_new_a_new) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new)))) + ((((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new))) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new))))) = S ((S (S cf_index_new)) * c)) /\ exists ff_q_cf_new_following_state. z = ff_q_cf_new_following_state * S ((S (S cf_index_new)) * c) + (((cf_new_a_new) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new)))) * S ((cf_new_a_new) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new)))) + ((((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new))) + (((cf_new_b_new) + (cf_head_new)) * S ((cf_new_b_new) + (cf_head_new)) + ((cf_head_new) + (cf_head_new))))))) /\ (cf_new_b_new = cf_old_a_new /\ (cf_new_a_new = cf_new_b_new * cf_quotient_new + cf_old_b_new /\ ((exists ff_lt_cf_new_remainder. ff_lt_cf_new_remainder + S cf_old_b_new = cf_new_b_new) /\ (cf_head_new = S ((cf_quotient_new + cf_tail_new) * S (cf_quotient_new + cf_tail_new) + (cf_tail_new + cf_tail_new))))))))))))Constructive proof overview
Generated structural guide
A strict Euclidean division prepends its quotient and extends one beta-coded history without changing any earlier state.
The unchanged tactic script uses 7 declared prerequisites and contains 133 exact native proof lines.
Alpha v34 checked-use · first admitted v20 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
cell_constructor Alpha theorem; checked-use authorized beta_prefix_extend Stable theorem; checked-use authorized finite_lt_succ_eq_or_lt Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorized lt_of_lt_of_le Stable theorem; checked-use authorized le_succ_self Stable theorem; checked-use authorized succ_le_succ Stable theorem; checked-use authorizedDirect 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro htrace
03Use earlier factsL12–13
04Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases cell_constructor
05Establish hsL15–16
06Separate the logical casesL17–19
07Establish hextensionL20–25
Establish this local claim before using it. It is not an additional assumption.
- L20
- L21
specialize beta_prefix_extend (S l) - L22
specialize beta_prefix_extend h - L23
specialize beta_prefix_extend e - L24
specialize beta_prefix_extend (((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) * S ((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) + ((((b) + (x)) * S ((b) + (x)) + ((x) + (x))) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x))))) - L25
exact beta_prefix_extend
08Separate the logical casesL26–28
09Construct an explicit witnessL29–31
10Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
11Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hs
12Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists x1
13Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
14Use earlier factsL36–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize hextension_witness_witness_right 0 - L37
specialize hextension_witness_witness_right (((x1) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((x1) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - L38
apply hextension_witness_witness_right
15Construct an explicit witnessL39–39
Supply the displayed value, then prove that it has the required property.
- L39
exists l
16Calculate and transport equalitiesL40–40
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
simp
17Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact htrace_witness_left
18Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
19Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hextension_witness_witness_left
20Fix variables and assumptionsL44–45
21Establish hsplitL46–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
22Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
cases hsplit
23Calculate and transport equalitiesL52–55
24Construct an explicit witnessL56–62
25Separate the logical casesL63–63
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L63
split
26Use earlier factsL64–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize hextension_witness_witness_right l - L65
specialize hextension_witness_witness_right (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))) - L66
apply hextension_witness_witness_right
27Construct an explicit witnessL67–67
Supply the displayed value, then prove that it has the required property.
- L67
exists 0
28Use earlier factsL68–69
29Separate the logical casesL70–70
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L70
split
30Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
exact hextension_witness_witness_left
31Separate the logical casesL72–72
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L72
split
32Calculate and transport equalitiesL73–73
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L73
refl
33Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
34Use earlier factsL75–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
exact hdivision
35Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
split
36Use earlier factsL77–79
37Establish hpreviousL80–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply htrace witness right right.
- L80
have hprevious : ∃ A. ∃ B. ∃ T. ∃ C. ∃ D. ∃ U. ∃ Q. Beta(h,e,i,(A + ((B + T) · S (B + T) + (T + T))) · S (A + ((B + T) · S (B + T) + (T + T))) + ((B + T) · S (B + T) + (T + T) + ((B + T) · S (B + T) + (T + T)))) ∧ (Beta(h,e,S i,(C + ((D + U) · S (D + U) + (U + U))) · S (C + ((D + U) · S (D + U) + (U + U))) + ((D + U) · S (D + U) + (U + U) + ((D + U) · S (D + U) + (U + U)))) ∧ (D = A ∧ (C = D · Q + B ∧ (Lt(B,D) ∧ ListCell(U,Q,T)))))Definitions: BetaListCellLt - L81
apply htrace_witness_right_right - L82
exact hsplit_right
38Separate the logical casesL83–92
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L83
cases hprevious - L84
cases hprevious_witness - L85
cases hprevious_witness_witness - L86
cases hprevious_witness_witness_witness - L87
cases hprevious_witness_witness_witness_witness - L88
cases hprevious_witness_witness_witness_witness_witness - L89
cases hprevious_witness_witness_witness_witness_witness_witness - L90
cases hprevious_witness_witness_witness_witness_witness_witness_witness - L91
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right - L92
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right_right
39Separate the logical casesL93–94
40Establish hipreserveL95–102
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
41Establish hnextpreserveL103–107
42Construct an explicit witnessL108–114
43Separate the logical casesL115–115
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L115
split
44Use earlier factsL116–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
specialize hextension_witness_witness_right i - L117
specialize hextension_witness_witness_right (((x4) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6)))) * S ((x4) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6)))) + ((((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6))) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6))))) - L118
apply hextension_witness_witness_right - L119
exact hipreserve - L120
exact hprevious_witness_witness_witness_witness_witness_witness_witness_left
45Separate the logical casesL121–121
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L121
split
46Use earlier factsL122–126
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L122
specialize hextension_witness_witness_right (S i) - L123
specialize hextension_witness_witness_right (((x7) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((x7) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L124
apply hextension_witness_witness_right - L125
exact hnextpreserve - L126
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_left
47Separate the logical casesL127–127
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L127
split
48Use earlier factsL128–128
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L128
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_left
49Separate the logical casesL129–129
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L129
split
50Use earlier factsL130–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L130
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right_left
51Separate the logical casesL131–131
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L131
split
52Use earlier factsL132–133
Original exact command ledger · 133 lines
- 0001
intro a - 0002
intro b - 0003
intro q - 0004
intro r - 0005
intro t - 0006
intro h - 0007
intro e - 0008
intro l - 0009
intro hdivision - 0010
intro hbound - 0011
intro htrace - 0012
specialize cell_constructor q - 0013
specialize cell_constructor t - 0014
cases cell_constructor - 0015
have hs : x = S ((q + t) * S (q + t) + (t + t)) - 0016
exact cell_constructor_witness - 0017
cases htrace - 0018
cases htrace_witness - 0019
cases htrace_witness_right - 0020
have hextension : exists z c. ((((exists ff_h_cf_extension_new_state. ff_h_cf_extension_new_state + S (((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) * S ((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) + ((((b) + (x)) * S ((b) + (x)) + ((x) + (x))) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x))))) = S ((S (S l)) * c)) /\ exists ff_q_cf_extension_new_state. z = ff_q_cf_extension_new_state * S ((S (S l)) * c) + (((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) * S ((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) + ((((b) + (x)) * S ((b) + (x)) + ((x) + (x))) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x))))))) /\ forall j v. (exists ff_lt_cf_extension_prefix_bound. ff_lt_cf_extension_prefix_bound + S j = S l) -> (((exists ff_h_cf_extension_source. ff_h_cf_extension_source + S (v) = S ((S (j)) * e)) /\ exists ff_q_cf_extension_source. h = ff_q_cf_extension_source * S ((S (j)) * e) + (v))) -> (((exists ff_h_cf_extension_target. ff_h_cf_extension_target + S (v) = S ((S (j)) * c)) /\ exists ff_q_cf_extension_target. z = ff_q_cf_extension_target * S ((S (j)) * c) + (v)))) - 0021
specialize beta_prefix_extend (S l) - 0022
specialize beta_prefix_extend h - 0023
specialize beta_prefix_extend e - 0024
specialize beta_prefix_extend (((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) * S ((a) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x)))) + ((((b) + (x)) * S ((b) + (x)) + ((x) + (x))) + (((b) + (x)) * S ((b) + (x)) + ((x) + (x))))) - 0025
exact beta_prefix_extend - 0026
cases hextension - 0027
cases hextension_witness - 0028
cases hextension_witness_witness - 0029
exists x - 0030
exists x2 - 0031
exists x3 - 0032
split - 0033
exact hs - 0034
exists x1 - 0035
split - 0036
specialize hextension_witness_witness_right 0 - 0037
specialize hextension_witness_witness_right (((x1) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) * S ((x1) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0)))) + ((((0) + (0)) * S ((0) + (0)) + ((0) + (0))) + (((0) + (0)) * S ((0) + (0)) + ((0) + (0))))) - 0038
apply hextension_witness_witness_right - 0039
exists l - 0040
simp - 0041
exact htrace_witness_left - 0042
split - 0043
exact hextension_witness_witness_left - 0044
intro i - 0045
intro hi - 0046
have hsplit : i = l \/ exists gap. gap + S i = l - 0047
specialize finite_lt_succ_eq_or_lt l - 0048
specialize finite_lt_succ_eq_or_lt i - 0049
apply finite_lt_succ_eq_or_lt - 0050
exact hi - 0051
cases hsplit - 0052
rewrite hsplit_left - 0053
rewrite hsplit_left - 0054
rewrite hsplit_left - 0055
rewrite hsplit_left - 0056
exists b - 0057
exists r - 0058
exists t - 0059
exists a - 0060
exists b - 0061
exists x - 0062
exists q - 0063
split - 0064
specialize hextension_witness_witness_right l - 0065
specialize hextension_witness_witness_right (((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) * S ((b) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t)))) + ((((r) + (t)) * S ((r) + (t)) + ((t) + (t))) + (((r) + (t)) * S ((r) + (t)) + ((t) + (t))))) - 0066
apply hextension_witness_witness_right - 0067
exists 0 - 0068
apply zero_add - 0069
exact htrace_witness_right_left - 0070
split - 0071
exact hextension_witness_witness_left - 0072
split - 0073
refl - 0074
split - 0075
exact hdivision - 0076
split - 0077
exact hbound - 0078
exact hs - 0079
specialize htrace_witness_right_right i - 0080
have hprevious : exists A B T C D U Q. ((((exists ff_h_cf_previous_old_state. ff_h_cf_previous_old_state + S (((A) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T)))) * S ((A) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T)))) + ((((B) + (T)) * S ((B) + (T)) + ((T) + (T))) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T))))) = S ((S (i)) * e)) /\ exists ff_q_cf_previous_old_state. h = ff_q_cf_previous_old_state * S ((S (i)) * e) + (((A) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T)))) * S ((A) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T)))) + ((((B) + (T)) * S ((B) + (T)) + ((T) + (T))) + (((B) + (T)) * S ((B) + (T)) + ((T) + (T))))))) /\ ((((exists ff_h_cf_previous_new_state. ff_h_cf_previous_new_state + S (((C) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U)))) * S ((C) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U)))) + ((((D) + (U)) * S ((D) + (U)) + ((U) + (U))) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U))))) = S ((S (S i)) * e)) /\ exists ff_q_cf_previous_new_state. h = ff_q_cf_previous_new_state * S ((S (S i)) * e) + (((C) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U)))) * S ((C) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U)))) + ((((D) + (U)) * S ((D) + (U)) + ((U) + (U))) + (((D) + (U)) * S ((D) + (U)) + ((U) + (U))))))) /\ (D = A /\ (C = D * Q + B /\ ((exists ff_lt_cf_previous_remainder. ff_lt_cf_previous_remainder + S B = D) /\ (U = S ((Q + T) * S (Q + T) + (T + T)))))))) - 0081
apply htrace_witness_right_right - 0082
exact hsplit_right - 0083
cases hprevious - 0084
cases hprevious_witness - 0085
cases hprevious_witness_witness - 0086
cases hprevious_witness_witness_witness - 0087
cases hprevious_witness_witness_witness_witness - 0088
cases hprevious_witness_witness_witness_witness_witness - 0089
cases hprevious_witness_witness_witness_witness_witness_witness - 0090
cases hprevious_witness_witness_witness_witness_witness_witness_witness - 0091
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right - 0092
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right_right - 0093
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0094
cases hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0095
have hipreserve : exists gap. gap + S i = S l - 0096
specialize lt_of_lt_of_le i - 0097
specialize lt_of_lt_of_le l - 0098
specialize lt_of_lt_of_le (S l) - 0099
apply lt_of_lt_of_le - 0100
exact hsplit_right - 0101
specialize le_succ_self l - 0102
exact le_succ_self - 0103
have hnextpreserve : exists gap. gap + S (S i) = S l - 0104
specialize succ_le_succ (S i) - 0105
specialize succ_le_succ l - 0106
apply succ_le_succ - 0107
exact hsplit_right - 0108
exists x4 - 0109
exists x5 - 0110
exists x6 - 0111
exists x7 - 0112
exists x8 - 0113
exists x9 - 0114
exists x10 - 0115
split - 0116
specialize hextension_witness_witness_right i - 0117
specialize hextension_witness_witness_right (((x4) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6)))) * S ((x4) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6)))) + ((((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6))) + (((x5) + (x6)) * S ((x5) + (x6)) + ((x6) + (x6))))) - 0118
apply hextension_witness_witness_right - 0119
exact hipreserve - 0120
exact hprevious_witness_witness_witness_witness_witness_witness_witness_left - 0121
split - 0122
specialize hextension_witness_witness_right (S i) - 0123
specialize hextension_witness_witness_right (((x7) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((x7) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0124
apply hextension_witness_witness_right - 0125
exact hnextpreserve - 0126
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_left - 0127
split - 0128
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0129
split - 0130
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0131
split - 0132
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_left - 0133
exact hprevious_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right