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. ∀ o. ∀ e. ∀ n. o = 1 → e = S o → Pow(a,e,n) → n = a · 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
1 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall a o e n. o = 1 -> e = S o -> (exists ff_b_two_carrier ff_c_two_carrier. ((forall ff_i_two_carrier_repeat. (exists ff_lt_two_carrier_repeat_bound. ff_lt_two_carrier_repeat_bound + S ff_i_two_carrier_repeat = e) -> (((exists ff_h_two_carrier_repeat_decoded. ff_h_two_carrier_repeat_decoded + S (a) = S ((S (ff_i_two_carrier_repeat)) * ff_c_two_carrier)) /\ exists ff_q_two_carrier_repeat_decoded. ff_b_two_carrier = ff_q_two_carrier_repeat_decoded * S ((S (ff_i_two_carrier_repeat)) * ff_c_two_carrier) + (a)))) /\ (exists ff_u_two_carrier_product ff_v_two_carrier_product. ((((exists ff_h_two_carrier_product_start. ff_h_two_carrier_product_start + S (1) = S ((S (0)) * ff_v_two_carrier_product)) /\ exists ff_q_two_carrier_product_start. ff_u_two_carrier_product = ff_q_two_carrier_product_start * S ((S (0)) * ff_v_two_carrier_product) + (1))) /\ ((((exists ff_h_two_carrier_product_terminal. ff_h_two_carrier_product_terminal + S (n) = S ((S (e)) * ff_v_two_carrier_product)) /\ exists ff_q_two_carrier_product_terminal. ff_u_two_carrier_product = ff_q_two_carrier_product_terminal * S ((S (e)) * ff_v_two_carrier_product) + (n))) /\ forall ff_i_two_carrier_product. (exists ff_lt_two_carrier_product_bound. ff_lt_two_carrier_product_bound + S ff_i_two_carrier_product = e) -> exists ff_p_two_carrier_product ff_r_two_carrier_product ff_s_two_carrier_product. ((((exists ff_h_two_carrier_product_factor. ff_h_two_carrier_product_factor + S (ff_p_two_carrier_product) = S ((S (ff_i_two_carrier_product)) * ff_c_two_carrier)) /\ exists ff_q_two_carrier_product_factor. ff_b_two_carrier = ff_q_two_carrier_product_factor * S ((S (ff_i_two_carrier_product)) * ff_c_two_carrier) + (ff_p_two_carrier_product))) /\ ((((exists ff_h_two_carrier_product_partial. ff_h_two_carrier_product_partial + S (ff_r_two_carrier_product) = S ((S (ff_i_two_carrier_product)) * ff_v_two_carrier_product)) /\ exists ff_q_two_carrier_product_partial. ff_u_two_carrier_product = ff_q_two_carrier_product_partial * S ((S (ff_i_two_carrier_product)) * ff_v_two_carrier_product) + (ff_r_two_carrier_product))) /\ ((((exists ff_h_two_carrier_product_successor. ff_h_two_carrier_product_successor + S (ff_s_two_carrier_product) = S ((S (S ff_i_two_carrier_product)) * ff_v_two_carrier_product)) /\ exists ff_q_two_carrier_product_successor. ff_u_two_carrier_product = ff_q_two_carrier_product_successor * S ((S (S ff_i_two_carrier_product)) * ff_v_two_carrier_product) + (ff_s_two_carrier_product))) /\ ff_s_two_carrier_product = ff_r_two_carrier_product * ff_p_two_carrier_product)))))))) -> n = a * 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–7
02Establish hstepL8–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L8
have hstep : ∃ r. Pow(a,o,r) ∧ n = r · aDefinitions: Pow(a,o,r)Original native command in the exact edition - L9
specialize pow_successor_decompose a - L10
specialize pow_successor_decompose o - L11
specialize pow_successor_decompose e - L12
specialize pow_successor_decompose n - L13
apply pow_successor_decompose - L14
exact he - L15
exact hpow
03Separate the logical casesL16–17
04Establish hrL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow one.
05Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
refl
Original defined command ledger · 28 lines
- 0001
intro a - 0002
intro o - 0003
intro e - 0004
intro n - 0005
intro ho - 0006
intro he - 0007
intro hpow - 0008
have hstep : ∃ r. Pow(a,o,r) ∧ n = r · aExact native replay line
have hstep : exists r. (exists ff_b_two_predecessor ff_c_two_predecessor. ((forall ff_i_two_predecessor_repeat. (exists ff_lt_two_predecessor_repeat_bound. ff_lt_two_predecessor_repeat_bound + S ff_i_two_predecessor_repeat = o) -> (((exists ff_h_two_predecessor_repeat_decoded. ff_h_two_predecessor_repeat_decoded + S (a) = S ((S (ff_i_two_predecessor_repeat)) * ff_c_two_predecessor)) /\ exists ff_q_two_predecessor_repeat_decoded. ff_b_two_predecessor = ff_q_two_predecessor_repeat_decoded * S ((S (ff_i_two_predecessor_repeat)) * ff_c_two_predecessor) + (a)))) /\ (exists ff_u_two_predecessor_product ff_v_two_predecessor_product. ((((exists ff_h_two_predecessor_product_start. ff_h_two_predecessor_product_start + S (1) = S ((S (0)) * ff_v_two_predecessor_product)) /\ exists ff_q_two_predecessor_product_start. ff_u_two_predecessor_product = ff_q_two_predecessor_product_start * S ((S (0)) * ff_v_two_predecessor_product) + (1))) /\ ((((exists ff_h_two_predecessor_product_terminal. ff_h_two_predecessor_product_terminal + S (r) = S ((S (o)) * ff_v_two_predecessor_product)) /\ exists ff_q_two_predecessor_product_terminal. ff_u_two_predecessor_product = ff_q_two_predecessor_product_terminal * S ((S (o)) * ff_v_two_predecessor_product) + (r))) /\ forall ff_i_two_predecessor_product. (exists ff_lt_two_predecessor_product_bound. ff_lt_two_predecessor_product_bound + S ff_i_two_predecessor_product = o) -> exists ff_p_two_predecessor_product ff_r_two_predecessor_product ff_s_two_predecessor_product. ((((exists ff_h_two_predecessor_product_factor. ff_h_two_predecessor_product_factor + S (ff_p_two_predecessor_product) = S ((S (ff_i_two_predecessor_product)) * ff_c_two_predecessor)) /\ exists ff_q_two_predecessor_product_factor. ff_b_two_predecessor = ff_q_two_predecessor_product_factor * S ((S (ff_i_two_predecessor_product)) * ff_c_two_predecessor) + (ff_p_two_predecessor_product))) /\ ((((exists ff_h_two_predecessor_product_partial. ff_h_two_predecessor_product_partial + S (ff_r_two_predecessor_product) = S ((S (ff_i_two_predecessor_product)) * ff_v_two_predecessor_product)) /\ exists ff_q_two_predecessor_product_partial. ff_u_two_predecessor_product = ff_q_two_predecessor_product_partial * S ((S (ff_i_two_predecessor_product)) * ff_v_two_predecessor_product) + (ff_r_two_predecessor_product))) /\ ((((exists ff_h_two_predecessor_product_successor. ff_h_two_predecessor_product_successor + S (ff_s_two_predecessor_product) = S ((S (S ff_i_two_predecessor_product)) * ff_v_two_predecessor_product)) /\ exists ff_q_two_predecessor_product_successor. ff_u_two_predecessor_product = ff_q_two_predecessor_product_successor * S ((S (S ff_i_two_predecessor_product)) * ff_v_two_predecessor_product) + (ff_s_two_predecessor_product))) /\ ff_s_two_predecessor_product = ff_r_two_predecessor_product * ff_p_two_predecessor_product)))))))) /\ n = r * a - 0009
specialize pow_successor_decompose a - 0010
specialize pow_successor_decompose o - 0011
specialize pow_successor_decompose e - 0012
specialize pow_successor_decompose n - 0013
apply pow_successor_decompose - 0014
exact he - 0015
exact hpow - 0016
cases hstep - 0017
cases hstep_witness - 0018
have hr : x = a - 0019
specialize pow_one a - 0020
specialize pow_one o - 0021
specialize pow_one x - 0022
apply pow_one - 0023
exact ho - 0024
exact hstep_witness_left - 0025
trans x * a - 0026
exact hstep_witness_right - 0027
rewrite hr - 0028
refl