BT00W2

no_bertrand_central_prime_divisor_ranges

Alpha body-checked ยท checked-use disabled

Every central prime divisor lies in one of the three live ranges.

Exact expanded PA statement

forall n s q c p. (forall bpr_prime_candidate_bnbcpdr_exclusion. ((exists bpr_gap_bnbcpdr_exclusion_lower. bpr_gap_bnbcpdr_exclusion_lower + S (n) = bpr_prime_candidate_bnbcpdr_exclusion) /\ (exists bpr_le_gap_bnbcpdr_exclusion_upper. bpr_le_gap_bnbcpdr_exclusion_upper + (bpr_prime_candidate_bnbcpdr_exclusion) = (n + n))) -> ~((~(bpr_prime_candidate_bnbcpdr_exclusion = 1) /\ forall bpr_left_bnbcpdr_exclusion_prime bpr_right_bnbcpdr_exclusion_prime. bpr_prime_candidate_bnbcpdr_exclusion = bpr_left_bnbcpdr_exclusion_prime * bpr_right_bnbcpdr_exclusion_prime -> bpr_left_bnbcpdr_exclusion_prime = 1 \/ bpr_right_bnbcpdr_exclusion_prime = 1))) -> ((~(p = 1) /\ forall bpr_left_bnbcpdr_prime bpr_right_bnbcpdr_prime. p = bpr_left_bnbcpdr_prime * bpr_right_bnbcpdr_prime -> bpr_left_bnbcpdr_prime = 1 \/ bpr_right_bnbcpdr_prime = 1)) -> (((exists bcf_lt_gap_bnbcpdr_central_out_of_range. bcf_lt_gap_bnbcpdr_central_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bnbcpdr_central_in_range. bcf_le_gap_bnbcpdr_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bnbcpdr_central bcf_row_code_scale_bnbcpdr_central bcf_row_scale_code_bnbcpdr_central bcf_row_scale_scale_bnbcpdr_central bcf_row_code_bnbcpdr_central bcf_row_scale_bnbcpdr_central. ((forall bcf_row_index_bnbcpdr_central_table. (exists bcf_lt_gap_bnbcpdr_central_table_row_bound. bcf_lt_gap_bnbcpdr_central_table_row_bound + S (bcf_row_index_bnbcpdr_central_table) = S (n + n)) -> exists bcf_row_code_bnbcpdr_central_table bcf_row_scale_bnbcpdr_central_table. ((((exists bcf_height_bnbcpdr_central_table_decoded_row_code. bcf_height_bnbcpdr_central_table_decoded_row_code + S (bcf_row_code_bnbcpdr_central_table) = S ((S (bcf_row_index_bnbcpdr_central_table)) * bcf_row_code_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_table_decoded_row_code. bcf_row_code_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_table_decoded_row_code * S ((S (bcf_row_index_bnbcpdr_central_table)) * bcf_row_code_scale_bnbcpdr_central) + (bcf_row_code_bnbcpdr_central_table))) /\ ((((exists bcf_height_bnbcpdr_central_table_decoded_row_scale. bcf_height_bnbcpdr_central_table_decoded_row_scale + S (bcf_row_scale_bnbcpdr_central_table) = S ((S (bcf_row_index_bnbcpdr_central_table)) * bcf_row_scale_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_table_decoded_row_scale. bcf_row_scale_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_table_decoded_row_scale * S ((S (bcf_row_index_bnbcpdr_central_table)) * bcf_row_scale_scale_bnbcpdr_central) + (bcf_row_scale_bnbcpdr_central_table))) /\ ((bcf_row_index_bnbcpdr_central_table = 0 /\ (forall bcf_index_bnbcpdr_central_table_zero_row. (exists bcf_lt_gap_bnbcpdr_central_table_zero_row_bound. bcf_lt_gap_bnbcpdr_central_table_zero_row_bound + S (bcf_index_bnbcpdr_central_table_zero_row) = S (n + n)) -> exists bcf_value_bnbcpdr_central_table_zero_row. ((((exists bcf_height_bnbcpdr_central_table_zero_row_entry. bcf_height_bnbcpdr_central_table_zero_row_entry + S (bcf_value_bnbcpdr_central_table_zero_row) = S ((S (bcf_index_bnbcpdr_central_table_zero_row)) * bcf_row_scale_bnbcpdr_central_table)) /\ exists bcf_quotient_bnbcpdr_central_table_zero_row_entry. bcf_row_code_bnbcpdr_central_table = bcf_quotient_bnbcpdr_central_table_zero_row_entry * S ((S (bcf_index_bnbcpdr_central_table_zero_row)) * bcf_row_scale_bnbcpdr_central_table) + (bcf_value_bnbcpdr_central_table_zero_row))) /\ ((bcf_index_bnbcpdr_central_table_zero_row = 0 /\ bcf_value_bnbcpdr_central_table_zero_row = 1) \/ exists bcf_predecessor_bnbcpdr_central_table_zero_row. bcf_index_bnbcpdr_central_table_zero_row = S bcf_predecessor_bnbcpdr_central_table_zero_row /\ bcf_value_bnbcpdr_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bnbcpdr_central_table bcf_previous_code_bnbcpdr_central_table bcf_previous_scale_bnbcpdr_central_table. bcf_row_index_bnbcpdr_central_table = S bcf_predecessor_bnbcpdr_central_table /\ ((((exists bcf_height_bnbcpdr_central_table_decoded_previous_code. bcf_height_bnbcpdr_central_table_decoded_previous_code + S (bcf_previous_code_bnbcpdr_central_table) = S ((S (bcf_predecessor_bnbcpdr_central_table)) * bcf_row_code_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_table_decoded_previous_code. bcf_row_code_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_table_decoded_previous_code * S ((S (bcf_predecessor_bnbcpdr_central_table)) * bcf_row_code_scale_bnbcpdr_central) + (bcf_previous_code_bnbcpdr_central_table))) /\ ((((exists bcf_height_bnbcpdr_central_table_decoded_previous_scale. bcf_height_bnbcpdr_central_table_decoded_previous_scale + S (bcf_previous_scale_bnbcpdr_central_table) = S ((S (bcf_predecessor_bnbcpdr_central_table)) * bcf_row_scale_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_table_decoded_previous_scale. bcf_row_scale_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bnbcpdr_central_table)) * bcf_row_scale_scale_bnbcpdr_central) + (bcf_previous_scale_bnbcpdr_central_table))) /\ (forall bcf_index_bnbcpdr_central_table_row_step. (exists bcf_lt_gap_bnbcpdr_central_table_row_step_bound. bcf_lt_gap_bnbcpdr_central_table_row_step_bound + S (bcf_index_bnbcpdr_central_table_row_step) = S (n + n)) -> exists bcf_value_bnbcpdr_central_table_row_step. ((((exists bcf_height_bnbcpdr_central_table_row_step_entry. bcf_height_bnbcpdr_central_table_row_step_entry + S (bcf_value_bnbcpdr_central_table_row_step) = S ((S (bcf_index_bnbcpdr_central_table_row_step)) * bcf_row_scale_bnbcpdr_central_table)) /\ exists bcf_quotient_bnbcpdr_central_table_row_step_entry. bcf_row_code_bnbcpdr_central_table = bcf_quotient_bnbcpdr_central_table_row_step_entry * S ((S (bcf_index_bnbcpdr_central_table_row_step)) * bcf_row_scale_bnbcpdr_central_table) + (bcf_value_bnbcpdr_central_table_row_step))) /\ ((bcf_index_bnbcpdr_central_table_row_step = 0 /\ bcf_value_bnbcpdr_central_table_row_step = 1) \/ exists bcf_predecessor_bnbcpdr_central_table_row_step bcf_left_bnbcpdr_central_table_row_step bcf_right_bnbcpdr_central_table_row_step. bcf_index_bnbcpdr_central_table_row_step = S bcf_predecessor_bnbcpdr_central_table_row_step /\ ((((exists bcf_height_bnbcpdr_central_table_row_step_previous_left. bcf_height_bnbcpdr_central_table_row_step_previous_left + S (bcf_left_bnbcpdr_central_table_row_step) = S ((S (bcf_predecessor_bnbcpdr_central_table_row_step)) * bcf_previous_scale_bnbcpdr_central_table)) /\ exists bcf_quotient_bnbcpdr_central_table_row_step_previous_left. bcf_previous_code_bnbcpdr_central_table = bcf_quotient_bnbcpdr_central_table_row_step_previous_left * S ((S (bcf_predecessor_bnbcpdr_central_table_row_step)) * bcf_previous_scale_bnbcpdr_central_table) + (bcf_left_bnbcpdr_central_table_row_step))) /\ ((((exists bcf_height_bnbcpdr_central_table_row_step_previous_right. bcf_height_bnbcpdr_central_table_row_step_previous_right + S (bcf_right_bnbcpdr_central_table_row_step) = S ((S (S (bcf_predecessor_bnbcpdr_central_table_row_step))) * bcf_previous_scale_bnbcpdr_central_table)) /\ exists bcf_quotient_bnbcpdr_central_table_row_step_previous_right. bcf_previous_code_bnbcpdr_central_table = bcf_quotient_bnbcpdr_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bnbcpdr_central_table_row_step))) * bcf_previous_scale_bnbcpdr_central_table) + (bcf_right_bnbcpdr_central_table_row_step))) /\ bcf_value_bnbcpdr_central_table_row_step = bcf_left_bnbcpdr_central_table_row_step + bcf_right_bnbcpdr_central_table_row_step))))))))))) /\ ((((exists bcf_height_bnbcpdr_central_decoded_row_code. bcf_height_bnbcpdr_central_decoded_row_code + S (bcf_row_code_bnbcpdr_central) = S ((S (n + n)) * bcf_row_code_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_decoded_row_code. bcf_row_code_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bnbcpdr_central) + (bcf_row_code_bnbcpdr_central))) /\ ((((exists bcf_height_bnbcpdr_central_decoded_row_scale. bcf_height_bnbcpdr_central_decoded_row_scale + S (bcf_row_scale_bnbcpdr_central) = S ((S (n + n)) * bcf_row_scale_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_decoded_row_scale. bcf_row_scale_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bnbcpdr_central) + (bcf_row_scale_bnbcpdr_central))) /\ (((exists bcf_height_bnbcpdr_central_decoded_value. bcf_height_bnbcpdr_central_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bnbcpdr_central)) /\ exists bcf_quotient_bnbcpdr_central_decoded_value. bcf_row_code_bnbcpdr_central = bcf_quotient_bnbcpdr_central_decoded_value * S ((S (n)) * bcf_row_scale_bnbcpdr_central) + (c))))))))) -> (exists bpr_quotient_bnbcpdr_divides. c = (p) * bpr_quotient_bnbcpdr_divides) -> ((exists bpr_le_gap_bnbcpdr_small. bpr_le_gap_bnbcpdr_small + (p) = (s)) \/ (((exists bpr_gap_bnbcpdr_above_small. bpr_gap_bnbcpdr_above_small + S (s) = p) /\ (exists bpr_le_gap_bnbcpdr_middle_bound. bpr_le_gap_bnbcpdr_middle_bound + (p) = (q))) \/ ((exists bpr_gap_bnbcpdr_above_middle. bpr_gap_bnbcpdr_above_middle + S (q) = p) /\ (exists bpr_le_gap_bnbcpdr_row_bound. bpr_le_gap_bnbcpdr_row_bound + (p) = (n)))))

Structural proof guide

Every central prime divisor lies in one of the three live ranges.

Direct prerequisites: le_total, le_eq_or_lt, le_refl, no_bertrand_central_prime_divisor_le. The authored body proceeds by case analysis (4), intermediate claims (5), equality transport (2).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.

  1. 0001intro n
  2. 0002intro s
  3. 0003intro q
  4. 0004intro c
  5. 0005intro p
  6. 0006intro hfree
  7. 0007intro hp
  8. 0008intro hcentral
  9. 0009intro hdivides
  10. 0010have hrow : exists bpr_le_gap_bnbcpdr_row_bound. bpr_le_gap_bnbcpdr_row_bound + (p) = (n)
  11. 0011specialize no_bertrand_central_prime_divisor_le n
  12. 0012specialize no_bertrand_central_prime_divisor_le c
  13. 0013specialize no_bertrand_central_prime_divisor_le p
  14. 0014apply no_bertrand_central_prime_divisor_le
  15. 0015exact hfree
  16. 0016exact hp
  17. 0017exact hcentral
  18. 0018exact hdivides
  19. 0019have hps : (exists a. a + p = s) \/ exists b. b + s = p
  20. 0020specialize le_total p
  21. 0021specialize le_total s
  22. 0022exact le_total
  23. 0023cases hps
  24. 0024left
  25. 0025exact hps_left
  26. 0026have hsmall_cases : s = p \/ exists g. g + S s = p
  27. 0027specialize le_eq_or_lt s
  28. 0028specialize le_eq_or_lt p
  29. 0029apply le_eq_or_lt
  30. 0030exact hps_right
  31. 0031cases hsmall_cases
  32. 0032left
  33. 0033rewrite hsmall_cases_left
  34. 0034specialize le_refl p
  35. 0035exact le_refl
  36. 0036have hpq : (exists a. a + p = q) \/ exists b. b + q = p
  37. 0037specialize le_total p
  38. 0038specialize le_total q
  39. 0039exact le_total
  40. 0040cases hpq
  41. 0041right
  42. 0042left
  43. 0043split
  44. 0044exact hsmall_cases_right
  45. 0045exact hpq_left
  46. 0046have hmiddle_cases : q = p \/ exists g. g + S q = p
  47. 0047specialize le_eq_or_lt q
  48. 0048specialize le_eq_or_lt p
  49. 0049apply le_eq_or_lt
  50. 0050exact hpq_right
  51. 0051cases hmiddle_cases
  52. 0052right
  53. 0053left
  54. 0054split
  55. 0055exact hsmall_cases_right
  56. 0056rewrite hmiddle_cases_left
  57. 0057specialize le_refl p
  58. 0058exact le_refl
  59. 0059right
  60. 0060right
  61. 0061split
  62. 0062exact hmiddle_cases_right
  63. 0063exact hrow