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. ∀ b. Le(a,b) → a = b ∨ Lt(a,b)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
2 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall a b. (exists k. k + a = b) -> a = b \/ exists k. k + S a = bProof neighborhood
Direct theorem prerequisites
Direct theorem dependents
BT002U gcd_exists_up_to BT0034 gcd_balanced_bezout_exists_up_to BT003D factor_property_succ BT003J proper_factor_lt BT0059 beta_exclusive_accumulated_product_step BT005A beta_exclusive_recode_congruence_step BT005E beta_prefix_product_trace_exists BT005K beta_product_succ_append BT0069 beta_factor_divides_product BT007V beta_repeat_succ_extend BT0085 beta_range_succ_extend BT0089 beta_prefix_sum_trace_exists BT0097 lt_three_cases BT00AA finite_lt_succ_eq_or_lt BT00JD eisenstein_initial_segment_bit_count_functional BT00PS bounded_prime_interval_search BT00Q5 bounded_power_valuation_search BT00RA floor_sqrt_total BT00SG division_remainder_successor_cases BT00VV primorial_le_four_pow_bounded BT00VY no_bertrand_central_prime_divisor_le BT00W2 no_bertrand_central_prime_divisor_ranges BT00WW bertrand_hj_base_window_thirty_two_from_total BT00XG division_double_quotient_bit BT010D floor_sqrt_three_mul_le_double BT011A prime_le_twenty_two_cases BT0127 bertrand_strictDefinition-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–3
02Separate the logical casesL4–4
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L4
cases h
03Use earlier factsL5–5
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L5
specialize zero_or_succ x
04Separate the logical casesL6–7
05Calculate and transport equalitiesL8–8
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L8
rewrite zero_or_succ_left at h_witness
06Use earlier factsL9–9
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L9
specialize zero_add a
07Calculate and transport equalitiesL10–10
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L10
rewrite zero_add at h_witness
08Use earlier factsL11–11
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
exact h_witness
09Separate the logical casesL12–13
10Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x1
11Calculate and transport equalitiesL15–16
12Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply PA4
13Calculate and transport equalitiesL18–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L18
symm
14Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply add_succ_left
15Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
rewrite <- zero_or_succ_right_witness
16Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact h_witness
Original defined command ledger · 21 lines
- 0001
intro a - 0002
intro b - 0003
intro h - 0004
cases h - 0005
specialize zero_or_succ x - 0006
cases zero_or_succ - 0007
left - 0008
rewrite zero_or_succ_left at h_witness - 0009
specialize zero_add a - 0010
rewrite zero_add at h_witness - 0011
exact h_witness - 0012
cases zero_or_succ_right - 0013
right - 0014
exists x1 - 0015
trans S x1 + a - 0016
trans S (x1 + a) - 0017
apply PA4 - 0018
symm - 0019
apply add_succ_left - 0020
rewrite <- zero_or_succ_right_witness - 0021
exact h_witness