PA00AL

bounded_inverse_index_unique

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

A bounded inverse index is unique.

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 PA statement

forall p n i j k. p = S n -> (((exists wip_strict_gap_index_unique_left_left_bound. wip_strict_gap_index_unique_left_left_bound + S i = n) /\ ((exists wip_strict_gap_index_unique_left_right_bound. wip_strict_gap_index_unique_left_right_bound + S j = n) /\ (exists wip_mod_left_index_unique_left_inverse wip_mod_right_index_unique_left_inverse. (S i) * S j + p * wip_mod_left_index_unique_left_inverse = 1 + p * wip_mod_right_index_unique_left_inverse)))) -> (((exists wip_strict_gap_index_unique_right_left_bound. wip_strict_gap_index_unique_right_left_bound + S i = n) /\ ((exists wip_strict_gap_index_unique_right_right_bound. wip_strict_gap_index_unique_right_right_bound + S k = n) /\ (exists wip_mod_left_index_unique_right_inverse wip_mod_right_index_unique_right_inverse. (S i) * S k + p * wip_mod_left_index_unique_right_inverse = 1 + p * wip_mod_right_index_unique_right_inverse)))) -> j = k

Structural proof guide

Generated structural guide

A bounded inverse index is unique.

Use the direct prerequisites succ_le_succ, bounded_mod_inverse_unique, succ_injective as previously established PA formulas.

The proof proceeds by case analysis (4), intermediate claims (3), equality transport (2).

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.

Read the argument

Proof checkpoints

38 script commands · 6 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.

Named ingredients (3)
01Fix variables and assumptionsL1–8

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

  1. L1
    intro p
  2. L2
    intro n
  3. L3
    intro i
  4. L4
    intro j
  5. L5
    intro k
  6. L6
    intro hpn
  7. L7
    intro hij
  8. L8
    intro hik
02Separate the logical casesL9–12

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

  1. L9
    cases hij
  2. L10
    cases hij_right
  3. L11
    cases hik
  4. L12
    cases hik_right
03Establish hjpL13–18

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

  1. L13
    have hjp : exists wip_successor_gap_index_unique_j_bound. wip_successor_gap_index_unique_j_bound + S (S j) = p
  2. L14
    rewrite hpn
  3. L15
    specialize succ_le_succ (S j)
  4. L16
    specialize succ_le_succ n
  5. L17
    apply succ_le_succ
  6. L18
    exact hij_right_left
04Establish hkpL19–24

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

  1. L19
    have hkp : exists wip_successor_gap_index_unique_k_bound. wip_successor_gap_index_unique_k_bound + S (S k) = p
  2. L20
    rewrite hpn
  3. L21
    specialize succ_le_succ (S k)
  4. L22
    specialize succ_le_succ n
  5. L23
    apply succ_le_succ
  6. L24
    exact hik_right_left
05Establish hsuccL25–34

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

  1. L25
    have hsucc : S j = S k
  2. L26
    specialize bounded_mod_inverse_unique p
  3. L27
    specialize bounded_mod_inverse_unique (S i)
  4. L28
    specialize bounded_mod_inverse_unique (S j)
  5. L29
    specialize bounded_mod_inverse_unique (S k)
  6. L30
    apply bounded_mod_inverse_unique
  7. L31
    exact hjp
  8. L32
    exact hkp
  9. L33
    exact hij_right_right
  10. L34
    exact hik_right_right
06Use earlier factsL35–38

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

  1. L35
    specialize succ_injective j
  2. L36
    specialize succ_injective k
  3. L37
    apply succ_injective
  4. L38
    exact hsucc

Library-wide reading audit

Original exact command ledger · 38 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro i
  4. 0004intro j
  5. 0005intro k
  6. 0006intro hpn
  7. 0007intro hij
  8. 0008intro hik
  9. 0009cases hij
  10. 0010cases hij_right
  11. 0011cases hik
  12. 0012cases hik_right
  13. 0013have hjp : exists wip_successor_gap_index_unique_j_bound. wip_successor_gap_index_unique_j_bound + S (S j) = p
  14. 0014rewrite hpn
  15. 0015specialize succ_le_succ (S j)
  16. 0016specialize succ_le_succ n
  17. 0017apply succ_le_succ
  18. 0018exact hij_right_left
  19. 0019have hkp : exists wip_successor_gap_index_unique_k_bound. wip_successor_gap_index_unique_k_bound + S (S k) = p
  20. 0020rewrite hpn
  21. 0021specialize succ_le_succ (S k)
  22. 0022specialize succ_le_succ n
  23. 0023apply succ_le_succ
  24. 0024exact hik_right_left
  25. 0025have hsucc : S j = S k
  26. 0026specialize bounded_mod_inverse_unique p
  27. 0027specialize bounded_mod_inverse_unique (S i)
  28. 0028specialize bounded_mod_inverse_unique (S j)
  29. 0029specialize bounded_mod_inverse_unique (S k)
  30. 0030apply bounded_mod_inverse_unique
  31. 0031exact hjp
  32. 0032exact hkp
  33. 0033exact hij_right_right
  34. 0034exact hik_right_right
  35. 0035specialize succ_injective j
  36. 0036specialize succ_injective k
  37. 0037apply succ_injective
  38. 0038exact hsucc