BT00RO

prime_factorial_valuation_zero

Alpha body-checked ยท checked-use disabled

The prime valuation of zero factorial is zero.

Exact expanded PA statement

forall p n e. n = 0 -> ((~(p = 1) /\ forall frm_prime_left_bfv_prime frm_prime_right_bfv_prime. p = frm_prime_left_bfv_prime * frm_prime_right_bfv_prime -> frm_prime_left_bfv_prime = 1 \/ frm_prime_right_bfv_prime = 1)) -> (exists bfv_factorial_bfv_zero. ((exists ff_b_bfv_zero_factorial ff_c_bfv_zero_factorial. ((forall ff_i_bfv_zero_factorial_range. (exists ff_lt_bfv_zero_factorial_range_bound. ff_lt_bfv_zero_factorial_range_bound + S ff_i_bfv_zero_factorial_range = n) -> (((exists ff_h_bfv_zero_factorial_range_decoded. ff_h_bfv_zero_factorial_range_decoded + S (1 + ff_i_bfv_zero_factorial_range) = S ((S (ff_i_bfv_zero_factorial_range)) * ff_c_bfv_zero_factorial)) /\ exists ff_q_bfv_zero_factorial_range_decoded. ff_b_bfv_zero_factorial = ff_q_bfv_zero_factorial_range_decoded * S ((S (ff_i_bfv_zero_factorial_range)) * ff_c_bfv_zero_factorial) + (1 + ff_i_bfv_zero_factorial_range)))) /\ (exists ff_u_bfv_zero_factorial_product ff_v_bfv_zero_factorial_product. ((((exists ff_h_bfv_zero_factorial_product_start. ff_h_bfv_zero_factorial_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_start. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_start * S ((S (0)) * ff_v_bfv_zero_factorial_product) + (1))) /\ ((((exists ff_h_bfv_zero_factorial_product_terminal. ff_h_bfv_zero_factorial_product_terminal + S (bfv_factorial_bfv_zero) = S ((S (n)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_terminal. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_terminal * S ((S (n)) * ff_v_bfv_zero_factorial_product) + (bfv_factorial_bfv_zero))) /\ forall ff_i_bfv_zero_factorial_product. (exists ff_lt_bfv_zero_factorial_product_bound. ff_lt_bfv_zero_factorial_product_bound + S ff_i_bfv_zero_factorial_product = n) -> exists ff_p_bfv_zero_factorial_product ff_r_bfv_zero_factorial_product ff_s_bfv_zero_factorial_product. ((((exists ff_h_bfv_zero_factorial_product_factor. ff_h_bfv_zero_factorial_product_factor + S (ff_p_bfv_zero_factorial_product) = S ((S (ff_i_bfv_zero_factorial_product)) * ff_c_bfv_zero_factorial)) /\ exists ff_q_bfv_zero_factorial_product_factor. ff_b_bfv_zero_factorial = ff_q_bfv_zero_factorial_product_factor * S ((S (ff_i_bfv_zero_factorial_product)) * ff_c_bfv_zero_factorial) + (ff_p_bfv_zero_factorial_product))) /\ ((((exists ff_h_bfv_zero_factorial_product_partial. ff_h_bfv_zero_factorial_product_partial + S (ff_r_bfv_zero_factorial_product) = S ((S (ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_partial. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_partial * S ((S (ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product) + (ff_r_bfv_zero_factorial_product))) /\ ((((exists ff_h_bfv_zero_factorial_product_successor. ff_h_bfv_zero_factorial_product_successor + S (ff_s_bfv_zero_factorial_product) = S ((S (S ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product)) /\ exists ff_q_bfv_zero_factorial_product_successor. ff_u_bfv_zero_factorial_product = ff_q_bfv_zero_factorial_product_successor * S ((S (S ff_i_bfv_zero_factorial_product)) * ff_v_bfv_zero_factorial_product) + (ff_s_bfv_zero_factorial_product))) /\ ff_s_bfv_zero_factorial_product = ff_r_bfv_zero_factorial_product * ff_p_bfv_zero_factorial_product)))))))) /\ (((exists bpv_gap_bfv_zero_valuation_exponent_bound. bpv_gap_bfv_zero_valuation_exponent_bound + e = bfv_factorial_bfv_zero) /\ (exists bpv_result_bfv_zero_valuation_selected. ((exists ff_b_bfv_zero_valuation_selected_power ff_c_bfv_zero_valuation_selected_power. ((forall ff_i_bfv_zero_valuation_selected_power_repeat. (exists ff_lt_bfv_zero_valuation_selected_power_repeat_bound. ff_lt_bfv_zero_valuation_selected_power_repeat_bound + S ff_i_bfv_zero_valuation_selected_power_repeat = e) -> (((exists ff_h_bfv_zero_valuation_selected_power_repeat_decoded. ff_h_bfv_zero_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_zero_valuation_selected_power_repeat)) * ff_c_bfv_zero_valuation_selected_power)) /\ exists ff_q_bfv_zero_valuation_selected_power_repeat_decoded. ff_b_bfv_zero_valuation_selected_power = ff_q_bfv_zero_valuation_selected_power_repeat_decoded * S ((S (ff_i_bfv_zero_valuation_selected_power_repeat)) * ff_c_bfv_zero_valuation_selected_power) + (p)))) /\ (exists ff_u_bfv_zero_valuation_selected_power_product ff_v_bfv_zero_valuation_selected_power_product. ((((exists ff_h_bfv_zero_valuation_selected_power_product_start. ff_h_bfv_zero_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_start. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_start * S ((S (0)) * ff_v_bfv_zero_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_terminal. ff_h_bfv_zero_valuation_selected_power_product_terminal + S (bpv_result_bfv_zero_valuation_selected) = S ((S (e)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_terminal. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_terminal * S ((S (e)) * ff_v_bfv_zero_valuation_selected_power_product) + (bpv_result_bfv_zero_valuation_selected))) /\ forall ff_i_bfv_zero_valuation_selected_power_product. (exists ff_lt_bfv_zero_valuation_selected_power_product_bound. ff_lt_bfv_zero_valuation_selected_power_product_bound + S ff_i_bfv_zero_valuation_selected_power_product = e) -> exists ff_p_bfv_zero_valuation_selected_power_product ff_r_bfv_zero_valuation_selected_power_product ff_s_bfv_zero_valuation_selected_power_product. ((((exists ff_h_bfv_zero_valuation_selected_power_product_factor. ff_h_bfv_zero_valuation_selected_power_product_factor + S (ff_p_bfv_zero_valuation_selected_power_product) = S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_c_bfv_zero_valuation_selected_power)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_factor. ff_b_bfv_zero_valuation_selected_power = ff_q_bfv_zero_valuation_selected_power_product_factor * S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_c_bfv_zero_valuation_selected_power) + (ff_p_bfv_zero_valuation_selected_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_partial. ff_h_bfv_zero_valuation_selected_power_product_partial + S (ff_r_bfv_zero_valuation_selected_power_product) = S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_partial. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_partial * S ((S (ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product) + (ff_r_bfv_zero_valuation_selected_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_selected_power_product_successor. ff_h_bfv_zero_valuation_selected_power_product_successor + S (ff_s_bfv_zero_valuation_selected_power_product) = S ((S (S ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product)) /\ exists ff_q_bfv_zero_valuation_selected_power_product_successor. ff_u_bfv_zero_valuation_selected_power_product = ff_q_bfv_zero_valuation_selected_power_product_successor * S ((S (S ff_i_bfv_zero_valuation_selected_power_product)) * ff_v_bfv_zero_valuation_selected_power_product) + (ff_s_bfv_zero_valuation_selected_power_product))) /\ ff_s_bfv_zero_valuation_selected_power_product = ff_r_bfv_zero_valuation_selected_power_product * ff_p_bfv_zero_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bfv_zero_valuation_selected_divides. bfv_factorial_bfv_zero = bpv_result_bfv_zero_valuation_selected * bpv_factor_bfv_zero_valuation_selected_divides)))) /\ forall bpv_candidate_bfv_zero_valuation. (exists bpv_gap_bfv_zero_valuation_candidate_bound. bpv_gap_bfv_zero_valuation_candidate_bound + bpv_candidate_bfv_zero_valuation = bfv_factorial_bfv_zero) -> (exists bpv_result_bfv_zero_valuation_candidate. ((exists ff_b_bfv_zero_valuation_candidate_power ff_c_bfv_zero_valuation_candidate_power. ((forall ff_i_bfv_zero_valuation_candidate_power_repeat. (exists ff_lt_bfv_zero_valuation_candidate_power_repeat_bound. ff_lt_bfv_zero_valuation_candidate_power_repeat_bound + S ff_i_bfv_zero_valuation_candidate_power_repeat = bpv_candidate_bfv_zero_valuation) -> (((exists ff_h_bfv_zero_valuation_candidate_power_repeat_decoded. ff_h_bfv_zero_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bfv_zero_valuation_candidate_power_repeat)) * ff_c_bfv_zero_valuation_candidate_power)) /\ exists ff_q_bfv_zero_valuation_candidate_power_repeat_decoded. ff_b_bfv_zero_valuation_candidate_power = ff_q_bfv_zero_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bfv_zero_valuation_candidate_power_repeat)) * ff_c_bfv_zero_valuation_candidate_power) + (p)))) /\ (exists ff_u_bfv_zero_valuation_candidate_power_product ff_v_bfv_zero_valuation_candidate_power_product. ((((exists ff_h_bfv_zero_valuation_candidate_power_product_start. ff_h_bfv_zero_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_start. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bfv_zero_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_terminal. ff_h_bfv_zero_valuation_candidate_power_product_terminal + S (bpv_result_bfv_zero_valuation_candidate) = S ((S (bpv_candidate_bfv_zero_valuation)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_terminal. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bfv_zero_valuation)) * ff_v_bfv_zero_valuation_candidate_power_product) + (bpv_result_bfv_zero_valuation_candidate))) /\ forall ff_i_bfv_zero_valuation_candidate_power_product. (exists ff_lt_bfv_zero_valuation_candidate_power_product_bound. ff_lt_bfv_zero_valuation_candidate_power_product_bound + S ff_i_bfv_zero_valuation_candidate_power_product = bpv_candidate_bfv_zero_valuation) -> exists ff_p_bfv_zero_valuation_candidate_power_product ff_r_bfv_zero_valuation_candidate_power_product ff_s_bfv_zero_valuation_candidate_power_product. ((((exists ff_h_bfv_zero_valuation_candidate_power_product_factor. ff_h_bfv_zero_valuation_candidate_power_product_factor + S (ff_p_bfv_zero_valuation_candidate_power_product) = S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_c_bfv_zero_valuation_candidate_power)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_factor. ff_b_bfv_zero_valuation_candidate_power = ff_q_bfv_zero_valuation_candidate_power_product_factor * S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_c_bfv_zero_valuation_candidate_power) + (ff_p_bfv_zero_valuation_candidate_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_partial. ff_h_bfv_zero_valuation_candidate_power_product_partial + S (ff_r_bfv_zero_valuation_candidate_power_product) = S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_partial. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_partial * S ((S (ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product) + (ff_r_bfv_zero_valuation_candidate_power_product))) /\ ((((exists ff_h_bfv_zero_valuation_candidate_power_product_successor. ff_h_bfv_zero_valuation_candidate_power_product_successor + S (ff_s_bfv_zero_valuation_candidate_power_product) = S ((S (S ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product)) /\ exists ff_q_bfv_zero_valuation_candidate_power_product_successor. ff_u_bfv_zero_valuation_candidate_power_product = ff_q_bfv_zero_valuation_candidate_power_product_successor * S ((S (S ff_i_bfv_zero_valuation_candidate_power_product)) * ff_v_bfv_zero_valuation_candidate_power_product) + (ff_s_bfv_zero_valuation_candidate_power_product))) /\ ff_s_bfv_zero_valuation_candidate_power_product = ff_r_bfv_zero_valuation_candidate_power_product * ff_p_bfv_zero_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bfv_zero_valuation_candidate_divides. bfv_factorial_bfv_zero = bpv_result_bfv_zero_valuation_candidate * bpv_factor_bfv_zero_valuation_candidate_divides))) -> (exists bpv_gap_bfv_zero_valuation_maximal. bpv_gap_bfv_zero_valuation_maximal + bpv_candidate_bfv_zero_valuation = e)))) -> e = 0

Structural proof guide

The prime valuation of zero factorial is zero.

Direct prerequisites: factorial_zero, prime_power_valuation_one_zero. The authored body proceeds by case analysis (2), intermediate claims (1).

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 p
  2. 0002intro n
  3. 0003intro e
  4. 0004intro hn
  5. 0005intro hp
  6. 0006intro hvaluation
  7. 0007cases hvaluation
  8. 0008cases hvaluation_witness
  9. 0009have hfactorial_value : x = 1
  10. 0010specialize factorial_zero n
  11. 0011specialize factorial_zero x
  12. 0012apply factorial_zero
  13. 0013exact hn
  14. 0014exact hvaluation_witness_left
  15. 0015specialize prime_power_valuation_one_zero p
  16. 0016specialize prime_power_valuation_one_zero x
  17. 0017specialize prime_power_valuation_one_zero e
  18. 0018apply prime_power_valuation_one_zero
  19. 0019exact hfactorial_value
  20. 0020exact hp
  21. 0021exact hvaluation_witness_right