PA008D

fermat_index_map_bounded

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

The canonical multiplication-residue index map is bounded.

Exact expanded PA statement

forall r s n p a. (forall frm_index_bounded_map. (exists frm_gap_bounded_map_index_bound. frm_gap_bounded_map_index_bound + S frm_index_bounded_map = n) -> (exists frm_residue_bounded_map_result. (exists frm_gap_bounded_map_result_residue_bound. frm_gap_bounded_map_result_residue_bound + S frm_residue_bounded_map_result = n) /\ ((((exists ff_h_frm_bounded_map_result_decoded. ff_h_frm_bounded_map_result_decoded + S (frm_residue_bounded_map_result) = S ((S (frm_index_bounded_map)) * s)) /\ exists ff_q_frm_bounded_map_result_decoded. r = ff_q_frm_bounded_map_result_decoded * S ((S (frm_index_bounded_map)) * s) + (frm_residue_bounded_map_result))) /\ (exists frm_mod_left_bounded_map_result_congruence frm_mod_right_bounded_map_result_congruence. a * S frm_index_bounded_map + p * frm_mod_left_bounded_map_result_congruence = S frm_residue_bounded_map_result + p * frm_mod_right_bounded_map_result_congruence)))) -> (forall fp_i_bounded_result. (exists fp_gap_bounded_result_index. fp_gap_bounded_result_index + S fp_i_bounded_result = n) -> exists fp_value_bounded_result. ((((exists ff_h_bounded_result_entry. ff_h_bounded_result_entry + S (fp_value_bounded_result) = S ((S (fp_i_bounded_result)) * s)) /\ exists ff_q_bounded_result_entry. r = ff_q_bounded_result_entry * S ((S (fp_i_bounded_result)) * s) + (fp_value_bounded_result))) /\ (exists fp_gap_bounded_result_value. fp_gap_bounded_result_value + S fp_value_bounded_result = n)))

Structural proof guide

Generated structural guide

The canonical multiplication-residue index map is bounded.

This root lemma is proved directly from the PA rules and the hypotheses introduced by its statement.

The proof proceeds by case analysis (3), intermediate claims (1).

Referenced ingredients

none

Proof neighborhood

Direct dependencies

none

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 r
  2. 0002intro s
  3. 0003intro n
  4. 0004intro p
  5. 0005intro a
  6. 0006intro hmap
  7. 0007intro i
  8. 0008intro hi
  9. 0009have hentry : exists frm_residue_bounded_at_i. (exists frm_gap_bounded_at_i_residue_bound. frm_gap_bounded_at_i_residue_bound + S frm_residue_bounded_at_i = n) /\ ((((exists ff_h_frm_bounded_at_i_decoded. ff_h_frm_bounded_at_i_decoded + S (frm_residue_bounded_at_i) = S ((S (i)) * s)) /\ exists ff_q_frm_bounded_at_i_decoded. r = ff_q_frm_bounded_at_i_decoded * S ((S (i)) * s) + (frm_residue_bounded_at_i))) /\ (exists frm_mod_left_bounded_at_i_congruence frm_mod_right_bounded_at_i_congruence. a * S i + p * frm_mod_left_bounded_at_i_congruence = S frm_residue_bounded_at_i + p * frm_mod_right_bounded_at_i_congruence))
  10. 0010specialize hmap i
  11. 0011apply hmap
  12. 0012exact hi
  13. 0013cases hentry
  14. 0014cases hentry_witness
  15. 0015cases hentry_witness_right
  16. 0016exists x
  17. 0017split
  18. 0018exact hentry_witness_right_left
  19. 0019exact hentry_witness_left