DL001C

matrix_recursive_minor_cell_transport

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

Every actual first-row minor cell transports across equality of all in-range parent-matrix entries.

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 C q j r s a. (forall mdr_i_cell_parent mdr_a_cell_parent. (exists mdr_gap_cell_parentb. mdr_gap_cell_parentb + S (mdr_i_cell_parent) = ((S q) * (S q))) -> (((exists ff_h_mdr_cell_parento. ff_h_mdr_cell_parento + S (mdr_a_cell_parent) = S ((S (mdr_i_cell_parent)) * c)) /\ exists ff_q_mdr_cell_parento. b = ff_q_mdr_cell_parento * S ((S (mdr_i_cell_parent)) * c) + (mdr_a_cell_parent))) -> (((exists ff_h_mdr_cell_parentn. ff_h_mdr_cell_parentn + S (mdr_a_cell_parent) = S ((S (mdr_i_cell_parent)) * C)) /\ exists ff_q_mdr_cell_parentn. B = ff_q_mdr_cell_parentn * S ((S (mdr_i_cell_parent)) * C) + (mdr_a_cell_parent)))) -> (exists mdr_gap_cell_row. mdr_gap_cell_row + S (r) = (q)) -> (exists mdr_gap_cell_column. mdr_gap_cell_column + S (s) = (q)) -> (exists ff_row_mdm_cell_mdre_cell_source ff_column_mdm_cell_mdre_cell_source. (((((exists ff_gap_mdm_lt_mdre_cell_source_row_before. ff_gap_mdm_lt_mdre_cell_source_row_before + S (r) = (0)) /\ ff_row_mdm_cell_mdre_cell_source = r) \/ ((exists ff_gap_mdm_le_mdre_cell_source_row_after. ff_gap_mdm_le_mdre_cell_source_row_after + (0) = (r)) /\ ff_row_mdm_cell_mdre_cell_source = S r))) /\ (((((exists ff_gap_mdm_lt_mdre_cell_source_column_before. ff_gap_mdm_lt_mdre_cell_source_column_before + S (s) = (j)) /\ ff_column_mdm_cell_mdre_cell_source = s) \/ ((exists ff_gap_mdm_le_mdre_cell_source_column_after. ff_gap_mdm_le_mdre_cell_source_column_after + (j) = (s)) /\ ff_column_mdm_cell_mdre_cell_source = S s))) /\ (((exists ff_h_mdm_mdre_cell_source_source. ff_h_mdm_mdre_cell_source_source + S (a) = S ((S ((ff_row_mdm_cell_mdre_cell_source) * (S (q)) + (ff_column_mdm_cell_mdre_cell_source))) * c)) /\ exists ff_q_mdm_mdre_cell_source_source. b = ff_q_mdm_mdre_cell_source_source * S ((S ((ff_row_mdm_cell_mdre_cell_source) * (S (q)) + (ff_column_mdm_cell_mdre_cell_source))) * c) + (a)))))) -> (exists ff_row_mdm_cell_mdre_cell_result ff_column_mdm_cell_mdre_cell_result. (((((exists ff_gap_mdm_lt_mdre_cell_result_row_before. ff_gap_mdm_lt_mdre_cell_result_row_before + S (r) = (0)) /\ ff_row_mdm_cell_mdre_cell_result = r) \/ ((exists ff_gap_mdm_le_mdre_cell_result_row_after. ff_gap_mdm_le_mdre_cell_result_row_after + (0) = (r)) /\ ff_row_mdm_cell_mdre_cell_result = S r))) /\ (((((exists ff_gap_mdm_lt_mdre_cell_result_column_before. ff_gap_mdm_lt_mdre_cell_result_column_before + S (s) = (j)) /\ ff_column_mdm_cell_mdre_cell_result = s) \/ ((exists ff_gap_mdm_le_mdre_cell_result_column_after. ff_gap_mdm_le_mdre_cell_result_column_after + (j) = (s)) /\ ff_column_mdm_cell_mdre_cell_result = S s))) /\ (((exists ff_h_mdm_mdre_cell_result_source. ff_h_mdm_mdre_cell_result_source + S (a) = S ((S ((ff_row_mdm_cell_mdre_cell_result) * (S (q)) + (ff_column_mdm_cell_mdre_cell_result))) * C)) /\ exists ff_q_mdm_mdre_cell_result_source. B = ff_q_mdm_mdre_cell_result_source * S ((S ((ff_row_mdm_cell_mdre_cell_result) * (S (q)) + (ff_column_mdm_cell_mdre_cell_result))) * C) + (a))))))

Constructive proof overview

Generated structural guide

Every actual first-row minor cell transports across equality of all in-range parent-matrix entries.

The unchanged tactic script uses 2 declared prerequisites and contains 51 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

matrix_skip_index_bounded Alpha theorem; checked-use authorized DL001A matrix_recursive_flattened_index_bound

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

51 script commands · 11 reading checkpoints · 3 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 (1)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro B
  4. L4
    intro C
  5. L5
    intro q
  6. L6
    intro j
  7. L7
    intro r
  8. L8
    intro s
  9. L9
    intro a
  10. L10
    intro hprefix
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hr
  2. L12
    intro hs
  3. L13
    intro hcell
03Separate the logical casesL14–17

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

  1. L14
    cases hcell
  2. L15
    cases hcell_witness
  3. L16
    cases hcell_witness_witness
  4. L17
    cases hcell_witness_witness_right
04Establish hrowL18–25

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix skip index bounded.

  1. L18
    have hrow : exists mdr_gap_transport_row. mdr_gap_transport_row + S (x) = (S q)
  2. L19
    specialize matrix_skip_index_bounded (r)
  3. L20
    specialize matrix_skip_index_bounded (0)
  4. L21
    specialize matrix_skip_index_bounded (x)
  5. L22
    specialize matrix_skip_index_bounded (q)
  6. L23
    apply matrix_skip_index_bounded
  7. L24
    exact hcell_witness_witness_left
  8. L25
    exact hr
05Establish hcolumnL26–33

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix skip index bounded.

  1. L26
    have hcolumn : exists mdr_gap_transport_column. mdr_gap_transport_column + S (x1) = (S q)
  2. L27
    specialize matrix_skip_index_bounded (s)
  3. L28
    specialize matrix_skip_index_bounded (j)
  4. L29
    specialize matrix_skip_index_bounded (x1)
  5. L30
    specialize matrix_skip_index_bounded (q)
  6. L31
    apply matrix_skip_index_bounded
  7. L32
    exact hcell_witness_witness_right_left
  8. L33
    exact hs
06Establish hindexL34–40

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix recursive flattened index bound.

  1. L34
    have hindex : exists mdr_gap_transport_index. mdr_gap_transport_index + S (x * (S q) + x1) = ((S q) * (S q))
  2. L35
    specialize matrix_recursive_flattened_index_bound (S q)
  3. L36
    specialize matrix_recursive_flattened_index_bound (x)
  4. L37
    specialize matrix_recursive_flattened_index_bound (x1)
  5. L38
    apply matrix_recursive_flattened_index_bound
  6. L39
    exact hrow
  7. L40
    exact hcolumn
07Construct an explicit witnessL41–42

Supply the displayed value, then prove that it has the required property.

  1. L41
    exists x
  2. L42
    exists x1
08Separate the logical casesL43–43

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

  1. L43
    split
09Use earlier factsL44–44

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

  1. L44
    exact hcell_witness_witness_left
10Separate the logical casesL45–45

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

  1. L45
    split
11Use earlier factsL46–51

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

  1. L46
    exact hcell_witness_witness_right_left
  2. L47
    specialize hprefix (x * (S q) + x1)
  3. L48
    specialize hprefix (a)
  4. L49
    apply hprefix
  5. L50
    exact hindex
  6. L51
    exact hcell_witness_witness_right_right

Library-wide reading audit

Original exact command ledger · 51 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro B
  4. 0004intro C
  5. 0005intro q
  6. 0006intro j
  7. 0007intro r
  8. 0008intro s
  9. 0009intro a
  10. 0010intro hprefix
  11. 0011intro hr
  12. 0012intro hs
  13. 0013intro hcell
  14. 0014cases hcell
  15. 0015cases hcell_witness
  16. 0016cases hcell_witness_witness
  17. 0017cases hcell_witness_witness_right
  18. 0018have hrow : exists mdr_gap_transport_row. mdr_gap_transport_row + S (x) = (S q)
  19. 0019specialize matrix_skip_index_bounded (r)
  20. 0020specialize matrix_skip_index_bounded (0)
  21. 0021specialize matrix_skip_index_bounded (x)
  22. 0022specialize matrix_skip_index_bounded (q)
  23. 0023apply matrix_skip_index_bounded
  24. 0024exact hcell_witness_witness_left
  25. 0025exact hr
  26. 0026have hcolumn : exists mdr_gap_transport_column. mdr_gap_transport_column + S (x1) = (S q)
  27. 0027specialize matrix_skip_index_bounded (s)
  28. 0028specialize matrix_skip_index_bounded (j)
  29. 0029specialize matrix_skip_index_bounded (x1)
  30. 0030specialize matrix_skip_index_bounded (q)
  31. 0031apply matrix_skip_index_bounded
  32. 0032exact hcell_witness_witness_right_left
  33. 0033exact hs
  34. 0034have hindex : exists mdr_gap_transport_index. mdr_gap_transport_index + S (x * (S q) + x1) = ((S q) * (S q))
  35. 0035specialize matrix_recursive_flattened_index_bound (S q)
  36. 0036specialize matrix_recursive_flattened_index_bound (x)
  37. 0037specialize matrix_recursive_flattened_index_bound (x1)
  38. 0038apply matrix_recursive_flattened_index_bound
  39. 0039exact hrow
  40. 0040exact hcolumn
  41. 0041exists x
  42. 0042exists x1
  43. 0043split
  44. 0044exact hcell_witness_witness_left
  45. 0045split
  46. 0046exact hcell_witness_witness_right_left
  47. 0047specialize hprefix (x * (S q) + x1)
  48. 0048specialize hprefix (a)
  49. 0049apply hprefix
  50. 0050exact hindex
  51. 0051exact hcell_witness_witness_right_right