DL003F

matrix_rank_selector_empty

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The empty row or column selector is valid even when its ambient dimension is zero.

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 B. (((forall fom_index_mrf_selector_emptybound. (exists fom_gap_mrf_selector_emptybound_index_bound. fom_gap_mrf_selector_emptybound_index_bound + S (fom_index_mrf_selector_emptybound) = 0) -> exists fom_value_mrf_selector_emptybound. ((((exists fom_beta_height_mrf_selector_emptybound_entry. fom_beta_height_mrf_selector_emptybound_entry + S (fom_value_mrf_selector_emptybound) = S ((S (fom_index_mrf_selector_emptybound)) * c)) /\ exists fom_beta_quotient_mrf_selector_emptybound_entry. b = fom_beta_quotient_mrf_selector_emptybound_entry * S ((S (fom_index_mrf_selector_emptybound)) * c) + (fom_value_mrf_selector_emptybound))) /\ (exists fom_gap_mrf_selector_emptybound_value_bound. fom_gap_mrf_selector_emptybound_value_bound + S (fom_value_mrf_selector_emptybound) = B))) /\ (forall mdr_i_selector_emptydistinct mdr_j_selector_emptydistinct mdr_a_selector_emptydistinct. (exists mdr_gap_selector_emptydistincti. mdr_gap_selector_emptydistincti + S (mdr_i_selector_emptydistinct) = (0)) -> (exists mdr_gap_selector_emptydistinctj. mdr_gap_selector_emptydistinctj + S (mdr_j_selector_emptydistinct) = (0)) -> (((exists ff_h_mdr_selector_emptydistinctfirst. ff_h_mdr_selector_emptydistinctfirst + S (mdr_a_selector_emptydistinct) = S ((S (mdr_i_selector_emptydistinct)) * c)) /\ exists ff_q_mdr_selector_emptydistinctfirst. b = ff_q_mdr_selector_emptydistinctfirst * S ((S (mdr_i_selector_emptydistinct)) * c) + (mdr_a_selector_emptydistinct))) -> (((exists ff_h_mdr_selector_emptydistinctsecond. ff_h_mdr_selector_emptydistinctsecond + S (mdr_a_selector_emptydistinct) = S ((S (mdr_j_selector_emptydistinct)) * c)) /\ exists ff_q_mdr_selector_emptydistinctsecond. b = ff_q_mdr_selector_emptydistinctsecond * S ((S (mdr_j_selector_emptydistinct)) * c) + (mdr_a_selector_emptydistinct))) -> mdr_i_selector_emptydistinct = mdr_j_selector_emptydistinct)))

Constructive proof overview

Generated structural guide

The empty row or column selector is valid even when its ambient dimension is zero.

The unchanged tactic script uses 2 declared prerequisites and contains 19 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

19 script commands · 6 reading checkpoints · 0 local claims

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–3

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro B
02Separate the logical casesL4–4

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L4
    split
03Use earlier factsL5–8

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L5
    specialize matrix_rank_bounded_prefix_empty (b)
  2. L6
    specialize matrix_rank_bounded_prefix_empty (c)
  3. L7
    specialize matrix_rank_bounded_prefix_empty (B)
  4. L8
    apply matrix_rank_bounded_prefix_empty
04Fix variables and assumptionsL9–15

Work with arbitrary variables or the premises of the current implication.

  1. L9
    intro i
  2. L10
    intro j
  3. L11
    intro a
  4. L12
    intro hi
  5. L13
    intro hj
  6. L14
    intro ha
  7. L15
    intro hb
05Separate the logical casesL16–16

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L16
    exfalso
06Use earlier factsL17–19

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L17
    specialize matrix_rank_no_index_below_zero (i)
  2. L18
    apply matrix_rank_no_index_below_zero
  3. L19
    exact hi

Library-wide reading audit

Original exact command ledger · 19 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro B
  4. 0004split
  5. 0005specialize matrix_rank_bounded_prefix_empty (b)
  6. 0006specialize matrix_rank_bounded_prefix_empty (c)
  7. 0007specialize matrix_rank_bounded_prefix_empty (B)
  8. 0008apply matrix_rank_bounded_prefix_empty
  9. 0009intro i
  10. 0010intro j
  11. 0011intro a
  12. 0012intro hi
  13. 0013intro hj
  14. 0014intro ha
  15. 0015intro hb
  16. 0016exfalso
  17. 0017specialize matrix_rank_no_index_below_zero (i)
  18. 0018apply matrix_rank_no_index_below_zero
  19. 0019exact hi