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.
Exact expanded first-order arithmetic statement
forall b c u v l. (forall mdr_i_injective_transport mdr_a_injective_transport. (exists mdr_gap_injective_transportb. mdr_gap_injective_transportb + S (mdr_i_injective_transport) = (l)) -> (((exists ff_h_mdr_injective_transporto. ff_h_mdr_injective_transporto + S (mdr_a_injective_transport) = S ((S (mdr_i_injective_transport)) * c)) /\ exists ff_q_mdr_injective_transporto. b = ff_q_mdr_injective_transporto * S ((S (mdr_i_injective_transport)) * c) + (mdr_a_injective_transport))) -> (((exists ff_h_mdr_injective_transportn. ff_h_mdr_injective_transportn + S (mdr_a_injective_transport) = S ((S (mdr_i_injective_transport)) * v)) /\ exists ff_q_mdr_injective_transportn. u = ff_q_mdr_injective_transportn * S ((S (mdr_i_injective_transport)) * v) + (mdr_a_injective_transport)))) -> (forall mdr_i_injective_source mdr_j_injective_source mdr_a_injective_source. (exists mdr_gap_injective_sourcei. mdr_gap_injective_sourcei + S (mdr_i_injective_source) = (l)) -> (exists mdr_gap_injective_sourcej. mdr_gap_injective_sourcej + S (mdr_j_injective_source) = (l)) -> (((exists ff_h_mdr_injective_sourcefirst. ff_h_mdr_injective_sourcefirst + S (mdr_a_injective_source) = S ((S (mdr_i_injective_source)) * c)) /\ exists ff_q_mdr_injective_sourcefirst. b = ff_q_mdr_injective_sourcefirst * S ((S (mdr_i_injective_source)) * c) + (mdr_a_injective_source))) -> (((exists ff_h_mdr_injective_sourcesecond. ff_h_mdr_injective_sourcesecond + S (mdr_a_injective_source) = S ((S (mdr_j_injective_source)) * c)) /\ exists ff_q_mdr_injective_sourcesecond. b = ff_q_mdr_injective_sourcesecond * S ((S (mdr_j_injective_source)) * c) + (mdr_a_injective_source))) -> mdr_i_injective_source = mdr_j_injective_source) -> (forall mdr_i_injective_target mdr_j_injective_target mdr_a_injective_target. (exists mdr_gap_injective_targeti. mdr_gap_injective_targeti + S (mdr_i_injective_target) = (l)) -> (exists mdr_gap_injective_targetj. mdr_gap_injective_targetj + S (mdr_j_injective_target) = (l)) -> (((exists ff_h_mdr_injective_targetfirst. ff_h_mdr_injective_targetfirst + S (mdr_a_injective_target) = S ((S (mdr_i_injective_target)) * v)) /\ exists ff_q_mdr_injective_targetfirst. u = ff_q_mdr_injective_targetfirst * S ((S (mdr_i_injective_target)) * v) + (mdr_a_injective_target))) -> (((exists ff_h_mdr_injective_targetsecond. ff_h_mdr_injective_targetsecond + S (mdr_a_injective_target) = S ((S (mdr_j_injective_target)) * v)) /\ exists ff_q_mdr_injective_targetsecond. u = ff_q_mdr_injective_targetsecond * S ((S (mdr_j_injective_target)) * v) + (mdr_a_injective_target))) -> mdr_i_injective_target = mdr_j_injective_target)Constructive proof overview
Generated structural guide
A recoded finite selector remains genuinely injective; code equality is not assumed.
The unchanged tactic script uses 1 declared prerequisite and contains 38 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 (1)
01Fix variables and assumptionsL1–7
02Establish hreverseL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank prefix equality symmetric.
- L8
- L9
specialize matrix_rank_prefix_equality_symmetric (b) - L10
specialize matrix_rank_prefix_equality_symmetric (c) - L11
specialize matrix_rank_prefix_equality_symmetric (u) - L12
specialize matrix_rank_prefix_equality_symmetric (v) - L13
specialize matrix_rank_prefix_equality_symmetric (l) - L14
apply matrix_rank_prefix_equality_symmetric - L15
exact hprefix - L16
intro i - L17
intro j
03Fix variables and assumptionsL18–22
04Use earlier factsL23–32
Original exact command ledger · 38 lines
- 0001
intro b - 0002
intro c - 0003
intro u - 0004
intro v - 0005
intro l - 0006
intro hprefix - 0007
intro hinjective - 0008
have hreverse : forall mdr_i_reverse_injective mdr_a_reverse_injective. (exists mdr_gap_reverse_injectiveb. mdr_gap_reverse_injectiveb + S (mdr_i_reverse_injective) = (l)) -> (((exists ff_h_mdr_reverse_injectiveo. ff_h_mdr_reverse_injectiveo + S (mdr_a_reverse_injective) = S ((S (mdr_i_reverse_injective)) * v)) /\ exists ff_q_mdr_reverse_injectiveo. u = ff_q_mdr_reverse_injectiveo * S ((S (mdr_i_reverse_injective)) * v) + (mdr_a_reverse_injective))) -> (((exists ff_h_mdr_reverse_injectiven. ff_h_mdr_reverse_injectiven + S (mdr_a_reverse_injective) = S ((S (mdr_i_reverse_injective)) * c)) /\ exists ff_q_mdr_reverse_injectiven. b = ff_q_mdr_reverse_injectiven * S ((S (mdr_i_reverse_injective)) * c) + (mdr_a_reverse_injective))) - 0009
specialize matrix_rank_prefix_equality_symmetric (b) - 0010
specialize matrix_rank_prefix_equality_symmetric (c) - 0011
specialize matrix_rank_prefix_equality_symmetric (u) - 0012
specialize matrix_rank_prefix_equality_symmetric (v) - 0013
specialize matrix_rank_prefix_equality_symmetric (l) - 0014
apply matrix_rank_prefix_equality_symmetric - 0015
exact hprefix - 0016
intro i - 0017
intro j - 0018
intro a - 0019
intro hi - 0020
intro hj - 0021
intro ha - 0022
intro hb - 0023
specialize hinjective (i) - 0024
specialize hinjective (j) - 0025
specialize hinjective (a) - 0026
apply hinjective - 0027
exact hi - 0028
exact hj - 0029
specialize hreverse (i) - 0030
specialize hreverse (a) - 0031
apply hreverse - 0032
exact hi - 0033
exact ha - 0034
specialize hreverse (j) - 0035
specialize hreverse (a) - 0036
apply hreverse - 0037
exact hj - 0038
exact hb