PA003T

beta_range_injective

Stable checked-use theorem · independently closed

Equal decoded values in one consecutive range have equal indices.

Exact expanded PA statement

forall b c a l i j x y. (forall ff_i_generic. (exists ff_lt_generic_bound. ff_lt_generic_bound + S ff_i_generic = l) -> (((exists ff_h_generic_decoded. ff_h_generic_decoded + S (a + ff_i_generic) = S ((S (ff_i_generic)) * c)) /\ exists ff_q_generic_decoded. b = ff_q_generic_decoded * S ((S (ff_i_generic)) * c) + (a + ff_i_generic)))) -> (exists gh_lt_generic_i. gh_lt_generic_i + S i = l) -> (exists gh_lt_generic_j. gh_lt_generic_j + S j = l) -> (((exists ff_h_generic_i. ff_h_generic_i + S (x) = S ((S (i)) * c)) /\ exists ff_q_generic_i. b = ff_q_generic_i * S ((S (i)) * c) + (x))) -> (((exists ff_h_generic_j. ff_h_generic_j + S (y) = S ((S (j)) * c)) /\ exists ff_q_generic_j. b = ff_q_generic_j * S ((S (j)) * c) + (y))) -> x = y -> i = j

Structural proof guide

Generated structural guide

Equal decoded values in one consecutive range have equal indices.

Use the direct prerequisites beta_range_entry_eq, add_left_cancel as previously established PA formulas.

The proof proceeds by intermediate claims (3).

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 Stable checked-use theorem is independently kernel-checked when replayed.

  1. 0001intro b
  2. 0002intro c
  3. 0003intro a
  4. 0004intro l
  5. 0005intro i
  6. 0006intro j
  7. 0007intro x
  8. 0008intro y
  9. 0009intro hrange
  10. 0010intro hi
  11. 0011intro hj
  12. 0012intro hxi
  13. 0013intro hyj
  14. 0014intro hxy
  15. 0015have hxia : x = a + i
  16. 0016specialize beta_range_entry_eq b
  17. 0017specialize beta_range_entry_eq c
  18. 0018specialize beta_range_entry_eq a
  19. 0019specialize beta_range_entry_eq l
  20. 0020specialize beta_range_entry_eq i
  21. 0021specialize beta_range_entry_eq x
  22. 0022apply beta_range_entry_eq
  23. 0023exact hrange
  24. 0024exact hi
  25. 0025exact hxi
  26. 0026have hyja : y = a + j
  27. 0027specialize beta_range_entry_eq b
  28. 0028specialize beta_range_entry_eq c
  29. 0029specialize beta_range_entry_eq a
  30. 0030specialize beta_range_entry_eq l
  31. 0031specialize beta_range_entry_eq j
  32. 0032specialize beta_range_entry_eq y
  33. 0033apply beta_range_entry_eq
  34. 0034exact hrange
  35. 0035exact hj
  36. 0036exact hyj
  37. 0037have haij : a + i = a + j
  38. 0038trans x
  39. 0039symm
  40. 0040exact hxia
  41. 0041trans y
  42. 0042exact hxy
  43. 0043exact hyja
  44. 0044specialize add_left_cancel a
  45. 0045specialize add_left_cancel i
  46. 0046specialize add_left_cancel j
  47. 0047apply add_left_cancel
  48. 0048exact haij