Documentation

HexBerlekampZassenhausMathlib.Recovery

theorem HexBerlekampZassenhausMathlib.BHKS.supportPartitionByMinColumn_length_le_partitionByMinColumn_length {r : } (trueSupports : Set (Set (Fin r))) (sig : Array ) (hrefine : ∀ (j k : ) (hj : j < r) (hk : k < r), sig j = sig ksupportEquivalent trueSupports j, hj k, hk) :

Forward refinement of the support partition by the signature partition.

If equal column signatures force support-equivalence; the forward direction, available from the inclusion W ⊆ L' alone (no reverse L' = W separation); then every signature class is contained in one support-equivalence class, so the signature partition refines the support partition and therefore has at least as many classes. The map sending each support representative q to its signature representative sigRep sig q is the witnessing injection.

The RREF column signature expression used by Hex.bhksEquivalenceClassIndicators, exposed as a proof-facing definition.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Two RREF column signatures agree exactly when every vector of the rational projected row space has equal coordinates at those columns.

    Forward column-signature implication from the cut inclusion W ⊆ L'.

    This is the one-directional half of projectedRowsRrefColumnSignature_eq_iff_supportEquivalent_of_projectedRowSpan_eq that needs only the forward inclusion supplied by CutProjectionHypotheses (each true-support indicator lies in L'), not the reverse L' = W separation. Equal RREF column signatures mean every vector of the rational row space agrees on those two columns; since each support indicator lies in L' (hence in the rational row space), the two columns lie in exactly the same true supports.

    Exact RREF signature semantics once the retained projected lattice is the true-support lattice.

    Equality L' = W identifies the canonical RREF signature partition with the canonical true-support partition, including class order and member order.

    At L' = W, the executable indicator array is exactly the ordered array of indicator vectors for the true-support equivalence classes.

    theorem HexBerlekampZassenhausMathlib.BHKS.supportClassMembers_eq_support_of_partition {r : } (trueSupports : Set (Set (Fin r))) (hcover : ∀ (i : Fin r), StrueSupports, i S) (hdisjoint : StrueSupports, TtrueSupports, iS, i TS = T) {rep : } (hrep : rep supportRepresentativeColumns trueSupports) :
    StrueSupports, ∀ (j : ), j supportClassMembers trueSupports rep ∃ (hj : j < r), j, hj S

    For a genuine partition, the support-equivalence class represented by rep is the unique true support containing rep.

    This is the set-level half of the executable recovery correspondence: after L' = W, an RREF class is not merely support-equivalent to a true support; its ascending member list enumerates that support exactly.

    theorem HexBerlekampZassenhausMathlib.BHKS.bhksIndicatorSelectedFactorsArray_classIndicatorArray_toList (liftedFactors : Array Hex.ZPoly) (members : List ) :
    (Hex.bhksIndicatorSelectedFactorsArray liftedFactors (classIndicatorArray liftedFactors.size members)).toList = List.map (fun (i : ) => liftedFactors.getD i 0) (List.filter (fun (i : ) => decide (i members)) (List.range liftedFactors.size))

    Selecting lifted factors with a canonical class indicator is the same order-preserving filter of the lifted-factor array by class membership.

    The number of executable equivalence-class indicators equals the length of the signature partition partitionByMinColumn over the RREF column signatures. This is a pure restatement of the executable fold semantics, independent of any lattice hypothesis.

    Forward count bound: the executable equivalence-class partition emits at least one class per true-support-equivalence class.

    This is the forward-only count_ge argument: from the cut inclusion W ⊆ L' (CutProjectionHypotheses, certified by the closed cut-survival argument) the emitted partition refines the true-support partition, so the emitted class count is at least the support-partition length. It needs no reverse L' = W separation; and hence no bad-vector resultant valuation; establishing the lower count bound from the forward inclusion alone.