PC0012

beta_cutoff_prefix_extend

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Append an actual cutoff choice, preserving every previously coded entry.

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 u b c d f l e. (forall pc_index_cut_extend_source. (exists pc_lt_cut_extend_source_bound. pc_lt_cut_extend_source_bound + S (pc_index_cut_extend_source) = (l)) -> exists pc_bit_cut_extend_source. (((exists fs_h_pc_cut_extend_source_entry. fs_h_pc_cut_extend_source_entry + S (pc_bit_cut_extend_source) = S ((S (pc_index_cut_extend_source)) * f)) /\ exists fs_q_pc_cut_extend_source_entry. d = fs_q_pc_cut_extend_source_entry * S ((S (pc_index_cut_extend_source)) * f) + (pc_bit_cut_extend_source))) /\ ((((exists pc_lt_cut_extend_source_choice_below. pc_lt_cut_extend_source_choice_below + S (pc_index_cut_extend_source) = (u)) /\ pc_bit_cut_extend_source = 0) \/ ((exists pc_le_cut_extend_source_choice_above. pc_le_cut_extend_source_choice_above + (u) = (pc_index_cut_extend_source)) /\ (((exists fs_h_pc_cut_extend_source_choice_source. fs_h_pc_cut_extend_source_choice_source + S (pc_bit_cut_extend_source) = S ((S (pc_index_cut_extend_source)) * c)) /\ exists fs_q_pc_cut_extend_source_choice_source. b = fs_q_pc_cut_extend_source_choice_source * S ((S (pc_index_cut_extend_source)) * c) + (pc_bit_cut_extend_source))))))) -> ((((exists pc_lt_cut_extend_choice_below. pc_lt_cut_extend_choice_below + S (l) = (u)) /\ e = 0) \/ ((exists pc_le_cut_extend_choice_above. pc_le_cut_extend_choice_above + (u) = (l)) /\ (((exists fs_h_pc_cut_extend_choice_source. fs_h_pc_cut_extend_choice_source + S (e) = S ((S (l)) * c)) /\ exists fs_q_pc_cut_extend_choice_source. b = fs_q_pc_cut_extend_choice_source * S ((S (l)) * c) + (e)))))) -> exists g h. forall pc_index_cut_extend_target. (exists pc_lt_cut_extend_target_bound. pc_lt_cut_extend_target_bound + S (pc_index_cut_extend_target) = (S l)) -> exists pc_bit_cut_extend_target. (((exists fs_h_pc_cut_extend_target_entry. fs_h_pc_cut_extend_target_entry + S (pc_bit_cut_extend_target) = S ((S (pc_index_cut_extend_target)) * h)) /\ exists fs_q_pc_cut_extend_target_entry. g = fs_q_pc_cut_extend_target_entry * S ((S (pc_index_cut_extend_target)) * h) + (pc_bit_cut_extend_target))) /\ ((((exists pc_lt_cut_extend_target_choice_below. pc_lt_cut_extend_target_choice_below + S (pc_index_cut_extend_target) = (u)) /\ pc_bit_cut_extend_target = 0) \/ ((exists pc_le_cut_extend_target_choice_above. pc_le_cut_extend_target_choice_above + (u) = (pc_index_cut_extend_target)) /\ (((exists fs_h_pc_cut_extend_target_choice_source. fs_h_pc_cut_extend_target_choice_source + S (pc_bit_cut_extend_target) = S ((S (pc_index_cut_extend_target)) * c)) /\ exists fs_q_pc_cut_extend_target_choice_source. b = fs_q_pc_cut_extend_target_choice_source * S ((S (pc_index_cut_extend_target)) * c) + (pc_bit_cut_extend_target))))))

Constructive proof overview

Generated structural guide

Append an actual cutoff choice, preserving every previously coded entry.

The unchanged tactic script uses 3 declared prerequisites and contains 55 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

beta_prefix_extend Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized

Direct 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

55 script commands · 18 reading checkpoints · 3 local claims

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.

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–9

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro u
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
  5. L5
    intro f
  6. L6
    intro l
  7. L7
    intro e
  8. L8
    intro h
  9. L9
    intro he
02Establish hextL10–15

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.

  1. L10
    have hext : ∃ g. ∃ j. BetaAt(g,j,l,e) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(d,f,x,y) → BetaAt(g,j,x,y))Definitions: LtBetaAt
  2. L11
    specialize beta_prefix_extend l
  3. L12
    specialize beta_prefix_extend d
  4. L13
    specialize beta_prefix_extend f
  5. L14
    specialize beta_prefix_extend e
  6. L15
    apply beta_prefix_extend
03Separate the logical casesL16–18

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L16
    cases hext
  2. L17
    cases hext_witness
  3. L18
    cases hext_witness_witness
04Construct an explicit witnessL19–20

Supply the displayed value, then prove that it has the required property.

  1. L19
    exists x
  2. L20
    exists x1
05Fix variables and assumptionsL21–22

Work with arbitrary variables or the premises of the current implication.

  1. L21
    intro i
  2. L22
    intro hi
06Establish hcL23–30

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.

  1. L23
    have hc : i = l \/ exists g. g + S i = l
  2. L24
    specialize le_eq_or_lt i
  3. L25
    specialize le_eq_or_lt l
  4. L26
    apply le_eq_or_lt
  5. L27
    specialize le_of_succ_le_succ i
  6. L28
    specialize le_of_succ_le_succ l
  7. L29
    apply le_of_succ_le_succ
  8. L30
    exact hi
07Separate the logical casesL31–31

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L31
    cases hc
08Construct an explicit witnessL32–32

Supply the displayed value, then prove that it has the required property.

  1. L32
    exists e
09Separate the logical casesL33–33

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L33
    split
10Calculate and transport equalitiesL34–35

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L34
    rewrite hc_left
  2. L35
    rewrite hc_left
11Use earlier factsL36–36

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L36
    exact hext_witness_witness_left
12Calculate and transport equalitiesL37–40

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L37
    rewrite hc_left
  2. L38
    rewrite hc_left
  3. L39
    rewrite hc_left
  4. L40
    rewrite hc_left
13Use earlier factsL41–41

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L41
    exact he
14Establish hpL42–45

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.

  1. L42
    have hp : ∃ a. BetaAt(d,f,i,a) ∧ (Lt(i,u) ∧ a = 0 ∨ Le(u,i) ∧ BetaAt(b,c,i,a))Definitions: LeLtBetaAt
  2. L43
    specialize h i
  3. L44
    apply h
  4. L45
    exact hc_right
15Separate the logical casesL46–47

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L46
    cases hp
  2. L47
    cases hp_witness
16Construct an explicit witnessL48–48

Supply the displayed value, then prove that it has the required property.

  1. L48
    exists x2
17Separate the logical casesL49–49

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L49
    split
18Use earlier factsL50–55

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L50
    specialize hext_witness_witness_right i
  2. L51
    specialize hext_witness_witness_right x2
  3. L52
    apply hext_witness_witness_right
  4. L53
    exact hc_right
  5. L54
    exact hp_witness_left
  6. L55
    exact hp_witness_right

Library-wide reading audit

Original exact command ledger · 55 lines
  1. 0001intro u
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005intro f
  6. 0006intro l
  7. 0007intro e
  8. 0008intro h
  9. 0009intro he
  10. 0010have hext : exists g j. (((exists fs_h_pc_cut_extend_last. fs_h_pc_cut_extend_last + S (e) = S ((S (l)) * j)) /\ exists fs_q_pc_cut_extend_last. g = fs_q_pc_cut_extend_last * S ((S (l)) * j) + (e))) /\ forall i a. (exists pc_lt_cut_extend_bound. pc_lt_cut_extend_bound + S (i) = (l)) -> (((exists fs_h_pc_cut_extend_old. fs_h_pc_cut_extend_old + S (a) = S ((S (i)) * f)) /\ exists fs_q_pc_cut_extend_old. d = fs_q_pc_cut_extend_old * S ((S (i)) * f) + (a))) -> (((exists fs_h_pc_cut_extend_new. fs_h_pc_cut_extend_new + S (a) = S ((S (i)) * j)) /\ exists fs_q_pc_cut_extend_new. g = fs_q_pc_cut_extend_new * S ((S (i)) * j) + (a)))
  11. 0011specialize beta_prefix_extend l
  12. 0012specialize beta_prefix_extend d
  13. 0013specialize beta_prefix_extend f
  14. 0014specialize beta_prefix_extend e
  15. 0015apply beta_prefix_extend
  16. 0016cases hext
  17. 0017cases hext_witness
  18. 0018cases hext_witness_witness
  19. 0019exists x
  20. 0020exists x1
  21. 0021intro i
  22. 0022intro hi
  23. 0023have hc : i = l \/ exists g. g + S i = l
  24. 0024specialize le_eq_or_lt i
  25. 0025specialize le_eq_or_lt l
  26. 0026apply le_eq_or_lt
  27. 0027specialize le_of_succ_le_succ i
  28. 0028specialize le_of_succ_le_succ l
  29. 0029apply le_of_succ_le_succ
  30. 0030exact hi
  31. 0031cases hc
  32. 0032exists e
  33. 0033split
  34. 0034rewrite hc_left
  35. 0035rewrite hc_left
  36. 0036exact hext_witness_witness_left
  37. 0037rewrite hc_left
  38. 0038rewrite hc_left
  39. 0039rewrite hc_left
  40. 0040rewrite hc_left
  41. 0041exact he
  42. 0042have hp : exists a. (((exists fs_h_pc_cut_extend_point. fs_h_pc_cut_extend_point + S (a) = S ((S (i)) * f)) /\ exists fs_q_pc_cut_extend_point. d = fs_q_pc_cut_extend_point * S ((S (i)) * f) + (a))) /\ ((((exists pc_lt_cut_extend_point_choice_below. pc_lt_cut_extend_point_choice_below + S (i) = (u)) /\ a = 0) \/ ((exists pc_le_cut_extend_point_choice_above. pc_le_cut_extend_point_choice_above + (u) = (i)) /\ (((exists fs_h_pc_cut_extend_point_choice_source. fs_h_pc_cut_extend_point_choice_source + S (a) = S ((S (i)) * c)) /\ exists fs_q_pc_cut_extend_point_choice_source. b = fs_q_pc_cut_extend_point_choice_source * S ((S (i)) * c) + (a))))))
  43. 0043specialize h i
  44. 0044apply h
  45. 0045exact hc_right
  46. 0046cases hp
  47. 0047cases hp_witness
  48. 0048exists x2
  49. 0049split
  50. 0050specialize hext_witness_witness_right i
  51. 0051specialize hext_witness_witness_right x2
  52. 0052apply hext_witness_witness_right
  53. 0053exact hc_right
  54. 0054exact hp_witness_left
  55. 0055exact hp_witness_right