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
∀ ap. ∀ an. ∀ cp. ∀ cn. ∀ bp. ∀ bn. ∀ dp. ∀ dn. ∀ i. ∀ p. ∀ n. ∀ P. ∀ N. ap + bn = bp + an → cp + dn = dp + cn → SignedAlternatingCofactorTerm(ap,an,cp,cn,i,p,n) → SignedAlternatingCofactorTerm(bp,bn,dp,dn,i,P,N) → p + N = P + n
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 81 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Separate the logical casesL18–20
04Establish hotherL21–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed alternating cofactor term even.
- L21
have hother : P = ((bp) * (dp) + (bn) * (dn)) /\ N = ((bp) * (dn) + (bn) * (dp)) - L22
specialize signed_alternating_cofactor_term_even (bp) - L23
specialize signed_alternating_cofactor_term_even (bn) - L24
specialize signed_alternating_cofactor_term_even (dp) - L25
specialize signed_alternating_cofactor_term_even (dn) - L26
specialize signed_alternating_cofactor_term_even (i) - L27
specialize signed_alternating_cofactor_term_even (P) - L28
specialize signed_alternating_cofactor_term_even (N) - L29
apply signed_alternating_cofactor_term_even - L30
exact hsecond
05Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hfirst_left_left
06Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
cases hother
07Calculate and transport equalitiesL33–36
08Use earlier factsL37–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
specialize matrix_integer_pair_product_balance (ap) - L38
specialize matrix_integer_pair_product_balance (an) - L39
specialize matrix_integer_pair_product_balance (bp) - L40
specialize matrix_integer_pair_product_balance (bn) - L41
specialize matrix_integer_pair_product_balance (cp) - L42
specialize matrix_integer_pair_product_balance (cn) - L43
specialize matrix_integer_pair_product_balance (dp) - L44
specialize matrix_integer_pair_product_balance (dn) - L45
apply matrix_integer_pair_product_balance - L46
exact hrow
09Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hcofactor
10Separate the logical casesL48–49
11Establish hotherL50–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed alternating cofactor term odd.
- L50
have hother : P = ((bp) * (dn) + (bn) * (dp)) /\ N = ((bp) * (dp) + (bn) * (dn)) - L51
specialize signed_alternating_cofactor_term_odd (bp) - L52
specialize signed_alternating_cofactor_term_odd (bn) - L53
specialize signed_alternating_cofactor_term_odd (dp) - L54
specialize signed_alternating_cofactor_term_odd (dn) - L55
specialize signed_alternating_cofactor_term_odd (i) - L56
specialize signed_alternating_cofactor_term_odd (P) - L57
specialize signed_alternating_cofactor_term_odd (N) - L58
apply signed_alternating_cofactor_term_odd - L59
exact hsecond
12Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact hfirst_right_left
13Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
cases hother
14Calculate and transport equalitiesL62–65
15Use earlier factsL66–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
specialize matrix_integer_pair_negation_balance ((ap) * (cp) + (an) * (cn)) - L67
specialize matrix_integer_pair_negation_balance ((ap) * (cn) + (an) * (cp)) - L68
specialize matrix_integer_pair_negation_balance ((bp) * (dp) + (bn) * (dn)) - L69
specialize matrix_integer_pair_negation_balance ((bp) * (dn) + (bn) * (dp)) - L70
apply matrix_integer_pair_negation_balance - L71
specialize matrix_integer_pair_product_balance (ap) - L72
specialize matrix_integer_pair_product_balance (an) - L73
specialize matrix_integer_pair_product_balance (bp) - L74
specialize matrix_integer_pair_product_balance (bn) - L75
specialize matrix_integer_pair_product_balance (cp)
16Use earlier factsL76–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 81 lines
- 0001
intro ap - 0002
intro an - 0003
intro cp - 0004
intro cn - 0005
intro bp - 0006
intro bn - 0007
intro dp - 0008
intro dn - 0009
intro i - 0010
intro p - 0011
intro n - 0012
intro P - 0013
intro N - 0014
intro hrow - 0015
intro hcofactor - 0016
intro hfirst - 0017
intro hsecond - 0018
cases hfirst - 0019
cases hfirst_left - 0020
cases hfirst_left_right - 0021
have hother : P = ((bp) * (dp) + (bn) * (dn)) /\ N = ((bp) * (dn) + (bn) * (dp)) - 0022
specialize signed_alternating_cofactor_term_even (bp) - 0023
specialize signed_alternating_cofactor_term_even (bn) - 0024
specialize signed_alternating_cofactor_term_even (dp) - 0025
specialize signed_alternating_cofactor_term_even (dn) - 0026
specialize signed_alternating_cofactor_term_even (i) - 0027
specialize signed_alternating_cofactor_term_even (P) - 0028
specialize signed_alternating_cofactor_term_even (N) - 0029
apply signed_alternating_cofactor_term_even - 0030
exact hsecond - 0031
exact hfirst_left_left - 0032
cases hother - 0033
rewrite hfirst_left_right_left - 0034
rewrite hfirst_left_right_right - 0035
rewrite hother_left - 0036
rewrite hother_right - 0037
specialize matrix_integer_pair_product_balance (ap) - 0038
specialize matrix_integer_pair_product_balance (an) - 0039
specialize matrix_integer_pair_product_balance (bp) - 0040
specialize matrix_integer_pair_product_balance (bn) - 0041
specialize matrix_integer_pair_product_balance (cp) - 0042
specialize matrix_integer_pair_product_balance (cn) - 0043
specialize matrix_integer_pair_product_balance (dp) - 0044
specialize matrix_integer_pair_product_balance (dn) - 0045
apply matrix_integer_pair_product_balance - 0046
exact hrow - 0047
exact hcofactor - 0048
cases hfirst_right - 0049
cases hfirst_right_right - 0050
have hother : P = ((bp) * (dn) + (bn) * (dp)) /\ N = ((bp) * (dp) + (bn) * (dn)) - 0051
specialize signed_alternating_cofactor_term_odd (bp) - 0052
specialize signed_alternating_cofactor_term_odd (bn) - 0053
specialize signed_alternating_cofactor_term_odd (dp) - 0054
specialize signed_alternating_cofactor_term_odd (dn) - 0055
specialize signed_alternating_cofactor_term_odd (i) - 0056
specialize signed_alternating_cofactor_term_odd (P) - 0057
specialize signed_alternating_cofactor_term_odd (N) - 0058
apply signed_alternating_cofactor_term_odd - 0059
exact hsecond - 0060
exact hfirst_right_left - 0061
cases hother - 0062
rewrite hfirst_right_right_left - 0063
rewrite hfirst_right_right_right - 0064
rewrite hother_left - 0065
rewrite hother_right - 0066
specialize matrix_integer_pair_negation_balance ((ap) * (cp) + (an) * (cn)) - 0067
specialize matrix_integer_pair_negation_balance ((ap) * (cn) + (an) * (cp)) - 0068
specialize matrix_integer_pair_negation_balance ((bp) * (dp) + (bn) * (dn)) - 0069
specialize matrix_integer_pair_negation_balance ((bp) * (dn) + (bn) * (dp)) - 0070
apply matrix_integer_pair_negation_balance - 0071
specialize matrix_integer_pair_product_balance (ap) - 0072
specialize matrix_integer_pair_product_balance (an) - 0073
specialize matrix_integer_pair_product_balance (bp) - 0074
specialize matrix_integer_pair_product_balance (bn) - 0075
specialize matrix_integer_pair_product_balance (cp) - 0076
specialize matrix_integer_pair_product_balance (cn) - 0077
specialize matrix_integer_pair_product_balance (dp) - 0078
specialize matrix_integer_pair_product_balance (dn) - 0079
apply matrix_integer_pair_product_balance - 0080
exact hrow - 0081
exact hcofactor