OAI/Combinatorics/MatrixRemoval/AnchorFrames.lean
28 declarations, 0 contain sorry, 0 declared as axioms
Full row and column orders extending the variable order. The raw carrier is the anchor / variable / dummy sum.
- abbrev
OAI.Problem348.AnchorFrames.Rawline 14 - abbrev
OAI.Problem348.AnchorFrames.AnchorOrderline 15 - abbrev
OAI.Problem348.AnchorFrames.RowOrderline 16 - abbrev
OAI.Problem348.AnchorFrames.ColOrderline 17 - def
OAI.Problem348.AnchorFrames.rowKeyline 20Source documentation
Coordinates for the row order: anchors, variables, dummy.
def rowKey {M : Type uM} {V : Type uV} {O : Type uO} : Raw M V O → RowOrder M V O | .inl (t, u, x) => .inlₗ (toLex (t, toLex (u, x))) | .inr (.inl v) => .inrₗ (.inlₗ v) | .inr (.inr x) => .inrₗ (.inrₗ x) /-- Coordinates for the column order: anchors, dummy, variables. -/Mentions: OAI.Problem348.AnchorFrames.Raw, OAI.Problem348.AnchorFrames.RowOrder
- def
OAI.Problem348.AnchorFrames.colKeyline 26Source documentation
Coordinates for the column order: anchors, dummy, variables.
def colKey {M : Type uM} {V : Type uV} {O : Type uO} : Raw M V O → ColOrder M V O | .inl (t, u, x) => .inlₗ (toLex (t, toLex (u, x))) | .inr (.inl v) => .inrₗ (.inrₗ v) | .inr (.inr x) => .inrₗ (.inlₗ x)Mentions: OAI.Problem348.AnchorFrames.Raw, OAI.Problem348.AnchorFrames.ColOrder
- def
OAI.Problem348.AnchorFrames.rowEquivline 31 - def
OAI.Problem348.AnchorFrames.colEquivline 39 - abbrev
OAI.Problem348.AnchorFrames.rowOrderline 53Source documentation
The full raw row order, suitable for local instance installation.
abbrev rowOrder : LinearOrder (Raw M V O) := LinearOrder.lift' rowKey (rowEquiv M V O).injective
Mentions: OAI.Problem348.AnchorFrames.Raw, OAI.Problem348.AnchorFrames.rowKey, OAI.Problem348.AnchorFrames.rowEquiv
- abbrev
OAI.Problem348.AnchorFrames.colOrderline 56Source documentation
The full raw column order, suitable for local instance installation.
abbrev colOrder : LinearOrder (Raw M V O) := LinearOrder.lift' colKey (colEquiv M V O).injective
Mentions: OAI.Problem348.AnchorFrames.Raw, OAI.Problem348.AnchorFrames.colKey, OAI.Problem348.AnchorFrames.colEquiv
- theorem
OAI.Problem348.AnchorFrames.row_anchor_strictMonoline 59Source documentation
Arbitrary offsets in successive groups give increasing selected anchors.
theorem row_anchor_strictMono (t : M) (a : Fin 64 → O) : StrictMono (fun u => rowKey (M := M) (V := V) (.inl (t, u, a u))) := by …Mentions: OAI.Problem348.AnchorFrames.rowKey
- theorem
OAI.Problem348.AnchorFrames.col_anchor_strictMonoline 67 - theorem
OAI.Problem348.AnchorFrames.row_anchor_lt_nonanchorline 75 - theorem
OAI.Problem348.AnchorFrames.col_anchor_lt_nonanchorline 79 - theorem
OAI.Problem348.AnchorFrames.row_variable_lt_dummyline 83 - theorem
OAI.Problem348.AnchorFrames.col_dummy_lt_variableline 87 - theorem
OAI.Problem348.AnchorFrames.row_variable_lt_variableline 91 - theorem
OAI.Problem348.AnchorFrames.col_variable_lt_variableline 95 - theorem
OAI.Problem348.AnchorFrames.row_not_nonanchor_lt_anchorline 100Source documentation
The anchor region is an initial segment of the complete row axis.
theorem row_not_nonanchor_lt_anchor (t : M) (u : Fin 64) (a : O) (x : V ⊕ O) : ¬ rowKey (.inr x) < rowKey (.inl (t,u,a)) := …Mentions: OAI.Problem348.AnchorFrames.rowKey
- theorem
OAI.Problem348.AnchorFrames.col_not_nonanchor_lt_anchorline 105Source documentation
The anchor region is also an initial segment of the complete column axis.
theorem col_not_nonanchor_lt_anchor (t : M) (u : Fin 64) (a : O) (x : V ⊕ O) : ¬ colKey (.inr x) < colKey (.inl (t,u,a)) := …Mentions: OAI.Problem348.AnchorFrames.colKey
- theorem
OAI.Problem348.AnchorFrames.row_group_le_of_ltline 110Source documentation
Within one mode, increasing selected anchors have nondecreasing group labels.
theorem row_group_le_of_lt (t : M) (u v : Fin 64) (a b : O) (hab : rowKey (V := V) (.inl (t,u,a)) < rowKey (.inl (t,v,b))) : u ≤ v := by …Mentions: OAI.Problem348.AnchorFrames.rowKey
- theorem
OAI.Problem348.AnchorFrames.col_group_le_of_ltline 116 - def
OAI.Problem348.AnchorFrames.selectedRowsline 123Source documentation
Selected anchor rows after the full axis has been enumerated by
Fin n.def selectedRows {n : ℕ} (e : Fin n ≃o RowOrder M V O) (t : M) (a : Fin 64 → O) : Fin 64 → Fin n := …Mentions: OAI.Problem348.AnchorFrames.RowOrder
- def
OAI.Problem348.AnchorFrames.selectedColsline 128Source documentation
Selected anchor columns after the full axis has been enumerated by
Fin n.def selectedCols {n : ℕ} (e : Fin n ≃o ColOrder M V O) (t : M) (a : Fin 64 → O) : Fin 64 → Fin n := …Mentions: OAI.Problem348.AnchorFrames.ColOrder
- theorem
OAI.Problem348.AnchorFrames.selectedRows_strictMonoline 132 - theorem
OAI.Problem348.AnchorFrames.selectedCols_strictMonoline 136 - theorem
OAI.Problem348.AnchorFrames.selectedRows_lt_nonanchorline 140 - theorem
OAI.Problem348.AnchorFrames.selectedCols_lt_nonanchorline 145