PA008C · theorem

beta_successor_lift_exists

Alpha v34 checked-use theorem · independently closed; not Stable

Every decoded finite prefix can be recoded after successor-lifting its values.

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

∀ r. ∀ s. ∀ l. ∃ z. ∃ d. ∀ i. ∀ j. Lt(i,l)BetaAt(r,s,i,j)BetaAt(z,d,i,S j)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

3 occurrences

In local proof propositions

1 occurrences

Exact expanded native-PA statement
forall r s l. exists z d. forall i j. (exists frm_gap_successor_lift_bound. frm_gap_successor_lift_bound + S i = l) -> (((exists ff_h_frm_successor_lift_source. ff_h_frm_successor_lift_source + S (j) = S ((S (i)) * s)) /\ exists ff_q_frm_successor_lift_source. r = ff_q_frm_successor_lift_source * S ((S (i)) * s) + (j))) -> (((exists frm_height_successor_lift_target. frm_height_successor_lift_target + S (S j) = S ((S (i)) * d)) /\ exists frm_quotient_successor_lift_target. z = frm_quotient_successor_lift_target * S ((S (i)) * d) + (S j)))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

69 script commands · 19 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 (6)
01Fix variables and assumptionsL1–2

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

  1. L1
    intro r
  2. L2
    intro s
02Induction on lL3–3

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L3
    induction l
03Construct an explicit witnessL4–5

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

  1. L4
    exists 0
  2. L5
    exists 0
04Fix variables and assumptionsL6–9

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

  1. L6
    intro i
  2. L7
    intro j
  3. L8
    intro hi
  4. L9
    intro hsource
05Separate the logical casesL10–11

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

  1. L10
    exfalso
  2. L11
    cases hi
06Establish hsiL12–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.

  1. L12
    have hsi : S i = 0
  2. L13
    specialize add_eq_zero_right x
  3. L14
    specialize add_eq_zero_right (S i)
  4. L15
    apply add_eq_zero_right
  5. L16
    exact hi_witness
  6. L17
    specialize succ_ne_zero i
  7. L18
    apply succ_ne_zero
  8. L19
    exact hsi
07Separate the logical casesL20–21

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

  1. L20
    cases IH
  2. L21
    cases IH_witness
08Use earlier factsL22–24

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

  1. L22
    specialize beta_at_exists r
  2. L23
    specialize beta_at_exists s
  3. L24
    specialize beta_at_exists l
09Separate the logical casesL25–25

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

  1. L25
    cases beta_at_exists
10Use earlier factsL26–29

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

  1. L26
    specialize beta_prefix_extend l
  2. L27
    specialize beta_prefix_extend x
  3. L28
    specialize beta_prefix_extend x1
  4. L29
    specialize beta_prefix_extend (S x2)
11Separate the logical casesL30–32

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

  1. L30
    cases beta_prefix_extend
  2. L31
    cases beta_prefix_extend_witness
  3. L32
    cases beta_prefix_extend_witness_witness
12Construct an explicit witnessL33–34

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

  1. L33
    exists x3
  2. L34
    exists x4
13Fix variables and assumptionsL35–38

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

  1. L35
    intro i
  2. L36
    intro j
  3. L37
    intro hi
  4. L38
    intro hsource
14Establish hsplitL39–43

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

  1. L39
    have hsplit : i = l ∨ Lt(i,l)Definitions: Lt(i,l)Original native command in the exact edition
  2. L40
    specialize finite_lt_succ_eq_or_lt l
  3. L41
    specialize finite_lt_succ_eq_or_lt i
  4. L42
    apply finite_lt_succ_eq_or_lt
  5. L43
    exact hi
15Separate the logical casesL44–44

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

  1. L44
    cases hsplit
16Establish hjxL45–54

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

  1. L45
    have hjx : j = x2
  2. L46
    specialize beta_at_unique r
  3. L47
    specialize beta_at_unique s
  4. L48
    specialize beta_at_unique l
  5. L49
    specialize beta_at_unique j
  6. L50
    specialize beta_at_unique x2
  7. L51
    apply beta_at_unique
  8. L52
    rewrite hsplit_left at hsource
  9. L53
    rewrite hsplit_left at hsource
  10. L54
    exact hsource
17Use earlier factsL55–55

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

  1. L55
    exact beta_at_exists_witness
18Calculate and transport equalitiesL56–59

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

  1. L56
    rewrite hsplit_left
  2. L57
    rewrite hsplit_left
  3. L58
    rewrite hjx
  4. L59
    rewrite hjx
19Use earlier factsL60–69

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

  1. L60
    exact beta_prefix_extend_witness_witness_left
  2. L61
    specialize beta_prefix_extend_witness_witness_right i
  3. L62
    specialize beta_prefix_extend_witness_witness_right (S j)
  4. L63
    apply beta_prefix_extend_witness_witness_right
  5. L64
    exact hsplit_right
  6. L65
    specialize IH_witness_witness i
  7. L66
    specialize IH_witness_witness j
  8. L67
    apply IH_witness_witness
  9. L68
    exact hsplit_right
  10. L69
    exact hsource

Library-wide reading audit

Original defined command ledger · 69 lines
  1. 0001intro r
  2. 0002intro s
  3. 0003induction l
  4. 0004exists 0
  5. 0005exists 0
  6. 0006intro i
  7. 0007intro j
  8. 0008intro hi
  9. 0009intro hsource
  10. 0010exfalso
  11. 0011cases hi
  12. 0012have hsi : S i = 0
  13. 0013specialize add_eq_zero_right x
  14. 0014specialize add_eq_zero_right (S i)
  15. 0015apply add_eq_zero_right
  16. 0016exact hi_witness
  17. 0017specialize succ_ne_zero i
  18. 0018apply succ_ne_zero
  19. 0019exact hsi
  20. 0020cases IH
  21. 0021cases IH_witness
  22. 0022specialize beta_at_exists r
  23. 0023specialize beta_at_exists s
  24. 0024specialize beta_at_exists l
  25. 0025cases beta_at_exists
  26. 0026specialize beta_prefix_extend l
  27. 0027specialize beta_prefix_extend x
  28. 0028specialize beta_prefix_extend x1
  29. 0029specialize beta_prefix_extend (S x2)
  30. 0030cases beta_prefix_extend
  31. 0031cases beta_prefix_extend_witness
  32. 0032cases beta_prefix_extend_witness_witness
  33. 0033exists x3
  34. 0034exists x4
  35. 0035intro i
  36. 0036intro j
  37. 0037intro hi
  38. 0038intro hsource
  39. 0039have hsplit : i = l ∨ Lt(i,l)
    Exact native replay linehave hsplit : i = l \/ exists h. h + S i = l
  40. 0040specialize finite_lt_succ_eq_or_lt l
  41. 0041specialize finite_lt_succ_eq_or_lt i
  42. 0042apply finite_lt_succ_eq_or_lt
  43. 0043exact hi
  44. 0044cases hsplit
  45. 0045have hjx : j = x2
  46. 0046specialize beta_at_unique r
  47. 0047specialize beta_at_unique s
  48. 0048specialize beta_at_unique l
  49. 0049specialize beta_at_unique j
  50. 0050specialize beta_at_unique x2
  51. 0051apply beta_at_unique
  52. 0052rewrite hsplit_left at hsource
  53. 0053rewrite hsplit_left at hsource
  54. 0054exact hsource
  55. 0055exact beta_at_exists_witness
  56. 0056rewrite hsplit_left
  57. 0057rewrite hsplit_left
  58. 0058rewrite hjx
  59. 0059rewrite hjx
  60. 0060exact beta_prefix_extend_witness_witness_left
  61. 0061specialize beta_prefix_extend_witness_witness_right i
  62. 0062specialize beta_prefix_extend_witness_witness_right (S j)
  63. 0063apply beta_prefix_extend_witness_witness_right
  64. 0064exact hsplit_right
  65. 0065specialize IH_witness_witness i
  66. 0066specialize IH_witness_witness j
  67. 0067apply IH_witness_witness
  68. 0068exact hsplit_right
  69. 0069exact hsource