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
∀ k. ∀ a. ∀ b. ∀ e. ∀ f. ModEq(k,a,e) → ModEq(k,b,f) → ModEq(k,a · f,b · e)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall k a b e f. (exists ftcn_left_fssq_cross_positive_a ftcn_right_fssq_cross_positive_a. (a) + (k) * ftcn_left_fssq_cross_positive_a = (e) + (k) * ftcn_right_fssq_cross_positive_a) -> (exists ftcn_left_fssq_cross_positive_b ftcn_right_fssq_cross_positive_b. (b) + (k) * ftcn_left_fssq_cross_positive_b = (f) + (k) * ftcn_right_fssq_cross_positive_b) -> (exists ftcn_left_fssq_cross_positive_result ftcn_right_fssq_cross_positive_result. (a * f) + (k) * ftcn_left_fssq_cross_positive_result = (b * e) + (k) * ftcn_right_fssq_cross_positive_result)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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.
01Fix variables and assumptionsL1–7
02Establish hfirstL8–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq mul right.
- L8
have hfirst : ModEq(k,a · f,e · f)Definitions: ModEq(k,a · f,e · f)Original native command in the exact edition - L9
specialize mod_eq_mul_right k - L10
specialize mod_eq_mul_right a - L11
specialize mod_eq_mul_right e - L12
specialize mod_eq_mul_right f - L13
apply mod_eq_mul_right - L14
exact ha
03Establish hsecondL15–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq mul right.
- L15
have hsecond : ModEq(k,b · e,f · e)Definitions: ModEq(k,b · e,f · e)Original native command in the exact edition - L16
specialize mod_eq_mul_right k - L17
specialize mod_eq_mul_right b - L18
specialize mod_eq_mul_right f - L19
specialize mod_eq_mul_right e - L20
apply mod_eq_mul_right - L21
exact hb
04Establish hswapL22–24
05Establish hreverseL25–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq symm.
- L25
have hreverse : ModEq(k,e · f,b · e)Definitions: ModEq(k,e · f,b · e)Original native command in the exact edition - L26
specialize mod_eq_symm k - L27
specialize mod_eq_symm (b * e) - L28
specialize mod_eq_symm (e * f) - L29
apply mod_eq_symm - L30
exact hsecond - L31
specialize mod_eq_trans k - L32
specialize mod_eq_trans (a * f) - L33
specialize mod_eq_trans (e * f) - L34
specialize mod_eq_trans (b * e)
Original defined command ledger · 37 lines
- 0001
intro k - 0002
intro a - 0003
intro b - 0004
intro e - 0005
intro f - 0006
intro ha - 0007
intro hb - 0008
have hfirst : ModEq(k,a · f,e · f)Exact native replay line
have hfirst : exists ftcn_left_fssq_cross_positive_first ftcn_right_fssq_cross_positive_first. (a * f) + (k) * ftcn_left_fssq_cross_positive_first = (e * f) + (k) * ftcn_right_fssq_cross_positive_first - 0009
specialize mod_eq_mul_right k - 0010
specialize mod_eq_mul_right a - 0011
specialize mod_eq_mul_right e - 0012
specialize mod_eq_mul_right f - 0013
apply mod_eq_mul_right - 0014
exact ha - 0015
have hsecond : ModEq(k,b · e,f · e)Exact native replay line
have hsecond : exists ftcn_left_fssq_cross_positive_second ftcn_right_fssq_cross_positive_second. (b * e) + (k) * ftcn_left_fssq_cross_positive_second = (f * e) + (k) * ftcn_right_fssq_cross_positive_second - 0016
specialize mod_eq_mul_right k - 0017
specialize mod_eq_mul_right b - 0018
specialize mod_eq_mul_right f - 0019
specialize mod_eq_mul_right e - 0020
apply mod_eq_mul_right - 0021
exact hb - 0022
have hswap : f * e = e * f - 0023
apply mul_comm - 0024
rewrite hswap at hsecond - 0025
have hreverse : ModEq(k,e · f,b · e)Exact native replay line
have hreverse : exists ftcn_left_fssq_cross_positive_reverse ftcn_right_fssq_cross_positive_reverse. (e * f) + (k) * ftcn_left_fssq_cross_positive_reverse = (b * e) + (k) * ftcn_right_fssq_cross_positive_reverse - 0026
specialize mod_eq_symm k - 0027
specialize mod_eq_symm (b * e) - 0028
specialize mod_eq_symm (e * f) - 0029
apply mod_eq_symm - 0030
exact hsecond - 0031
specialize mod_eq_trans k - 0032
specialize mod_eq_trans (a * f) - 0033
specialize mod_eq_trans (e * f) - 0034
specialize mod_eq_trans (b * e) - 0035
apply mod_eq_trans - 0036
exact hfirst - 0037
exact hreverse