Documentation

HexBerlekampZassenhausMathlib.Lattice.DirectRecovery

Proof-side lifted support selected by one canonical signature class.

Equations
Instances For

    Executable selected-factor array for one canonical signature class.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem HexBerlekampZassenhausMathlib.BHKS.liftedSubsetOfClass_mem {r : } (trueSupports : Set (Set (Fin r))) (hcover : ∀ (i : Fin r), StrueSupports, i S) (hdisjoint : StrueSupports, TtrueSupports, iS, i TS = T) (d : Hex.LiftData) (hr : d.liftedFactors.size = r) {members : List } (hmem : members supportPartitionByMinColumn trueSupports) :
      (liftedSubsetOfClass d members) trueSupports

      A canonical signature class is the carrier of one member of a genuine support partition.

      The executable direct candidate attached to one signature class.

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

        Recovered factors in canonical signature-class order.

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

          Certificate selected by one canonical signature class.

          Instances For
            noncomputable def HexBerlekampZassenhausMathlib.BHKS.recoveredClassCertificate {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) {members : List } (hmem : members supportPartitionByMinColumn (directTrueSupports core B data)) :
            RecoveredClassCertificate core B data members

            Select the unique direct factor certificate carried by a canonical class.

            Equations
            Instances For
              theorem HexBerlekampZassenhausMathlib.BHKS.recoveredClassFactor_eq {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) {members : List } (hmem : members supportPartitionByMinColumn (directTrueSupports core B data)) :
              recoveredClassFactor core B data members = (recoveredClassCertificate hcover hdisjoint hmem).certificate.factor

              The executable factor of a signature class is exactly the normalized irreducible factor in its direct certificate.

              theorem HexBerlekampZassenhausMathlib.BHKS.recoveredClassFactors_polyProduct {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcore_ne : core 0) (_hcore_primitive : core.Primitive) (hcore_lc_pos : 0 < Hex.DensePoly.leadingCoeff core) (hpartition : DirectSupportPartition core B data Finset.univ core) (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) (hcard : (directTrueSupports core B data).ncard = (UniqueFactorizationMonoid.normalizedFactors (HexPolyZMathlib.toPolynomial core)).card) :

              Canonical recovered class factors multiply back to the primitive, positive-leading primitive square-free part.

              theorem HexBerlekampZassenhausMathlib.BHKS.bhksIndicatorCandidates_eq_some_of_span_eq {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcore_primitive : core.Primitive) (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) (hrows : 1 (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).factorCount + (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).coeffWidth) (hspan : projectedRowSpanInt (Hex.bhksProjectedRows (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors) hrows) = trueSupportSpanInt (directTrueSupports core B data)) :

              Exact projected span makes every executable signature-class candidate the factor in its direct certificate.

              theorem HexBerlekampZassenhausMathlib.BHKS.projectedRows_isEmpty_eq_false_of_span_eq (L : Hex.BhksProjectedRows) (trueSupports : Set (Set (Fin L.factorCount))) (hspan : projectedRowSpanInt L = trueSupportSpanInt trueSupports) (hcover : ∀ (i : Fin L.factorCount), StrueSupports, i S) (hclasses : supportPartitionByMinColumn trueSupports []) :

              A nonempty genuine support partition cannot have exact projected span with an empty executable row array.

              theorem HexBerlekampZassenhausMathlib.BHKS.bhksRecover_eq_some_of_span_eq {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcore_ne : core 0) (hcore_primitive : core.Primitive) (hcore_lc_pos : 0 < Hex.DensePoly.leadingCoeff core) (hpartition : DirectSupportPartition core B data Finset.univ core) (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) (hcard : (directTrueSupports core B data).ncard = (UniqueFactorizationMonoid.normalizedFactors (HexPolyZMathlib.toPolynomial core)).card) (hrows : 1 (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).factorCount + (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).coeffWidth) (hspan : projectedRowSpanInt (Hex.bhksProjectedRows (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors) hrows) = trueSupportSpanInt (directTrueSupports core B data)) (hclasses : 2 (supportPartitionByMinColumn (directTrueSupports core B data)).length) :

              With at least two true supports, exact span recovery passes every fixed-precision BHKS check.

              theorem HexBerlekampZassenhausMathlib.BHKS.bhksSingleAllOnesPartition_eq_true_of_span_eq {core : Hex.ZPoly} {B : } {data : Hex.PrimeChoiceData} (hcover : ∀ (i : LiftedFactorIndex (core.directLiftData B data)), UdirectTrueSupports core B data, i U) (hdisjoint : UdirectTrueSupports core B data, VdirectTrueSupports core B data, iU, i VU = V) (hrows : 1 (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).factorCount + (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors).coeffWidth) (hspan : projectedRowSpanInt (Hex.bhksProjectedRows (Hex.bhksLatticeBasis core (core.directLiftData B data).p (core.directLiftData B data).k (core.directLiftData B data).liftedFactors) hrows) = trueSupportSpanInt (directTrueSupports core B data)) (hclasses : (supportPartitionByMinColumn (directTrueSupports core B data)).length = 1) :

              With exactly one true support, exact span recovery yields the executable single-all-ones irreducibility certificate.