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. ∀ c. Lt(a,b) → ¬c = 0 → Lt(a · c,b · c)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
3 occurrences
Exact expanded native-PA statement
forall a b c. (exists bcf_lt_gap_mlmrn_source. bcf_lt_gap_mlmrn_source + S (a) = b) -> ~(c = 0) -> (exists bcf_lt_gap_mlmrn_result. bcf_lt_gap_mlmrn_result + S (a * c) = b * c)Proof 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 (4)
01Fix variables and assumptionsL1–5
02Establish hrawL6–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul lt mul succ left nonzero.
- L6
have hraw : Lt(c · a,c · S a)Definitions: Lt(c · a,c · S a)Original native command in the exact edition - L7
specialize mul_lt_mul_succ_left_nonzero c - L8
specialize mul_lt_mul_succ_left_nonzero a - L9
apply mul_lt_mul_succ_left_nonzero - L10
exact hc
03Establish hleft_commL11–14
04Establish hright_commL15–20
05Establish hstepL21–22
Establish this local claim before using it. It is not an additional assumption.
- L21
have hstep : Lt(a · c,S a · c)Definitions: Lt(a · c,S a · c)Original native command in the exact edition - L22
exact hraw
06Establish htailL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul right.
- L23
have htail : Le(S a · c,b · c)Definitions: Le(S a · c,b · c)Original native command in the exact edition - L24
specialize mul_le_mul_right (S a) - L25
specialize mul_le_mul_right b - L26
specialize mul_le_mul_right c - L27
apply mul_le_mul_right - L28
exact hab - L29
specialize lt_of_lt_of_le (a * c) - L30
specialize lt_of_lt_of_le (S a * c) - L31
specialize lt_of_lt_of_le (b * c) - L32
apply lt_of_lt_of_le
Original defined command ledger · 34 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro hab - 0005
intro hc - 0006
have hraw : Lt(c · a,c · S a)Exact native replay line
have hraw : exists bcf_lt_gap_mlmrn_raw_step. bcf_lt_gap_mlmrn_raw_step + S (c * a) = c * S a - 0007
specialize mul_lt_mul_succ_left_nonzero c - 0008
specialize mul_lt_mul_succ_left_nonzero a - 0009
apply mul_lt_mul_succ_left_nonzero - 0010
exact hc - 0011
have hleft_comm : c * a = a * c - 0012
specialize mul_comm c - 0013
specialize mul_comm a - 0014
exact mul_comm - 0015
have hright_comm : c * S a = S a * c - 0016
specialize mul_comm c - 0017
specialize mul_comm (S a) - 0018
exact mul_comm - 0019
rewrite hleft_comm at hraw - 0020
rewrite hright_comm at hraw - 0021
have hstep : Lt(a · c,S a · c)Exact native replay line
have hstep : exists bcf_lt_gap_mlmrn_step. bcf_lt_gap_mlmrn_step + S (a * c) = S a * c - 0022
exact hraw - 0023
have htail : Le(S a · c,b · c)Exact native replay line
have htail : exists bcf_le_gap_mlmrn_tail. bcf_le_gap_mlmrn_tail + (S a * c) = b * c - 0024
specialize mul_le_mul_right (S a) - 0025
specialize mul_le_mul_right b - 0026
specialize mul_le_mul_right c - 0027
apply mul_le_mul_right - 0028
exact hab - 0029
specialize lt_of_lt_of_le (a * c) - 0030
specialize lt_of_lt_of_le (S a * c) - 0031
specialize lt_of_lt_of_le (b * c) - 0032
apply lt_of_lt_of_le - 0033
exact hstep - 0034
exact htail