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
∀ s. Lt(31,s) → ∃ x. ∃ y. Lt(31,x) ∧ Le(x,37) ∧ s = x + 6 · yEvery 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
3 occurrences
Exact expanded native-PA statement
forall s. (exists bqb_le_gap_hjas_decomposition_source. bqb_le_gap_hjas_decomposition_source + (32) = (s)) -> exists b k. (((exists bqb_le_gap_hjas_decomposition_base_lower. bqb_le_gap_hjas_decomposition_base_lower + (32) = (b)) /\ (exists bqb_le_gap_hjas_decomposition_base_upper. bqb_le_gap_hjas_decomposition_base_upper + (b) = (37))) /\ s = b + 6 * k)Proof neighborhood
Direct theorem prerequisites
BT001P division_remainder_exists BT000C succ_ne_zero BT0017 le_of_succ_le_succ BT0013 le_add_right BT0015 add_le_add_left BT0003 add_assoc BT0002 add_commDirect 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 (7)
01Fix variables and assumptionsL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
cases hsource
03Establish hdivisionL4–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
- L4
have hdivision : ∃ q. ∃ r. DivRem(x,6,q,r)Definitions: DivRem(x,6,q,r)Original native command in the exact edition - L5
specialize division_remainder_exists 6 - L6
specialize division_remainder_exists x - L7
apply division_remainder_exists - L8
intro hzero - L9
specialize succ_ne_zero 5 - L10
apply succ_ne_zero - L11
exact hzero
04Separate the logical casesL12–14
05Construct an explicit witnessL15–16
06Separate the logical casesL17–18
07Use earlier factsL19–21
08Establish hremainderL22–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
09Establish hliftedL27–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add left.
- L27
have hlifted : Le(32 + x2,32 + 5)Definitions: Le(32 + x2,32 + 5)Original native command in the exact edition - L28
specialize add_le_add_left x2 - L29
specialize add_le_add_left 5 - L30
specialize add_le_add_left 32 - L31
apply add_le_add_left - L32
exact hremainder
10Establish hthirty_sevenL33–42
11Calculate and transport equalitiesL43–44
12Use earlier factsL45–48
13Calculate and transport equalitiesL49–51
Original defined command ledger · 57 lines
- 0001
intro s - 0002
intro hsource - 0003
cases hsource - 0004
have hdivision : ∃ q. ∃ r. DivRem(x,6,q,r)Exact native replay line
have hdivision : exists q r. x = 6 * q + r /\ exists h. h + S r = 6 - 0005
specialize division_remainder_exists 6 - 0006
specialize division_remainder_exists x - 0007
apply division_remainder_exists - 0008
intro hzero - 0009
specialize succ_ne_zero 5 - 0010
apply succ_ne_zero - 0011
exact hzero - 0012
cases hdivision - 0013
cases hdivision_witness - 0014
cases hdivision_witness_witness - 0015
exists 32 + x2 - 0016
exists x1 - 0017
split - 0018
split - 0019
specialize le_add_right 32 - 0020
specialize le_add_right x2 - 0021
exact le_add_right - 0022
have hremainder : Le(x2,5)Exact native replay line
have hremainder : exists bqb_le_gap_hjas_decomposition_remainder_le. bqb_le_gap_hjas_decomposition_remainder_le + (x2) = (5) - 0023
specialize le_of_succ_le_succ x2 - 0024
specialize le_of_succ_le_succ 5 - 0025
apply le_of_succ_le_succ - 0026
exact hdivision_witness_witness_right - 0027
have hlifted : Le(32 + x2,32 + 5)Exact native replay line
have hlifted : exists bqb_le_gap_hjas_decomposition_lifted_upper. bqb_le_gap_hjas_decomposition_lifted_upper + (32 + x2) = (32 + 5) - 0028
specialize add_le_add_left x2 - 0029
specialize add_le_add_left 5 - 0030
specialize add_le_add_left 32 - 0031
apply add_le_add_left - 0032
exact hremainder - 0033
have hthirty_seven : 32 + 5 = 37 - 0034
norm_num - 0035
rewrite hthirty_seven at hlifted - 0036
exact hlifted - 0037
trans x + 32 - 0038
symm - 0039
exact hsource_witness - 0040
trans (6 * x1 + x2) + 32 - 0041
congr - 0042
exact hdivision_witness_witness_left - 0043
refl - 0044
trans 6 * x1 + (x2 + 32) - 0045
specialize add_assoc (6 * x1) - 0046
specialize add_assoc x2 - 0047
specialize add_assoc 32 - 0048
apply add_assoc - 0049
trans 6 * x1 + (32 + x2) - 0050
congr - 0051
refl - 0052
specialize add_comm x2 - 0053
specialize add_comm 32 - 0054
apply add_comm - 0055
specialize add_comm (6 * x1) - 0056
specialize add_comm (32 + x2) - 0057
apply add_comm