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
∀ a. ∀ e. ∀ se. ∀ r. ∀ n. se = S e → Pow(a,e,r) → Pow(a,se,n) → n = r · aEvery 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
2 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall a e se r n. se = S e -> (exists ff_b_pair_predecessor ff_c_pair_predecessor. ((forall ff_i_pair_predecessor_repeat. (exists ff_lt_pair_predecessor_repeat_bound. ff_lt_pair_predecessor_repeat_bound + S ff_i_pair_predecessor_repeat = e) -> (((exists ff_h_pair_predecessor_repeat_decoded. ff_h_pair_predecessor_repeat_decoded + S (a) = S ((S (ff_i_pair_predecessor_repeat)) * ff_c_pair_predecessor)) /\ exists ff_q_pair_predecessor_repeat_decoded. ff_b_pair_predecessor = ff_q_pair_predecessor_repeat_decoded * S ((S (ff_i_pair_predecessor_repeat)) * ff_c_pair_predecessor) + (a)))) /\ (exists ff_u_pair_predecessor_product ff_v_pair_predecessor_product. ((((exists ff_h_pair_predecessor_product_start. ff_h_pair_predecessor_product_start + S (1) = S ((S (0)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_start. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_start * S ((S (0)) * ff_v_pair_predecessor_product) + (1))) /\ ((((exists ff_h_pair_predecessor_product_terminal. ff_h_pair_predecessor_product_terminal + S (r) = S ((S (e)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_terminal. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_terminal * S ((S (e)) * ff_v_pair_predecessor_product) + (r))) /\ forall ff_i_pair_predecessor_product. (exists ff_lt_pair_predecessor_product_bound. ff_lt_pair_predecessor_product_bound + S ff_i_pair_predecessor_product = e) -> exists ff_p_pair_predecessor_product ff_r_pair_predecessor_product ff_s_pair_predecessor_product. ((((exists ff_h_pair_predecessor_product_factor. ff_h_pair_predecessor_product_factor + S (ff_p_pair_predecessor_product) = S ((S (ff_i_pair_predecessor_product)) * ff_c_pair_predecessor)) /\ exists ff_q_pair_predecessor_product_factor. ff_b_pair_predecessor = ff_q_pair_predecessor_product_factor * S ((S (ff_i_pair_predecessor_product)) * ff_c_pair_predecessor) + (ff_p_pair_predecessor_product))) /\ ((((exists ff_h_pair_predecessor_product_partial. ff_h_pair_predecessor_product_partial + S (ff_r_pair_predecessor_product) = S ((S (ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_partial. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_partial * S ((S (ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product) + (ff_r_pair_predecessor_product))) /\ ((((exists ff_h_pair_predecessor_product_successor. ff_h_pair_predecessor_product_successor + S (ff_s_pair_predecessor_product) = S ((S (S ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product)) /\ exists ff_q_pair_predecessor_product_successor. ff_u_pair_predecessor_product = ff_q_pair_predecessor_product_successor * S ((S (S ff_i_pair_predecessor_product)) * ff_v_pair_predecessor_product) + (ff_s_pair_predecessor_product))) /\ ff_s_pair_predecessor_product = ff_r_pair_predecessor_product * ff_p_pair_predecessor_product)))))))) -> (exists ff_b_pair_successor ff_c_pair_successor. ((forall ff_i_pair_successor_repeat. (exists ff_lt_pair_successor_repeat_bound. ff_lt_pair_successor_repeat_bound + S ff_i_pair_successor_repeat = se) -> (((exists ff_h_pair_successor_repeat_decoded. ff_h_pair_successor_repeat_decoded + S (a) = S ((S (ff_i_pair_successor_repeat)) * ff_c_pair_successor)) /\ exists ff_q_pair_successor_repeat_decoded. ff_b_pair_successor = ff_q_pair_successor_repeat_decoded * S ((S (ff_i_pair_successor_repeat)) * ff_c_pair_successor) + (a)))) /\ (exists ff_u_pair_successor_product ff_v_pair_successor_product. ((((exists ff_h_pair_successor_product_start. ff_h_pair_successor_product_start + S (1) = S ((S (0)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_start. ff_u_pair_successor_product = ff_q_pair_successor_product_start * S ((S (0)) * ff_v_pair_successor_product) + (1))) /\ ((((exists ff_h_pair_successor_product_terminal. ff_h_pair_successor_product_terminal + S (n) = S ((S (se)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_terminal. ff_u_pair_successor_product = ff_q_pair_successor_product_terminal * S ((S (se)) * ff_v_pair_successor_product) + (n))) /\ forall ff_i_pair_successor_product. (exists ff_lt_pair_successor_product_bound. ff_lt_pair_successor_product_bound + S ff_i_pair_successor_product = se) -> exists ff_p_pair_successor_product ff_r_pair_successor_product ff_s_pair_successor_product. ((((exists ff_h_pair_successor_product_factor. ff_h_pair_successor_product_factor + S (ff_p_pair_successor_product) = S ((S (ff_i_pair_successor_product)) * ff_c_pair_successor)) /\ exists ff_q_pair_successor_product_factor. ff_b_pair_successor = ff_q_pair_successor_product_factor * S ((S (ff_i_pair_successor_product)) * ff_c_pair_successor) + (ff_p_pair_successor_product))) /\ ((((exists ff_h_pair_successor_product_partial. ff_h_pair_successor_product_partial + S (ff_r_pair_successor_product) = S ((S (ff_i_pair_successor_product)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_partial. ff_u_pair_successor_product = ff_q_pair_successor_product_partial * S ((S (ff_i_pair_successor_product)) * ff_v_pair_successor_product) + (ff_r_pair_successor_product))) /\ ((((exists ff_h_pair_successor_product_successor. ff_h_pair_successor_product_successor + S (ff_s_pair_successor_product) = S ((S (S ff_i_pair_successor_product)) * ff_v_pair_successor_product)) /\ exists ff_q_pair_successor_product_successor. ff_u_pair_successor_product = ff_q_pair_successor_product_successor * S ((S (S ff_i_pair_successor_product)) * ff_v_pair_successor_product) + (ff_s_pair_successor_product))) /\ ff_s_pair_successor_product = ff_r_pair_successor_product * ff_p_pair_successor_product)))))))) -> n = r * aProof 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–8
02Establish hstepL9–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L9
have hstep : ∃ z. Pow(a,e,z) ∧ n = z · aDefinitions: Pow(a,e,z)Original native command in the exact edition - L10
specialize pow_successor_decompose a - L11
specialize pow_successor_decompose e - L12
specialize pow_successor_decompose se - L13
specialize pow_successor_decompose n - L14
apply pow_successor_decompose - L15
exact hse - L16
exact hsuccessor
03Separate the logical casesL17–18
04Establish hzL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow functional.
Original defined command ledger · 30 lines
- 0001
intro a - 0002
intro e - 0003
intro se - 0004
intro r - 0005
intro n - 0006
intro hse - 0007
intro hprevious - 0008
intro hsuccessor - 0009
have hstep : ∃ z. Pow(a,e,z) ∧ n = z · aExact native replay line
have hstep : exists z. (exists ff_b_pair_decomposed ff_c_pair_decomposed. ((forall ff_i_pair_decomposed_repeat. (exists ff_lt_pair_decomposed_repeat_bound. ff_lt_pair_decomposed_repeat_bound + S ff_i_pair_decomposed_repeat = e) -> (((exists ff_h_pair_decomposed_repeat_decoded. ff_h_pair_decomposed_repeat_decoded + S (a) = S ((S (ff_i_pair_decomposed_repeat)) * ff_c_pair_decomposed)) /\ exists ff_q_pair_decomposed_repeat_decoded. ff_b_pair_decomposed = ff_q_pair_decomposed_repeat_decoded * S ((S (ff_i_pair_decomposed_repeat)) * ff_c_pair_decomposed) + (a)))) /\ (exists ff_u_pair_decomposed_product ff_v_pair_decomposed_product. ((((exists ff_h_pair_decomposed_product_start. ff_h_pair_decomposed_product_start + S (1) = S ((S (0)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_start. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_start * S ((S (0)) * ff_v_pair_decomposed_product) + (1))) /\ ((((exists ff_h_pair_decomposed_product_terminal. ff_h_pair_decomposed_product_terminal + S (z) = S ((S (e)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_terminal. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_terminal * S ((S (e)) * ff_v_pair_decomposed_product) + (z))) /\ forall ff_i_pair_decomposed_product. (exists ff_lt_pair_decomposed_product_bound. ff_lt_pair_decomposed_product_bound + S ff_i_pair_decomposed_product = e) -> exists ff_p_pair_decomposed_product ff_r_pair_decomposed_product ff_s_pair_decomposed_product. ((((exists ff_h_pair_decomposed_product_factor. ff_h_pair_decomposed_product_factor + S (ff_p_pair_decomposed_product) = S ((S (ff_i_pair_decomposed_product)) * ff_c_pair_decomposed)) /\ exists ff_q_pair_decomposed_product_factor. ff_b_pair_decomposed = ff_q_pair_decomposed_product_factor * S ((S (ff_i_pair_decomposed_product)) * ff_c_pair_decomposed) + (ff_p_pair_decomposed_product))) /\ ((((exists ff_h_pair_decomposed_product_partial. ff_h_pair_decomposed_product_partial + S (ff_r_pair_decomposed_product) = S ((S (ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_partial. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_partial * S ((S (ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product) + (ff_r_pair_decomposed_product))) /\ ((((exists ff_h_pair_decomposed_product_successor. ff_h_pair_decomposed_product_successor + S (ff_s_pair_decomposed_product) = S ((S (S ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product)) /\ exists ff_q_pair_decomposed_product_successor. ff_u_pair_decomposed_product = ff_q_pair_decomposed_product_successor * S ((S (S ff_i_pair_decomposed_product)) * ff_v_pair_decomposed_product) + (ff_s_pair_decomposed_product))) /\ ff_s_pair_decomposed_product = ff_r_pair_decomposed_product * ff_p_pair_decomposed_product)))))))) /\ n = z * a - 0010
specialize pow_successor_decompose a - 0011
specialize pow_successor_decompose e - 0012
specialize pow_successor_decompose se - 0013
specialize pow_successor_decompose n - 0014
apply pow_successor_decompose - 0015
exact hse - 0016
exact hsuccessor - 0017
cases hstep - 0018
cases hstep_witness - 0019
have hz : x = r - 0020
specialize pow_functional a - 0021
specialize pow_functional e - 0022
specialize pow_functional x - 0023
specialize pow_functional r - 0024
apply pow_functional - 0025
exact hstep_witness_left - 0026
exact hprevious - 0027
trans x * a - 0028
exact hstep_witness_right - 0029
rewrite hz - 0030
refl