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.
This branch proves the finite determinant/rank/span substrate. It does not claim Smith or Hermite normal form, lattice index equals determinant, determinant multiplicativity, lattice reduction, or geometry-of-numbers theorems.
Exact theorem in conservative defined notation
∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ eb. ∀ ec. ∀ fb. ∀ fc. ∀ r. ∀ w. ∀ q. ∀ rb. ∀ rc. ∀ cb. ∀ cc. ∀ i. ∀ a. ∀ b. ∀ c. ∀ d. IntegerMatrixEntrywiseEqual(ab,ac,bb,bc,eb,ec,fb,fc,r,w) → FiniteMatrixSelector(rb,rc,q,r) → FiniteMatrixSelector(cb,cc,q,w) → Lt(i,q · q) → (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(ab,ac,z · w + n,a))))) → (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(bb,bc,z · w + n,b))))) → (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(eb,ec,z · w + n,c))))) → (∃ x. ∃ y. ∃ z. ∃ n. i = q · x + y ∧ (Lt(y,q) ∧ (BetaAt(rb,rc,x,z) ∧ (BetaAt(cb,cc,y,n) ∧ BetaAt(fb,fc,z · w + n,d))))) → a + d = c + b
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 142 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–28
04Separate the logical casesL29–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hrows - L30
cases hcolumns - L31
cases hap - L32
cases hap_witness - L33
cases hap_witness_witness - L34
cases hap_witness_witness_witness - L35
cases hap_witness_witness_witness_witness - L36
cases hap_witness_witness_witness_witness_right - L37
cases hap_witness_witness_witness_witness_right_right - L38
cases hap_witness_witness_witness_witness_right_right_right
05Establish hselectedrowL39–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix recursive quotient row bound.
- L39
- L40
specialize matrix_recursive_quotient_row_bound (q) - L41
specialize matrix_recursive_quotient_row_bound (i) - L42
specialize matrix_recursive_quotient_row_bound (x) - L43
specialize matrix_recursive_quotient_row_bound (x1) - L44
apply matrix_recursive_quotient_row_bound - L45
exact hap_witness_witness_witness_witness_left - L46
exact hi
06Establish hrowL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank bounded prefix value.
- L47
- L48
specialize matrix_rank_bounded_prefix_value (rb) - L49
specialize matrix_rank_bounded_prefix_value (rc) - L50
specialize matrix_rank_bounded_prefix_value (q) - L51
specialize matrix_rank_bounded_prefix_value (r) - L52
specialize matrix_rank_bounded_prefix_value (x) - L53
specialize matrix_rank_bounded_prefix_value (x2) - L54
apply matrix_rank_bounded_prefix_value - L55
exact hrows_left - L56
exact hselectedrow
07Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hap_witness_witness_witness_witness_right_right_left
08Establish hcolumnL58–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank bounded prefix value.
- L58
- L59
specialize matrix_rank_bounded_prefix_value (cb) - L60
specialize matrix_rank_bounded_prefix_value (cc) - L61
specialize matrix_rank_bounded_prefix_value (q) - L62
specialize matrix_rank_bounded_prefix_value (w) - L63
specialize matrix_rank_bounded_prefix_value (x1) - L64
specialize matrix_rank_bounded_prefix_value (x3) - L65
apply matrix_rank_bounded_prefix_value - L66
exact hcolumns_left - L67
exact hap_witness_witness_witness_witness_right_left
09Use earlier factsL68–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hap_witness_witness_witness_witness_right_right_right_left - L69
specialize hequal (x2 * w + x3) - L70
specialize hequal (a) - L71
specialize hequal (b) - L72
specialize hequal (c) - L73
specialize hequal (d) - L74
apply hequal - L75
specialize matrix_integer_rectangular_index_bound (r) - L76
specialize matrix_integer_rectangular_index_bound (w) - L77
specialize matrix_integer_rectangular_index_bound (x2)
10Use earlier factsL78–87
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L78
specialize matrix_integer_rectangular_index_bound (x3) - L79
apply matrix_integer_rectangular_index_bound - L80
exact hrow - L81
exact hcolumn - L82
exact hap_witness_witness_witness_witness_right_right_right_right - L83
specialize matrix_integer_selected_point_at_source (bb) - L84
specialize matrix_integer_selected_point_at_source (bc) - L85
specialize matrix_integer_selected_point_at_source (w) - L86
specialize matrix_integer_selected_point_at_source (rb) - L87
specialize matrix_integer_selected_point_at_source (rc)
11Use earlier factsL88–97
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
specialize matrix_integer_selected_point_at_source (cb) - L89
specialize matrix_integer_selected_point_at_source (cc) - L90
specialize matrix_integer_selected_point_at_source (q) - L91
specialize matrix_integer_selected_point_at_source (i) - L92
specialize matrix_integer_selected_point_at_source (x) - L93
specialize matrix_integer_selected_point_at_source (x1) - L94
specialize matrix_integer_selected_point_at_source (x2) - L95
specialize matrix_integer_selected_point_at_source (x3) - L96
specialize matrix_integer_selected_point_at_source (b) - L97
apply matrix_integer_selected_point_at_source
12Use earlier factsL98–107
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
exact han - L99
exact hap_witness_witness_witness_witness_left - L100
exact hap_witness_witness_witness_witness_right_left - L101
exact hap_witness_witness_witness_witness_right_right_left - L102
exact hap_witness_witness_witness_witness_right_right_right_left - L103
specialize matrix_integer_selected_point_at_source (eb) - L104
specialize matrix_integer_selected_point_at_source (ec) - L105
specialize matrix_integer_selected_point_at_source (w) - L106
specialize matrix_integer_selected_point_at_source (rb) - L107
specialize matrix_integer_selected_point_at_source (rc)
13Use earlier factsL108–117
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L108
specialize matrix_integer_selected_point_at_source (cb) - L109
specialize matrix_integer_selected_point_at_source (cc) - L110
specialize matrix_integer_selected_point_at_source (q) - L111
specialize matrix_integer_selected_point_at_source (i) - L112
specialize matrix_integer_selected_point_at_source (x) - L113
specialize matrix_integer_selected_point_at_source (x1) - L114
specialize matrix_integer_selected_point_at_source (x2) - L115
specialize matrix_integer_selected_point_at_source (x3) - L116
specialize matrix_integer_selected_point_at_source (c) - L117
apply matrix_integer_selected_point_at_source
14Use earlier factsL118–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L118
exact hbp - L119
exact hap_witness_witness_witness_witness_left - L120
exact hap_witness_witness_witness_witness_right_left - L121
exact hap_witness_witness_witness_witness_right_right_left - L122
exact hap_witness_witness_witness_witness_right_right_right_left - L123
specialize matrix_integer_selected_point_at_source (fb) - L124
specialize matrix_integer_selected_point_at_source (fc) - L125
specialize matrix_integer_selected_point_at_source (w) - L126
specialize matrix_integer_selected_point_at_source (rb) - L127
specialize matrix_integer_selected_point_at_source (rc)
15Use earlier factsL128–137
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L128
specialize matrix_integer_selected_point_at_source (cb) - L129
specialize matrix_integer_selected_point_at_source (cc) - L130
specialize matrix_integer_selected_point_at_source (q) - L131
specialize matrix_integer_selected_point_at_source (i) - L132
specialize matrix_integer_selected_point_at_source (x) - L133
specialize matrix_integer_selected_point_at_source (x1) - L134
specialize matrix_integer_selected_point_at_source (x2) - L135
specialize matrix_integer_selected_point_at_source (x3) - L136
specialize matrix_integer_selected_point_at_source (d) - L137
apply matrix_integer_selected_point_at_source
16Use earlier factsL138–142
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 142 lines
- 0001
intro ab - 0002
intro ac - 0003
intro bb - 0004
intro bc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro r - 0010
intro w - 0011
intro q - 0012
intro rb - 0013
intro rc - 0014
intro cb - 0015
intro cc - 0016
intro i - 0017
intro a - 0018
intro b - 0019
intro c - 0020
intro d - 0021
intro hequal - 0022
intro hrows - 0023
intro hcolumns - 0024
intro hi - 0025
intro hap - 0026
intro han - 0027
intro hbp - 0028
intro hbn - 0029
cases hrows - 0030
cases hcolumns - 0031
cases hap - 0032
cases hap_witness - 0033
cases hap_witness_witness - 0034
cases hap_witness_witness_witness - 0035
cases hap_witness_witness_witness_witness - 0036
cases hap_witness_witness_witness_witness_right - 0037
cases hap_witness_witness_witness_witness_right_right - 0038
cases hap_witness_witness_witness_witness_right_right_right - 0039
have hselectedrow : Lt(x,q) - 0040
specialize matrix_recursive_quotient_row_bound (q) - 0041
specialize matrix_recursive_quotient_row_bound (i) - 0042
specialize matrix_recursive_quotient_row_bound (x) - 0043
specialize matrix_recursive_quotient_row_bound (x1) - 0044
apply matrix_recursive_quotient_row_bound - 0045
exact hap_witness_witness_witness_witness_left - 0046
exact hi - 0047
have hrow : Lt(x2,r) - 0048
specialize matrix_rank_bounded_prefix_value (rb) - 0049
specialize matrix_rank_bounded_prefix_value (rc) - 0050
specialize matrix_rank_bounded_prefix_value (q) - 0051
specialize matrix_rank_bounded_prefix_value (r) - 0052
specialize matrix_rank_bounded_prefix_value (x) - 0053
specialize matrix_rank_bounded_prefix_value (x2) - 0054
apply matrix_rank_bounded_prefix_value - 0055
exact hrows_left - 0056
exact hselectedrow - 0057
exact hap_witness_witness_witness_witness_right_right_left - 0058
have hcolumn : Lt(x3,w) - 0059
specialize matrix_rank_bounded_prefix_value (cb) - 0060
specialize matrix_rank_bounded_prefix_value (cc) - 0061
specialize matrix_rank_bounded_prefix_value (q) - 0062
specialize matrix_rank_bounded_prefix_value (w) - 0063
specialize matrix_rank_bounded_prefix_value (x1) - 0064
specialize matrix_rank_bounded_prefix_value (x3) - 0065
apply matrix_rank_bounded_prefix_value - 0066
exact hcolumns_left - 0067
exact hap_witness_witness_witness_witness_right_left - 0068
exact hap_witness_witness_witness_witness_right_right_right_left - 0069
specialize hequal (x2 * w + x3) - 0070
specialize hequal (a) - 0071
specialize hequal (b) - 0072
specialize hequal (c) - 0073
specialize hequal (d) - 0074
apply hequal - 0075
specialize matrix_integer_rectangular_index_bound (r) - 0076
specialize matrix_integer_rectangular_index_bound (w) - 0077
specialize matrix_integer_rectangular_index_bound (x2) - 0078
specialize matrix_integer_rectangular_index_bound (x3) - 0079
apply matrix_integer_rectangular_index_bound - 0080
exact hrow - 0081
exact hcolumn - 0082
exact hap_witness_witness_witness_witness_right_right_right_right - 0083
specialize matrix_integer_selected_point_at_source (bb) - 0084
specialize matrix_integer_selected_point_at_source (bc) - 0085
specialize matrix_integer_selected_point_at_source (w) - 0086
specialize matrix_integer_selected_point_at_source (rb) - 0087
specialize matrix_integer_selected_point_at_source (rc) - 0088
specialize matrix_integer_selected_point_at_source (cb) - 0089
specialize matrix_integer_selected_point_at_source (cc) - 0090
specialize matrix_integer_selected_point_at_source (q) - 0091
specialize matrix_integer_selected_point_at_source (i) - 0092
specialize matrix_integer_selected_point_at_source (x) - 0093
specialize matrix_integer_selected_point_at_source (x1) - 0094
specialize matrix_integer_selected_point_at_source (x2) - 0095
specialize matrix_integer_selected_point_at_source (x3) - 0096
specialize matrix_integer_selected_point_at_source (b) - 0097
apply matrix_integer_selected_point_at_source - 0098
exact han - 0099
exact hap_witness_witness_witness_witness_left - 0100
exact hap_witness_witness_witness_witness_right_left - 0101
exact hap_witness_witness_witness_witness_right_right_left - 0102
exact hap_witness_witness_witness_witness_right_right_right_left - 0103
specialize matrix_integer_selected_point_at_source (eb) - 0104
specialize matrix_integer_selected_point_at_source (ec) - 0105
specialize matrix_integer_selected_point_at_source (w) - 0106
specialize matrix_integer_selected_point_at_source (rb) - 0107
specialize matrix_integer_selected_point_at_source (rc) - 0108
specialize matrix_integer_selected_point_at_source (cb) - 0109
specialize matrix_integer_selected_point_at_source (cc) - 0110
specialize matrix_integer_selected_point_at_source (q) - 0111
specialize matrix_integer_selected_point_at_source (i) - 0112
specialize matrix_integer_selected_point_at_source (x) - 0113
specialize matrix_integer_selected_point_at_source (x1) - 0114
specialize matrix_integer_selected_point_at_source (x2) - 0115
specialize matrix_integer_selected_point_at_source (x3) - 0116
specialize matrix_integer_selected_point_at_source (c) - 0117
apply matrix_integer_selected_point_at_source - 0118
exact hbp - 0119
exact hap_witness_witness_witness_witness_left - 0120
exact hap_witness_witness_witness_witness_right_left - 0121
exact hap_witness_witness_witness_witness_right_right_left - 0122
exact hap_witness_witness_witness_witness_right_right_right_left - 0123
specialize matrix_integer_selected_point_at_source (fb) - 0124
specialize matrix_integer_selected_point_at_source (fc) - 0125
specialize matrix_integer_selected_point_at_source (w) - 0126
specialize matrix_integer_selected_point_at_source (rb) - 0127
specialize matrix_integer_selected_point_at_source (rc) - 0128
specialize matrix_integer_selected_point_at_source (cb) - 0129
specialize matrix_integer_selected_point_at_source (cc) - 0130
specialize matrix_integer_selected_point_at_source (q) - 0131
specialize matrix_integer_selected_point_at_source (i) - 0132
specialize matrix_integer_selected_point_at_source (x) - 0133
specialize matrix_integer_selected_point_at_source (x1) - 0134
specialize matrix_integer_selected_point_at_source (x2) - 0135
specialize matrix_integer_selected_point_at_source (x3) - 0136
specialize matrix_integer_selected_point_at_source (d) - 0137
apply matrix_integer_selected_point_at_source - 0138
exact hbn - 0139
exact hap_witness_witness_witness_witness_left - 0140
exact hap_witness_witness_witness_witness_right_left - 0141
exact hap_witness_witness_witness_witness_right_right_left - 0142
exact hap_witness_witness_witness_witness_right_right_right_left