PA007U

beta_magnitude_predecessor_recode_injective

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

Injectivity of positive magnitudes transports to their uniquely decoded predecessor code.

Exact expanded PA statement

forall mb mc rb rc l. (forall gmp_index_predecessor_transport_finite_range. (exists gsp_lt_gap_predecessor_transport_finite_range_index_bound. gsp_lt_gap_predecessor_transport_finite_range_index_bound + S gmp_index_predecessor_transport_finite_range = l) -> exists gmp_magnitude_predecessor_transport_finite_range. ((((exists ff_h_gmp_predecessor_transport_finite_range_decoded. ff_h_gmp_predecessor_transport_finite_range_decoded + S (gmp_magnitude_predecessor_transport_finite_range) = S ((S (gmp_index_predecessor_transport_finite_range)) * mc)) /\ exists ff_q_gmp_predecessor_transport_finite_range_decoded. mb = ff_q_gmp_predecessor_transport_finite_range_decoded * S ((S (gmp_index_predecessor_transport_finite_range)) * mc) + (gmp_magnitude_predecessor_transport_finite_range))) /\ ((exists gsp_lt_gap_predecessor_transport_finite_range_positive. gsp_lt_gap_predecessor_transport_finite_range_positive + S 0 = gmp_magnitude_predecessor_transport_finite_range) /\ (exists gsp_le_gap_predecessor_transport_finite_range_bounded. gsp_le_gap_predecessor_transport_finite_range_bounded + gmp_magnitude_predecessor_transport_finite_range = l)))) -> (forall fp_i_predecessor_transport_magnitude_injective fp_j_predecessor_transport_magnitude_injective fp_value_predecessor_transport_magnitude_injective. (exists fp_gap_predecessor_transport_magnitude_injective_i. fp_gap_predecessor_transport_magnitude_injective_i + S fp_i_predecessor_transport_magnitude_injective = l) -> (exists fp_gap_predecessor_transport_magnitude_injective_j. fp_gap_predecessor_transport_magnitude_injective_j + S fp_j_predecessor_transport_magnitude_injective = l) -> (((exists ff_h_predecessor_transport_magnitude_injective_left. ff_h_predecessor_transport_magnitude_injective_left + S (fp_value_predecessor_transport_magnitude_injective) = S ((S (fp_i_predecessor_transport_magnitude_injective)) * mc)) /\ exists ff_q_predecessor_transport_magnitude_injective_left. mb = ff_q_predecessor_transport_magnitude_injective_left * S ((S (fp_i_predecessor_transport_magnitude_injective)) * mc) + (fp_value_predecessor_transport_magnitude_injective))) -> (((exists ff_h_predecessor_transport_magnitude_injective_right. ff_h_predecessor_transport_magnitude_injective_right + S (fp_value_predecessor_transport_magnitude_injective) = S ((S (fp_j_predecessor_transport_magnitude_injective)) * mc)) /\ exists ff_q_predecessor_transport_magnitude_injective_right. mb = ff_q_predecessor_transport_magnitude_injective_right * S ((S (fp_j_predecessor_transport_magnitude_injective)) * mc) + (fp_value_predecessor_transport_magnitude_injective))) -> fp_i_predecessor_transport_magnitude_injective = fp_j_predecessor_transport_magnitude_injective) -> (forall gmp_index_predecessor_transport_recode gmp_predecessor_predecessor_transport_recode. (exists gsp_lt_gap_predecessor_transport_recode_index_bound. gsp_lt_gap_predecessor_transport_recode_index_bound + S gmp_index_predecessor_transport_recode = l) -> (((exists gsp_beta_height_gmp_predecessor_transport_recode_source. gsp_beta_height_gmp_predecessor_transport_recode_source + S (S gmp_predecessor_predecessor_transport_recode) = S ((S (gmp_index_predecessor_transport_recode)) * mc)) /\ exists gsp_beta_quotient_gmp_predecessor_transport_recode_source. mb = gsp_beta_quotient_gmp_predecessor_transport_recode_source * S ((S (gmp_index_predecessor_transport_recode)) * mc) + (S gmp_predecessor_predecessor_transport_recode))) -> (((exists ff_h_gmp_predecessor_transport_recode_target. ff_h_gmp_predecessor_transport_recode_target + S (gmp_predecessor_predecessor_transport_recode) = S ((S (gmp_index_predecessor_transport_recode)) * rc)) /\ exists ff_q_gmp_predecessor_transport_recode_target. rb = ff_q_gmp_predecessor_transport_recode_target * S ((S (gmp_index_predecessor_transport_recode)) * rc) + (gmp_predecessor_predecessor_transport_recode)))) -> (forall fp_i_predecessor_transport_target_injective fp_j_predecessor_transport_target_injective fp_value_predecessor_transport_target_injective. (exists fp_gap_predecessor_transport_target_injective_i. fp_gap_predecessor_transport_target_injective_i + S fp_i_predecessor_transport_target_injective = l) -> (exists fp_gap_predecessor_transport_target_injective_j. fp_gap_predecessor_transport_target_injective_j + S fp_j_predecessor_transport_target_injective = l) -> (((exists ff_h_predecessor_transport_target_injective_left. ff_h_predecessor_transport_target_injective_left + S (fp_value_predecessor_transport_target_injective) = S ((S (fp_i_predecessor_transport_target_injective)) * rc)) /\ exists ff_q_predecessor_transport_target_injective_left. rb = ff_q_predecessor_transport_target_injective_left * S ((S (fp_i_predecessor_transport_target_injective)) * rc) + (fp_value_predecessor_transport_target_injective))) -> (((exists ff_h_predecessor_transport_target_injective_right. ff_h_predecessor_transport_target_injective_right + S (fp_value_predecessor_transport_target_injective) = S ((S (fp_j_predecessor_transport_target_injective)) * rc)) /\ exists ff_q_predecessor_transport_target_injective_right. rb = ff_q_predecessor_transport_target_injective_right * S ((S (fp_j_predecessor_transport_target_injective)) * rc) + (fp_value_predecessor_transport_target_injective))) -> fp_i_predecessor_transport_target_injective = fp_j_predecessor_transport_target_injective)

Structural proof guide

Generated structural guide

Injectivity of positive magnitudes transports to their uniquely decoded predecessor code.

Use the direct prerequisites beta_magnitude_predecessor_recode_reflect as previously established PA formulas.

The proof proceeds by intermediate claims (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-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.

  1. 0001intro mb
  2. 0002intro mc
  3. 0003intro rb
  4. 0004intro rc
  5. 0005intro l
  6. 0006intro hrange
  7. 0007intro hsource_injective
  8. 0008intro hrecode
  9. 0009intro i
  10. 0010intro j
  11. 0011intro r
  12. 0012intro hi
  13. 0013intro hj
  14. 0014intro htarget_i
  15. 0015intro htarget_j
  16. 0016have hsource_i : ((exists gsp_beta_height_predecessor_injective_source_i. gsp_beta_height_predecessor_injective_source_i + S (S r) = S ((S (i)) * mc)) /\ exists gsp_beta_quotient_predecessor_injective_source_i. mb = gsp_beta_quotient_predecessor_injective_source_i * S ((S (i)) * mc) + (S r))
  17. 0017specialize beta_magnitude_predecessor_recode_reflect mb
  18. 0018specialize beta_magnitude_predecessor_recode_reflect mc
  19. 0019specialize beta_magnitude_predecessor_recode_reflect rb
  20. 0020specialize beta_magnitude_predecessor_recode_reflect rc
  21. 0021specialize beta_magnitude_predecessor_recode_reflect l
  22. 0022specialize beta_magnitude_predecessor_recode_reflect l
  23. 0023specialize beta_magnitude_predecessor_recode_reflect i
  24. 0024specialize beta_magnitude_predecessor_recode_reflect r
  25. 0025apply beta_magnitude_predecessor_recode_reflect
  26. 0026exact hrange
  27. 0027exact hrecode
  28. 0028exact hi
  29. 0029exact htarget_i
  30. 0030have hsource_j : ((exists gsp_beta_height_predecessor_injective_source_j. gsp_beta_height_predecessor_injective_source_j + S (S r) = S ((S (j)) * mc)) /\ exists gsp_beta_quotient_predecessor_injective_source_j. mb = gsp_beta_quotient_predecessor_injective_source_j * S ((S (j)) * mc) + (S r))
  31. 0031specialize beta_magnitude_predecessor_recode_reflect mb
  32. 0032specialize beta_magnitude_predecessor_recode_reflect mc
  33. 0033specialize beta_magnitude_predecessor_recode_reflect rb
  34. 0034specialize beta_magnitude_predecessor_recode_reflect rc
  35. 0035specialize beta_magnitude_predecessor_recode_reflect l
  36. 0036specialize beta_magnitude_predecessor_recode_reflect l
  37. 0037specialize beta_magnitude_predecessor_recode_reflect j
  38. 0038specialize beta_magnitude_predecessor_recode_reflect r
  39. 0039apply beta_magnitude_predecessor_recode_reflect
  40. 0040exact hrange
  41. 0041exact hrecode
  42. 0042exact hj
  43. 0043exact htarget_j
  44. 0044specialize hsource_injective i
  45. 0045specialize hsource_injective j
  46. 0046specialize hsource_injective (S r)
  47. 0047apply hsource_injective
  48. 0048exact hi
  49. 0049exact hj
  50. 0050exact hsource_i
  51. 0051exact hsource_j