BT00SR · Bertrand theorem

beta_sum_succ_last_zero

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

A successor beta sum with final entry zero is its predecessor sum.

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.

Statement with defined notation

∀ b. ∀ c. ∀ l. ∀ n. Sum(b,c,S l,n)BetaAt(b,c,l,0)Sum(b,c,l,n)

Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.

Definitions used by this theorem

In the theorem statement

3 occurrences

In local proof propositions

2 occurrences

Exact expanded native-PA statement
forall b c l n. (exists fs_u_blrr_drop_successor fs_v_blrr_drop_successor. ((((exists fs_h_blrr_drop_successor_body_start. fs_h_blrr_drop_successor_body_start + S (0) = S ((S (0)) * fs_v_blrr_drop_successor)) /\ exists fs_q_blrr_drop_successor_body_start. fs_u_blrr_drop_successor = fs_q_blrr_drop_successor_body_start * S ((S (0)) * fs_v_blrr_drop_successor) + (0))) /\ ((((exists fs_h_blrr_drop_successor_body_terminal. fs_h_blrr_drop_successor_body_terminal + S (n) = S ((S (S l)) * fs_v_blrr_drop_successor)) /\ exists fs_q_blrr_drop_successor_body_terminal. fs_u_blrr_drop_successor = fs_q_blrr_drop_successor_body_terminal * S ((S (S l)) * fs_v_blrr_drop_successor) + (n))) /\ forall fs_i_blrr_drop_successor_body_steps. (exists fs_lt_blrr_drop_successor_body_steps_bound. fs_lt_blrr_drop_successor_body_steps_bound + S fs_i_blrr_drop_successor_body_steps = S l) -> exists fs_a_blrr_drop_successor_body_steps fs_r_blrr_drop_successor_body_steps fs_s_blrr_drop_successor_body_steps. ((((exists fs_h_blrr_drop_successor_body_steps_summand. fs_h_blrr_drop_successor_body_steps_summand + S (fs_a_blrr_drop_successor_body_steps) = S ((S (fs_i_blrr_drop_successor_body_steps)) * c)) /\ exists fs_q_blrr_drop_successor_body_steps_summand. b = fs_q_blrr_drop_successor_body_steps_summand * S ((S (fs_i_blrr_drop_successor_body_steps)) * c) + (fs_a_blrr_drop_successor_body_steps))) /\ ((((exists fs_h_blrr_drop_successor_body_steps_partial. fs_h_blrr_drop_successor_body_steps_partial + S (fs_r_blrr_drop_successor_body_steps) = S ((S (fs_i_blrr_drop_successor_body_steps)) * fs_v_blrr_drop_successor)) /\ exists fs_q_blrr_drop_successor_body_steps_partial. fs_u_blrr_drop_successor = fs_q_blrr_drop_successor_body_steps_partial * S ((S (fs_i_blrr_drop_successor_body_steps)) * fs_v_blrr_drop_successor) + (fs_r_blrr_drop_successor_body_steps))) /\ ((((exists fs_h_blrr_drop_successor_body_steps_successor. fs_h_blrr_drop_successor_body_steps_successor + S (fs_s_blrr_drop_successor_body_steps) = S ((S (S fs_i_blrr_drop_successor_body_steps)) * fs_v_blrr_drop_successor)) /\ exists fs_q_blrr_drop_successor_body_steps_successor. fs_u_blrr_drop_successor = fs_q_blrr_drop_successor_body_steps_successor * S ((S (S fs_i_blrr_drop_successor_body_steps)) * fs_v_blrr_drop_successor) + (fs_s_blrr_drop_successor_body_steps))) /\ fs_s_blrr_drop_successor_body_steps = fs_r_blrr_drop_successor_body_steps + fs_a_blrr_drop_successor_body_steps)))))) -> (((exists fs_h_blrr_drop_zero. fs_h_blrr_drop_zero + S (0) = S ((S (l)) * c)) /\ exists fs_q_blrr_drop_zero. b = fs_q_blrr_drop_zero * S ((S (l)) * c) + (0))) -> (exists ff_u_blrr_drop_predecessor ff_v_blrr_drop_predecessor. ((((exists ff_h_blrr_drop_predecessor_start. ff_h_blrr_drop_predecessor_start + S (0) = S ((S (0)) * ff_v_blrr_drop_predecessor)) /\ exists ff_q_blrr_drop_predecessor_start. ff_u_blrr_drop_predecessor = ff_q_blrr_drop_predecessor_start * S ((S (0)) * ff_v_blrr_drop_predecessor) + (0))) /\ ((((exists ff_h_blrr_drop_predecessor_terminal. ff_h_blrr_drop_predecessor_terminal + S (n) = S ((S (l)) * ff_v_blrr_drop_predecessor)) /\ exists ff_q_blrr_drop_predecessor_terminal. ff_u_blrr_drop_predecessor = ff_q_blrr_drop_predecessor_terminal * S ((S (l)) * ff_v_blrr_drop_predecessor) + (n))) /\ forall ff_i_blrr_drop_predecessor. (exists ff_lt_blrr_drop_predecessor_bound. ff_lt_blrr_drop_predecessor_bound + S ff_i_blrr_drop_predecessor = l) -> exists ff_a_blrr_drop_predecessor ff_r_blrr_drop_predecessor ff_s_blrr_drop_predecessor. ((((exists ff_h_blrr_drop_predecessor_summand. ff_h_blrr_drop_predecessor_summand + S (ff_a_blrr_drop_predecessor) = S ((S (ff_i_blrr_drop_predecessor)) * c)) /\ exists ff_q_blrr_drop_predecessor_summand. b = ff_q_blrr_drop_predecessor_summand * S ((S (ff_i_blrr_drop_predecessor)) * c) + (ff_a_blrr_drop_predecessor))) /\ ((((exists ff_h_blrr_drop_predecessor_partial. ff_h_blrr_drop_predecessor_partial + S (ff_r_blrr_drop_predecessor) = S ((S (ff_i_blrr_drop_predecessor)) * ff_v_blrr_drop_predecessor)) /\ exists ff_q_blrr_drop_predecessor_partial. ff_u_blrr_drop_predecessor = ff_q_blrr_drop_predecessor_partial * S ((S (ff_i_blrr_drop_predecessor)) * ff_v_blrr_drop_predecessor) + (ff_r_blrr_drop_predecessor))) /\ ((((exists ff_h_blrr_drop_predecessor_successor. ff_h_blrr_drop_predecessor_successor + S (ff_s_blrr_drop_predecessor) = S ((S (S ff_i_blrr_drop_predecessor)) * ff_v_blrr_drop_predecessor)) /\ exists ff_q_blrr_drop_predecessor_successor. ff_u_blrr_drop_predecessor = ff_q_blrr_drop_predecessor_successor * S ((S (S ff_i_blrr_drop_predecessor)) * ff_v_blrr_drop_predecessor) + (ff_s_blrr_drop_predecessor))) /\ ff_s_blrr_drop_predecessor = ff_r_blrr_drop_predecessor + ff_a_blrr_drop_predecessor))))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.

Read the argument

Proof checkpoints

34 script commands · 5 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–6

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro l
  4. L4
    intro n
  5. L5
    intro hsum
  6. L6
    intro hzero
02Establish hdecompositionL7–13

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

  1. L7
    have hdecomposition : ∃ a. ∃ r. BetaAt(b,c,l,a) ∧ (Sum(b,c,l,r) ∧ n = r + a)Definitions: BetaAt(b,c,l,a)Sum(b,c,l,r)Original native command in the exact edition
  2. L8
    specialize beta_sum_succ_decompose b
  3. L9
    specialize beta_sum_succ_decompose c
  4. L10
    specialize beta_sum_succ_decompose l
  5. L11
    specialize beta_sum_succ_decompose n
  6. L12
    apply beta_sum_succ_decompose
  7. L13
    exact hsum
03Separate the logical casesL14–17

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

  1. L14
    cases hdecomposition
  2. L15
    cases hdecomposition_witness
  3. L16
    cases hdecomposition_witness_witness
  4. L17
    cases hdecomposition_witness_witness_right
04Establish haL18–26

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

  1. L18
    have ha : x = 0
  2. L19
    specialize beta_at_unique b
  3. L20
    specialize beta_at_unique c
  4. L21
    specialize beta_at_unique l
  5. L22
    specialize beta_at_unique x
  6. L23
    specialize beta_at_unique 0
  7. L24
    apply beta_at_unique
  8. L25
    exact hdecomposition_witness_witness_left
  9. L26
    exact hzero
05Establish hnL27–34

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

  1. L27
    have hn : n = x1
  2. L28
    trans x1 + x
  3. L29
    exact hdecomposition_witness_witness_right_right
  4. L30
    rewrite ha
  5. L31
    apply PA3
  6. L32
    rewrite hn
  7. L33
    rewrite hn
  8. L34
    exact hdecomposition_witness_witness_right_left

Library-wide reading audit

Original defined command ledger · 34 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro l
  4. 0004intro n
  5. 0005intro hsum
  6. 0006intro hzero
  7. 0007have hdecomposition : ∃ a. ∃ r. BetaAt(b,c,l,a) ∧ (Sum(b,c,l,r) ∧ n = r + a)
    Exact native replay linehave hdecomposition : exists a r. (((exists ff_h_blrr_drop_decomposition_entry. ff_h_blrr_drop_decomposition_entry + S (a) = S ((S (l)) * c)) /\ exists ff_q_blrr_drop_decomposition_entry. b = ff_q_blrr_drop_decomposition_entry * S ((S (l)) * c) + (a))) /\ ((exists ff_u_blrr_drop_decomposition_prefix ff_v_blrr_drop_decomposition_prefix. ((((exists ff_h_blrr_drop_decomposition_prefix_start. ff_h_blrr_drop_decomposition_prefix_start + S (0) = S ((S (0)) * ff_v_blrr_drop_decomposition_prefix)) /\ exists ff_q_blrr_drop_decomposition_prefix_start. ff_u_blrr_drop_decomposition_prefix = ff_q_blrr_drop_decomposition_prefix_start * S ((S (0)) * ff_v_blrr_drop_decomposition_prefix) + (0))) /\ ((((exists ff_h_blrr_drop_decomposition_prefix_terminal. ff_h_blrr_drop_decomposition_prefix_terminal + S (r) = S ((S (l)) * ff_v_blrr_drop_decomposition_prefix)) /\ exists ff_q_blrr_drop_decomposition_prefix_terminal. ff_u_blrr_drop_decomposition_prefix = ff_q_blrr_drop_decomposition_prefix_terminal * S ((S (l)) * ff_v_blrr_drop_decomposition_prefix) + (r))) /\ forall ff_i_blrr_drop_decomposition_prefix. (exists ff_lt_blrr_drop_decomposition_prefix_bound. ff_lt_blrr_drop_decomposition_prefix_bound + S ff_i_blrr_drop_decomposition_prefix = l) -> exists ff_a_blrr_drop_decomposition_prefix ff_r_blrr_drop_decomposition_prefix ff_s_blrr_drop_decomposition_prefix. ((((exists ff_h_blrr_drop_decomposition_prefix_summand. ff_h_blrr_drop_decomposition_prefix_summand + S (ff_a_blrr_drop_decomposition_prefix) = S ((S (ff_i_blrr_drop_decomposition_prefix)) * c)) /\ exists ff_q_blrr_drop_decomposition_prefix_summand. b = ff_q_blrr_drop_decomposition_prefix_summand * S ((S (ff_i_blrr_drop_decomposition_prefix)) * c) + (ff_a_blrr_drop_decomposition_prefix))) /\ ((((exists ff_h_blrr_drop_decomposition_prefix_partial. ff_h_blrr_drop_decomposition_prefix_partial + S (ff_r_blrr_drop_decomposition_prefix) = S ((S (ff_i_blrr_drop_decomposition_prefix)) * ff_v_blrr_drop_decomposition_prefix)) /\ exists ff_q_blrr_drop_decomposition_prefix_partial. ff_u_blrr_drop_decomposition_prefix = ff_q_blrr_drop_decomposition_prefix_partial * S ((S (ff_i_blrr_drop_decomposition_prefix)) * ff_v_blrr_drop_decomposition_prefix) + (ff_r_blrr_drop_decomposition_prefix))) /\ ((((exists ff_h_blrr_drop_decomposition_prefix_successor. ff_h_blrr_drop_decomposition_prefix_successor + S (ff_s_blrr_drop_decomposition_prefix) = S ((S (S ff_i_blrr_drop_decomposition_prefix)) * ff_v_blrr_drop_decomposition_prefix)) /\ exists ff_q_blrr_drop_decomposition_prefix_successor. ff_u_blrr_drop_decomposition_prefix = ff_q_blrr_drop_decomposition_prefix_successor * S ((S (S ff_i_blrr_drop_decomposition_prefix)) * ff_v_blrr_drop_decomposition_prefix) + (ff_s_blrr_drop_decomposition_prefix))) /\ ff_s_blrr_drop_decomposition_prefix = ff_r_blrr_drop_decomposition_prefix + ff_a_blrr_drop_decomposition_prefix)))))) /\ n = r + a)
  8. 0008specialize beta_sum_succ_decompose b
  9. 0009specialize beta_sum_succ_decompose c
  10. 0010specialize beta_sum_succ_decompose l
  11. 0011specialize beta_sum_succ_decompose n
  12. 0012apply beta_sum_succ_decompose
  13. 0013exact hsum
  14. 0014cases hdecomposition
  15. 0015cases hdecomposition_witness
  16. 0016cases hdecomposition_witness_witness
  17. 0017cases hdecomposition_witness_witness_right
  18. 0018have ha : x = 0
  19. 0019specialize beta_at_unique b
  20. 0020specialize beta_at_unique c
  21. 0021specialize beta_at_unique l
  22. 0022specialize beta_at_unique x
  23. 0023specialize beta_at_unique 0
  24. 0024apply beta_at_unique
  25. 0025exact hdecomposition_witness_witness_left
  26. 0026exact hzero
  27. 0027have hn : n = x1
  28. 0028trans x1 + x
  29. 0029exact hdecomposition_witness_witness_right_right
  30. 0030rewrite ha
  31. 0031apply PA3
  32. 0032rewrite hn
  33. 0033rewrite hn
  34. 0034exact hdecomposition_witness_witness_right_left