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
∀ p. ∀ e. ∀ a. ∀ r. ∀ q. Pow(p,e,r) → a = r · q → Dvd(p,q) → PowerDivides(p,S e,a)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
3 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall p e a r q. (exists ff_b_bpd_successor_prefix ff_c_bpd_successor_prefix. ((forall ff_i_bpd_successor_prefix_repeat. (exists ff_lt_bpd_successor_prefix_repeat_bound. ff_lt_bpd_successor_prefix_repeat_bound + S ff_i_bpd_successor_prefix_repeat = e) -> (((exists ff_h_bpd_successor_prefix_repeat_decoded. ff_h_bpd_successor_prefix_repeat_decoded + S (p) = S ((S (ff_i_bpd_successor_prefix_repeat)) * ff_c_bpd_successor_prefix)) /\ exists ff_q_bpd_successor_prefix_repeat_decoded. ff_b_bpd_successor_prefix = ff_q_bpd_successor_prefix_repeat_decoded * S ((S (ff_i_bpd_successor_prefix_repeat)) * ff_c_bpd_successor_prefix) + (p)))) /\ (exists ff_u_bpd_successor_prefix_product ff_v_bpd_successor_prefix_product. ((((exists ff_h_bpd_successor_prefix_product_start. ff_h_bpd_successor_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_start. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_start * S ((S (0)) * ff_v_bpd_successor_prefix_product) + (1))) /\ ((((exists ff_h_bpd_successor_prefix_product_terminal. ff_h_bpd_successor_prefix_product_terminal + S (r) = S ((S (e)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_terminal. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_terminal * S ((S (e)) * ff_v_bpd_successor_prefix_product) + (r))) /\ forall ff_i_bpd_successor_prefix_product. (exists ff_lt_bpd_successor_prefix_product_bound. ff_lt_bpd_successor_prefix_product_bound + S ff_i_bpd_successor_prefix_product = e) -> exists ff_p_bpd_successor_prefix_product ff_r_bpd_successor_prefix_product ff_s_bpd_successor_prefix_product. ((((exists ff_h_bpd_successor_prefix_product_factor. ff_h_bpd_successor_prefix_product_factor + S (ff_p_bpd_successor_prefix_product) = S ((S (ff_i_bpd_successor_prefix_product)) * ff_c_bpd_successor_prefix)) /\ exists ff_q_bpd_successor_prefix_product_factor. ff_b_bpd_successor_prefix = ff_q_bpd_successor_prefix_product_factor * S ((S (ff_i_bpd_successor_prefix_product)) * ff_c_bpd_successor_prefix) + (ff_p_bpd_successor_prefix_product))) /\ ((((exists ff_h_bpd_successor_prefix_product_partial. ff_h_bpd_successor_prefix_product_partial + S (ff_r_bpd_successor_prefix_product) = S ((S (ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_partial. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_partial * S ((S (ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product) + (ff_r_bpd_successor_prefix_product))) /\ ((((exists ff_h_bpd_successor_prefix_product_successor. ff_h_bpd_successor_prefix_product_successor + S (ff_s_bpd_successor_prefix_product) = S ((S (S ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product)) /\ exists ff_q_bpd_successor_prefix_product_successor. ff_u_bpd_successor_prefix_product = ff_q_bpd_successor_prefix_product_successor * S ((S (S ff_i_bpd_successor_prefix_product)) * ff_v_bpd_successor_prefix_product) + (ff_s_bpd_successor_prefix_product))) /\ ff_s_bpd_successor_prefix_product = ff_r_bpd_successor_prefix_product * ff_p_bpd_successor_prefix_product)))))))) -> a = r * q -> (exists bpd_factor_successor_cofactor. q = (p) * bpd_factor_successor_cofactor) -> (exists bpvi_result_successor_result. ((exists bpvi_b_successor_result_power bpvi_c_successor_result_power. ((forall bpvi_i_successor_result_power. (exists bpvi_repeat_gap_successor_result_power. bpvi_repeat_gap_successor_result_power + S bpvi_i_successor_result_power = S e) -> (((exists bpvi_h_successor_result_power_repeat. bpvi_h_successor_result_power_repeat + S (p) = S ((S (bpvi_i_successor_result_power)) * bpvi_c_successor_result_power)) /\ exists bpvi_q_successor_result_power_repeat. bpvi_b_successor_result_power = bpvi_q_successor_result_power_repeat * S ((S (bpvi_i_successor_result_power)) * bpvi_c_successor_result_power) + (p)))) /\ (exists bpvi_u_successor_result_power bpvi_v_successor_result_power. ((((exists bpvi_h_successor_result_power_start. bpvi_h_successor_result_power_start + S (1) = S ((S (0)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_start. bpvi_u_successor_result_power = bpvi_q_successor_result_power_start * S ((S (0)) * bpvi_v_successor_result_power) + (1))) /\ ((((exists bpvi_h_successor_result_power_terminal. bpvi_h_successor_result_power_terminal + S (bpvi_result_successor_result) = S ((S (S e)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_terminal. bpvi_u_successor_result_power = bpvi_q_successor_result_power_terminal * S ((S (S e)) * bpvi_v_successor_result_power) + (bpvi_result_successor_result))) /\ forall bpvi_j_successor_result_power. (exists bpvi_product_gap_successor_result_power. bpvi_product_gap_successor_result_power + S bpvi_j_successor_result_power = S e) -> exists bpvi_factor_successor_result_power bpvi_partial_successor_result_power bpvi_successor_successor_result_power. ((((exists bpvi_h_successor_result_power_factor. bpvi_h_successor_result_power_factor + S (bpvi_factor_successor_result_power) = S ((S (bpvi_j_successor_result_power)) * bpvi_c_successor_result_power)) /\ exists bpvi_q_successor_result_power_factor. bpvi_b_successor_result_power = bpvi_q_successor_result_power_factor * S ((S (bpvi_j_successor_result_power)) * bpvi_c_successor_result_power) + (bpvi_factor_successor_result_power))) /\ ((((exists bpvi_h_successor_result_power_partial. bpvi_h_successor_result_power_partial + S (bpvi_partial_successor_result_power) = S ((S (bpvi_j_successor_result_power)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_partial. bpvi_u_successor_result_power = bpvi_q_successor_result_power_partial * S ((S (bpvi_j_successor_result_power)) * bpvi_v_successor_result_power) + (bpvi_partial_successor_result_power))) /\ ((((exists bpvi_h_successor_result_power_successor. bpvi_h_successor_result_power_successor + S (bpvi_successor_successor_result_power) = S ((S (S bpvi_j_successor_result_power)) * bpvi_v_successor_result_power)) /\ exists bpvi_q_successor_result_power_successor. bpvi_u_successor_result_power = bpvi_q_successor_result_power_successor * S ((S (S bpvi_j_successor_result_power)) * bpvi_v_successor_result_power) + (bpvi_successor_successor_result_power))) /\ bpvi_successor_successor_result_power = bpvi_partial_successor_result_power * bpvi_factor_successor_result_power)))))))) /\ exists bpvi_divisor_factor_successor_result. a = bpvi_result_successor_result * bpvi_divisor_factor_successor_result))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
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.
Named ingredients (3)
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hq
03Establish hsuccessorL10–13
Establish this local claim before using it. It is not an additional assumption.
- L10
have hsuccessor : ∃ s. Pow(p,S e,s)Definitions: Pow(p,S e,s)Original native command in the exact edition - L11
specialize pow_exists p - L12
specialize pow_exists (S e) - L13
exact pow_exists
04Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hsuccessor
05Establish hsL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor pair mul.
06Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x1
07Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
08Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hsuccessor_witness
09Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists x
10Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
trans r * q
11Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact ha
12Calculate and transport equalitiesL31–33
13Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
apply mul_assoc
14Calculate and transport equalitiesL35–36
15Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hs
16Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
refl
Original defined command ledger · 38 lines
- 0001
intro p - 0002
intro e - 0003
intro a - 0004
intro r - 0005
intro q - 0006
intro hr - 0007
intro ha - 0008
intro hq - 0009
cases hq - 0010
have hsuccessor : ∃ s. Pow(p,S e,s)Exact native replay line
have hsuccessor : exists s. (exists bpvi_b_bpd_successor_witness bpvi_c_bpd_successor_witness. ((forall bpvi_i_bpd_successor_witness. (exists bpvi_repeat_gap_bpd_successor_witness. bpvi_repeat_gap_bpd_successor_witness + S bpvi_i_bpd_successor_witness = S e) -> (((exists bpvi_h_bpd_successor_witness_repeat. bpvi_h_bpd_successor_witness_repeat + S (p) = S ((S (bpvi_i_bpd_successor_witness)) * bpvi_c_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_repeat. bpvi_b_bpd_successor_witness = bpvi_q_bpd_successor_witness_repeat * S ((S (bpvi_i_bpd_successor_witness)) * bpvi_c_bpd_successor_witness) + (p)))) /\ (exists bpvi_u_bpd_successor_witness bpvi_v_bpd_successor_witness. ((((exists bpvi_h_bpd_successor_witness_start. bpvi_h_bpd_successor_witness_start + S (1) = S ((S (0)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_start. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_start * S ((S (0)) * bpvi_v_bpd_successor_witness) + (1))) /\ ((((exists bpvi_h_bpd_successor_witness_terminal. bpvi_h_bpd_successor_witness_terminal + S (s) = S ((S (S e)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_terminal. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_terminal * S ((S (S e)) * bpvi_v_bpd_successor_witness) + (s))) /\ forall bpvi_j_bpd_successor_witness. (exists bpvi_product_gap_bpd_successor_witness. bpvi_product_gap_bpd_successor_witness + S bpvi_j_bpd_successor_witness = S e) -> exists bpvi_factor_bpd_successor_witness bpvi_partial_bpd_successor_witness bpvi_successor_bpd_successor_witness. ((((exists bpvi_h_bpd_successor_witness_factor. bpvi_h_bpd_successor_witness_factor + S (bpvi_factor_bpd_successor_witness) = S ((S (bpvi_j_bpd_successor_witness)) * bpvi_c_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_factor. bpvi_b_bpd_successor_witness = bpvi_q_bpd_successor_witness_factor * S ((S (bpvi_j_bpd_successor_witness)) * bpvi_c_bpd_successor_witness) + (bpvi_factor_bpd_successor_witness))) /\ ((((exists bpvi_h_bpd_successor_witness_partial. bpvi_h_bpd_successor_witness_partial + S (bpvi_partial_bpd_successor_witness) = S ((S (bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_partial. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_partial * S ((S (bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness) + (bpvi_partial_bpd_successor_witness))) /\ ((((exists bpvi_h_bpd_successor_witness_successor. bpvi_h_bpd_successor_witness_successor + S (bpvi_successor_bpd_successor_witness) = S ((S (S bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness)) /\ exists bpvi_q_bpd_successor_witness_successor. bpvi_u_bpd_successor_witness = bpvi_q_bpd_successor_witness_successor * S ((S (S bpvi_j_bpd_successor_witness)) * bpvi_v_bpd_successor_witness) + (bpvi_successor_bpd_successor_witness))) /\ bpvi_successor_bpd_successor_witness = bpvi_partial_bpd_successor_witness * bpvi_factor_bpd_successor_witness)))))))) - 0011
specialize pow_exists p - 0012
specialize pow_exists (S e) - 0013
exact pow_exists - 0014
cases hsuccessor - 0015
have hs : x1 = r * p - 0016
specialize pow_successor_pair_mul p - 0017
specialize pow_successor_pair_mul e - 0018
specialize pow_successor_pair_mul (S e) - 0019
specialize pow_successor_pair_mul r - 0020
specialize pow_successor_pair_mul x1 - 0021
apply pow_successor_pair_mul - 0022
refl - 0023
exact hr - 0024
exact hsuccessor_witness - 0025
exists x1 - 0026
split - 0027
exact hsuccessor_witness - 0028
exists x - 0029
trans r * q - 0030
exact ha - 0031
rewrite hq_witness - 0032
trans (r * p) * x - 0033
symm - 0034
apply mul_assoc - 0035
congr - 0036
symm - 0037
exact hs - 0038
refl