BT00UC · Bertrand theorem

primorial_zero

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

The empty dense selector product is one.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ z. Primorial(0,z) → z = 1

Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.

Definitions used by this theorem

In the theorem statement

1 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall z. (exists bpr_code_bp_zero_source bpr_scale_bp_zero_source. ((forall bpr_index_bp_zero_source_mask. (exists bpr_gap_bp_zero_source_mask_bound. bpr_gap_bp_zero_source_mask_bound + S (bpr_index_bp_zero_source_mask) = 0) -> exists bpr_value_bp_zero_source_mask. ((((exists bpr_height_bp_zero_source_mask_decoded. bpr_height_bp_zero_source_mask_decoded + S (bpr_value_bp_zero_source_mask) = S ((S (bpr_index_bp_zero_source_mask)) * bpr_scale_bp_zero_source)) /\ exists bpr_quotient_bp_zero_source_mask_decoded. bpr_code_bp_zero_source = bpr_quotient_bp_zero_source_mask_decoded * S ((S (bpr_index_bp_zero_source_mask)) * bpr_scale_bp_zero_source) + (bpr_value_bp_zero_source_mask))) /\ (((((~(S (bpr_index_bp_zero_source_mask) = 1) /\ forall bpr_left_bp_zero_source_mask_choice_prime bpr_right_bp_zero_source_mask_choice_prime. S (bpr_index_bp_zero_source_mask) = bpr_left_bp_zero_source_mask_choice_prime * bpr_right_bp_zero_source_mask_choice_prime -> bpr_left_bp_zero_source_mask_choice_prime = 1 \/ bpr_right_bp_zero_source_mask_choice_prime = 1)) /\ bpr_value_bp_zero_source_mask = S (bpr_index_bp_zero_source_mask)) \/ (~((~(S (bpr_index_bp_zero_source_mask) = 1) /\ forall bpr_left_bp_zero_source_mask_choice_prime bpr_right_bp_zero_source_mask_choice_prime. S (bpr_index_bp_zero_source_mask) = bpr_left_bp_zero_source_mask_choice_prime * bpr_right_bp_zero_source_mask_choice_prime -> bpr_left_bp_zero_source_mask_choice_prime = 1 \/ bpr_right_bp_zero_source_mask_choice_prime = 1)) /\ bpr_value_bp_zero_source_mask = 1))))) /\ (exists ff_u_bp_zero_source_product ff_v_bp_zero_source_product. ((((exists ff_h_bp_zero_source_product_start. ff_h_bp_zero_source_product_start + S (1) = S ((S (0)) * ff_v_bp_zero_source_product)) /\ exists ff_q_bp_zero_source_product_start. ff_u_bp_zero_source_product = ff_q_bp_zero_source_product_start * S ((S (0)) * ff_v_bp_zero_source_product) + (1))) /\ ((((exists ff_h_bp_zero_source_product_terminal. ff_h_bp_zero_source_product_terminal + S (z) = S ((S (0)) * ff_v_bp_zero_source_product)) /\ exists ff_q_bp_zero_source_product_terminal. ff_u_bp_zero_source_product = ff_q_bp_zero_source_product_terminal * S ((S (0)) * ff_v_bp_zero_source_product) + (z))) /\ forall ff_i_bp_zero_source_product. (exists ff_lt_bp_zero_source_product_bound. ff_lt_bp_zero_source_product_bound + S ff_i_bp_zero_source_product = 0) -> exists ff_p_bp_zero_source_product ff_r_bp_zero_source_product ff_s_bp_zero_source_product. ((((exists ff_h_bp_zero_source_product_factor. ff_h_bp_zero_source_product_factor + S (ff_p_bp_zero_source_product) = S ((S (ff_i_bp_zero_source_product)) * bpr_scale_bp_zero_source)) /\ exists ff_q_bp_zero_source_product_factor. bpr_code_bp_zero_source = ff_q_bp_zero_source_product_factor * S ((S (ff_i_bp_zero_source_product)) * bpr_scale_bp_zero_source) + (ff_p_bp_zero_source_product))) /\ ((((exists ff_h_bp_zero_source_product_partial. ff_h_bp_zero_source_product_partial + S (ff_r_bp_zero_source_product) = S ((S (ff_i_bp_zero_source_product)) * ff_v_bp_zero_source_product)) /\ exists ff_q_bp_zero_source_product_partial. ff_u_bp_zero_source_product = ff_q_bp_zero_source_product_partial * S ((S (ff_i_bp_zero_source_product)) * ff_v_bp_zero_source_product) + (ff_r_bp_zero_source_product))) /\ ((((exists ff_h_bp_zero_source_product_successor. ff_h_bp_zero_source_product_successor + S (ff_s_bp_zero_source_product) = S ((S (S ff_i_bp_zero_source_product)) * ff_v_bp_zero_source_product)) /\ exists ff_q_bp_zero_source_product_successor. ff_u_bp_zero_source_product = ff_q_bp_zero_source_product_successor * S ((S (S ff_i_bp_zero_source_product)) * ff_v_bp_zero_source_product) + (ff_s_bp_zero_source_product))) /\ ff_s_bp_zero_source_product = ff_r_bp_zero_source_product * ff_p_bp_zero_source_product)))))))) -> z = 1

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.

Read the argument

Proof checkpoints

7 script commands · 3 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–2

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro z
  2. L2
    intro hprimorial
02Separate the logical casesL3–5

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L3
    cases hprimorial
  2. L4
    cases hprimorial_witness
  3. L5
    cases hprimorial_witness_witness
03Use earlier factsL6–7

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L6
    apply beta_product_zero
  2. L7
    exact hprimorial_witness_witness_right

Library-wide reading audit

Original defined command ledger · 7 lines
  1. 0001intro z
  2. 0002intro hprimorial
  3. 0003cases hprimorial
  4. 0004cases hprimorial_witness
  5. 0005cases hprimorial_witness_witness
  6. 0006apply beta_product_zero
  7. 0007exact hprimorial_witness_witness_right