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. Pow(4,4,p) → p = 4 · 4 · 4 · 4Every 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
2 occurrences
Exact expanded native-PA statement
forall p. (exists pa_b_bpf4e_source pa_c_bpf4e_source. ((forall pa_i_bpf4e_source_repeat. (exists pa_lt_bpf4e_source_repeat_bound. pa_lt_bpf4e_source_repeat_bound + S pa_i_bpf4e_source_repeat = 4) -> (((exists pa_h_bpf4e_source_repeat_decoded. pa_h_bpf4e_source_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_source_repeat)) * pa_c_bpf4e_source)) /\ exists pa_q_bpf4e_source_repeat_decoded. pa_b_bpf4e_source = pa_q_bpf4e_source_repeat_decoded * S ((S (pa_i_bpf4e_source_repeat)) * pa_c_bpf4e_source) + (4)))) /\ (exists pa_u_bpf4e_source_product pa_v_bpf4e_source_product. ((((exists pa_h_bpf4e_source_product_start. pa_h_bpf4e_source_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_start. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_start * S ((S (0)) * pa_v_bpf4e_source_product) + (1))) /\ ((((exists pa_h_bpf4e_source_product_terminal. pa_h_bpf4e_source_product_terminal + S (p) = S ((S (4)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_terminal. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_terminal * S ((S (4)) * pa_v_bpf4e_source_product) + (p))) /\ forall pa_i_bpf4e_source_product. (exists pa_lt_bpf4e_source_product_bound. pa_lt_bpf4e_source_product_bound + S pa_i_bpf4e_source_product = 4) -> exists pa_p_bpf4e_source_product pa_r_bpf4e_source_product pa_s_bpf4e_source_product. ((((exists pa_h_bpf4e_source_product_factor. pa_h_bpf4e_source_product_factor + S (pa_p_bpf4e_source_product) = S ((S (pa_i_bpf4e_source_product)) * pa_c_bpf4e_source)) /\ exists pa_q_bpf4e_source_product_factor. pa_b_bpf4e_source = pa_q_bpf4e_source_product_factor * S ((S (pa_i_bpf4e_source_product)) * pa_c_bpf4e_source) + (pa_p_bpf4e_source_product))) /\ ((((exists pa_h_bpf4e_source_product_partial. pa_h_bpf4e_source_product_partial + S (pa_r_bpf4e_source_product) = S ((S (pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_partial. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_partial * S ((S (pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product) + (pa_r_bpf4e_source_product))) /\ ((((exists pa_h_bpf4e_source_product_successor. pa_h_bpf4e_source_product_successor + S (pa_s_bpf4e_source_product) = S ((S (S pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product)) /\ exists pa_q_bpf4e_source_product_successor. pa_u_bpf4e_source_product = pa_q_bpf4e_source_product_successor * S ((S (S pa_i_bpf4e_source_product)) * pa_v_bpf4e_source_product) + (pa_s_bpf4e_source_product))) /\ pa_s_bpf4e_source_product = pa_r_bpf4e_source_product * pa_p_bpf4e_source_product)))))))) -> p = ((4 * 4) * 4) * 4Proof 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 (2)
01Fix variables and assumptionsL1–2
02Establish hthreeL3–6
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L3
have hthree : ∃ r. Pow(4,3,r) ∧ p = r · 4Definitions: Pow(4,3,r)Original native command in the exact edition - L4
apply pow_successor_decompose - L5
refl - L6
exact hpower
03Separate the logical casesL7–8
04Establish htwoL9–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L9
have htwo : ∃ r. Pow(4,2,r) ∧ x = r · 4Definitions: Pow(4,2,r)Original native command in the exact edition - L10
apply pow_successor_decompose - L11
refl - L12
exact hthree_witness_left
05Separate the logical casesL13–14
06Establish htwo_valueL15–22
Original defined command ledger · 22 lines
- 0001
intro p - 0002
intro hpower - 0003
have hthree : ∃ r. Pow(4,3,r) ∧ p = r · 4Exact native replay line
have hthree : exists r. (exists pa_b_bpf4e_three pa_c_bpf4e_three. ((forall pa_i_bpf4e_three_repeat. (exists pa_lt_bpf4e_three_repeat_bound. pa_lt_bpf4e_three_repeat_bound + S pa_i_bpf4e_three_repeat = 3) -> (((exists pa_h_bpf4e_three_repeat_decoded. pa_h_bpf4e_three_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_three_repeat)) * pa_c_bpf4e_three)) /\ exists pa_q_bpf4e_three_repeat_decoded. pa_b_bpf4e_three = pa_q_bpf4e_three_repeat_decoded * S ((S (pa_i_bpf4e_three_repeat)) * pa_c_bpf4e_three) + (4)))) /\ (exists pa_u_bpf4e_three_product pa_v_bpf4e_three_product. ((((exists pa_h_bpf4e_three_product_start. pa_h_bpf4e_three_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_start. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_start * S ((S (0)) * pa_v_bpf4e_three_product) + (1))) /\ ((((exists pa_h_bpf4e_three_product_terminal. pa_h_bpf4e_three_product_terminal + S (r) = S ((S (3)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_terminal. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_terminal * S ((S (3)) * pa_v_bpf4e_three_product) + (r))) /\ forall pa_i_bpf4e_three_product. (exists pa_lt_bpf4e_three_product_bound. pa_lt_bpf4e_three_product_bound + S pa_i_bpf4e_three_product = 3) -> exists pa_p_bpf4e_three_product pa_r_bpf4e_three_product pa_s_bpf4e_three_product. ((((exists pa_h_bpf4e_three_product_factor. pa_h_bpf4e_three_product_factor + S (pa_p_bpf4e_three_product) = S ((S (pa_i_bpf4e_three_product)) * pa_c_bpf4e_three)) /\ exists pa_q_bpf4e_three_product_factor. pa_b_bpf4e_three = pa_q_bpf4e_three_product_factor * S ((S (pa_i_bpf4e_three_product)) * pa_c_bpf4e_three) + (pa_p_bpf4e_three_product))) /\ ((((exists pa_h_bpf4e_three_product_partial. pa_h_bpf4e_three_product_partial + S (pa_r_bpf4e_three_product) = S ((S (pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_partial. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_partial * S ((S (pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product) + (pa_r_bpf4e_three_product))) /\ ((((exists pa_h_bpf4e_three_product_successor. pa_h_bpf4e_three_product_successor + S (pa_s_bpf4e_three_product) = S ((S (S pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product)) /\ exists pa_q_bpf4e_three_product_successor. pa_u_bpf4e_three_product = pa_q_bpf4e_three_product_successor * S ((S (S pa_i_bpf4e_three_product)) * pa_v_bpf4e_three_product) + (pa_s_bpf4e_three_product))) /\ pa_s_bpf4e_three_product = pa_r_bpf4e_three_product * pa_p_bpf4e_three_product)))))))) /\ p = r * 4 - 0004
apply pow_successor_decompose - 0005
refl - 0006
exact hpower - 0007
cases hthree - 0008
cases hthree_witness - 0009
have htwo : ∃ r. Pow(4,2,r) ∧ x = r · 4Exact native replay line
have htwo : exists r. (exists pa_b_bpf4e_two pa_c_bpf4e_two. ((forall pa_i_bpf4e_two_repeat. (exists pa_lt_bpf4e_two_repeat_bound. pa_lt_bpf4e_two_repeat_bound + S pa_i_bpf4e_two_repeat = 2) -> (((exists pa_h_bpf4e_two_repeat_decoded. pa_h_bpf4e_two_repeat_decoded + S (4) = S ((S (pa_i_bpf4e_two_repeat)) * pa_c_bpf4e_two)) /\ exists pa_q_bpf4e_two_repeat_decoded. pa_b_bpf4e_two = pa_q_bpf4e_two_repeat_decoded * S ((S (pa_i_bpf4e_two_repeat)) * pa_c_bpf4e_two) + (4)))) /\ (exists pa_u_bpf4e_two_product pa_v_bpf4e_two_product. ((((exists pa_h_bpf4e_two_product_start. pa_h_bpf4e_two_product_start + S (1) = S ((S (0)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_start. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_start * S ((S (0)) * pa_v_bpf4e_two_product) + (1))) /\ ((((exists pa_h_bpf4e_two_product_terminal. pa_h_bpf4e_two_product_terminal + S (r) = S ((S (2)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_terminal. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_terminal * S ((S (2)) * pa_v_bpf4e_two_product) + (r))) /\ forall pa_i_bpf4e_two_product. (exists pa_lt_bpf4e_two_product_bound. pa_lt_bpf4e_two_product_bound + S pa_i_bpf4e_two_product = 2) -> exists pa_p_bpf4e_two_product pa_r_bpf4e_two_product pa_s_bpf4e_two_product. ((((exists pa_h_bpf4e_two_product_factor. pa_h_bpf4e_two_product_factor + S (pa_p_bpf4e_two_product) = S ((S (pa_i_bpf4e_two_product)) * pa_c_bpf4e_two)) /\ exists pa_q_bpf4e_two_product_factor. pa_b_bpf4e_two = pa_q_bpf4e_two_product_factor * S ((S (pa_i_bpf4e_two_product)) * pa_c_bpf4e_two) + (pa_p_bpf4e_two_product))) /\ ((((exists pa_h_bpf4e_two_product_partial. pa_h_bpf4e_two_product_partial + S (pa_r_bpf4e_two_product) = S ((S (pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_partial. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_partial * S ((S (pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product) + (pa_r_bpf4e_two_product))) /\ ((((exists pa_h_bpf4e_two_product_successor. pa_h_bpf4e_two_product_successor + S (pa_s_bpf4e_two_product) = S ((S (S pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product)) /\ exists pa_q_bpf4e_two_product_successor. pa_u_bpf4e_two_product = pa_q_bpf4e_two_product_successor * S ((S (S pa_i_bpf4e_two_product)) * pa_v_bpf4e_two_product) + (pa_s_bpf4e_two_product))) /\ pa_s_bpf4e_two_product = pa_r_bpf4e_two_product * pa_p_bpf4e_two_product)))))))) /\ x = r * 4 - 0010
apply pow_successor_decompose - 0011
refl - 0012
exact hthree_witness_left - 0013
cases htwo - 0014
cases htwo_witness - 0015
have htwo_value : x1 = 4 * 4 - 0016
apply pow_two - 0017
refl - 0018
exact htwo_witness_left - 0019
rewrite hthree_witness_right - 0020
rewrite htwo_witness_right - 0021
rewrite htwo_value - 0022
refl