OAI/Combinatorics/MatrixRemoval/TreePositions.lean
38 declarations, 0 contain sorry, 0 declared as axioms
Concrete depth-first orders for variable positions. Each class has 2^h positions. Classes 2*i and 2*i+1 are respectively plus and minus at i<h; class 2*h is the shared leaf class. The final two key components retain the original coordinates, making injectivity immediate without uniqueness assumptions on dyadic data.
- abbrev
OAI.Problem348.TreePositions.VariablePositionline 15 - abbrev
OAI.Problem348.TreePositions.OrderKeyline 16 - def
OAI.Problem348.TreePositions.keyline 18 - def
OAI.Problem348.TreePositions.earlyKeyline 21 - def
OAI.Problem348.TreePositions.lateKeyline 24 - def
OAI.Problem348.TreePositions.leafKeyline 27 - def
OAI.Problem348.TreePositions.orderKeyline 31Source documentation
column = falsegives row order;truereverses the signs.def orderKey (column : Bool) (h : ℕ) (p : VariablePosition h) : OrderKey := …
Mentions: OAI.Problem348.TreePositions.VariablePosition, OAI.Problem348.TreePositions.OrderKey
- abbrev
OAI.Problem348.TreePositions.rowKeyline 42 - abbrev
OAI.Problem348.TreePositions.columnKeyline 43 - def
OAI.Problem348.TreePositions.keyClassline 45 - def
OAI.Problem348.TreePositions.keyCoordinateline 46 - theorem
OAI.Problem348.TreePositions.keyClass_keyline 48 - theorem
OAI.Problem348.TreePositions.keyCoordinate_keyline 49 - theorem
OAI.Problem348.TreePositions.keyClass_orderKeyline 52 - theorem
OAI.Problem348.TreePositions.keyCoordinate_orderKeyline 57 - theorem
OAI.Problem348.TreePositions.orderKey_injectiveline 62 - abbrev
OAI.Problem348.TreePositions.positionOrderline 73Source documentation
Explicit order structures, not global instances: the same raw positions carry different row and column orders.
abbrev positionOrder (column : Bool) (h : ℕ) : LinearOrder (VariablePosition h) := …
- theorem
OAI.Problem348.TreePositions.card_variablePositionline 76 - theorem
OAI.Problem348.TreePositions.key_lt_iff_endpoint_le_of_tie_ltline 84 - theorem
OAI.Problem348.TreePositions.lateKey_child_lt_parentline 89 - theorem
OAI.Problem348.TreePositions.earlyKey_parent_lt_childline 97 - theorem
OAI.Problem348.TreePositions.leafKey_lt_lateKey_parentline 109 - theorem
OAI.Problem348.TreePositions.earlyKey_parent_lt_leafKeyline 114 - def
OAI.Problem348.TreePositions.plusPosline 121Source documentation
The plus class; at depth h this is the shared leaf class.
def plusPos {h : ℕ} (i : ℕ) (hi : i ≤ h) (x : Fin (2 ^ h)) : VariablePosition h := … - def
OAI.Problem348.TreePositions.minusPosline 125Source documentation
The minus class, identified with the plus class exactly at the leaf.
def minusPos {h : ℕ} (i : ℕ) (hi : i ≤ h) (x : Fin (2 ^ h)) : VariablePosition h := … - def
OAI.Problem348.TreePositions.nodeline 128 - theorem
OAI.Problem348.TreePositions.minusPos_leafline 130 - theorem
OAI.Problem348.TreePositions.orderKey_leafline 134 - theorem
OAI.Problem348.TreePositions.rowKey_leafline 138 - theorem
OAI.Problem348.TreePositions.columnKey_leafline 142 - theorem
OAI.Problem348.TreePositions.rowKey_plus_internalline 146 - theorem
OAI.Problem348.TreePositions.columnKey_plus_internalline 152 - theorem
OAI.Problem348.TreePositions.rowKey_minus_internalline 158 - theorem
OAI.Problem348.TreePositions.columnKey_minus_internalline 165 - theorem
OAI.Problem348.TreePositions.row_plus_child_lt_parentline 177Source documentation
The plus row-order equivalence, including shared leaves.
theorem row_plus_child_lt_parent {h i : ℕ} (hi : i < h) (x y : Fin (2 ^ h)) : rowKey h (plusPos (i + 1) (by omega) x) < rowKey h (plusPos i (Nat.le_of_lt hi) y) ↔ node (i + 1) x / 2 ≤ node i y := by …Mentions: OAI.Problem348.TreePositions.rowKey, OAI.Problem348.TreePositions.plusPos, OAI.Problem348.TreePositions.node
- theorem
OAI.Problem348.TreePositions.row_minus_parent_lt_childline 199Source documentation
The minus row-order equivalence, including shared leaves.
theorem row_minus_parent_lt_child {h i : ℕ} (hi : i < h) (x y : Fin (2 ^ h)) : rowKey h (minusPos i (Nat.le_of_lt hi) y) < rowKey h (minusPos (i + 1) (by omega) x) ↔ node i y ≤ node (i + 1) x / 2 := by …Mentions: OAI.Problem348.TreePositions.rowKey, OAI.Problem348.TreePositions.minusPos, OAI.Problem348.TreePositions.node
- theorem
OAI.Problem348.TreePositions.column_plus_parent_lt_childline 221Source documentation
The plus column-order equivalence, including shared leaves.
theorem column_plus_parent_lt_child {h i : ℕ} (hi : i < h) (x y : Fin (2 ^ h)) : columnKey h (plusPos i (Nat.le_of_lt hi) y) < columnKey h (plusPos (i + 1) (by omega) x) ↔ node i y ≤ node (i + 1) x / 2 := by …Mentions: OAI.Problem348.TreePositions.columnKey, OAI.Problem348.TreePositions.plusPos, OAI.Problem348.TreePositions.node
- theorem
OAI.Problem348.TreePositions.column_minus_child_lt_parentline 243Source documentation
The minus column-order equivalence, including shared leaves.
theorem column_minus_child_lt_parent {h i : ℕ} (hi : i < h) (x y : Fin (2 ^ h)) : columnKey h (minusPos (i + 1) (by omega) x) < columnKey h (minusPos i (Nat.le_of_lt hi) y) ↔ node (i + 1) x / 2 ≤ node i y := by …Mentions: OAI.Problem348.TreePositions.columnKey, OAI.Problem348.TreePositions.minusPos, OAI.Problem348.TreePositions.node