OAI/Combinatorics/LowSpaceSubsetSum/Separators/SeparatorEncodedCheck.lean
10 declarations, 0 contain sorry, 0 declared as axioms
Applying the four-block checker to original indexed top masks
- structure
OAI.LowSpaceSubsetSum.TopCoordinatesline 9 - def
OAI.LowSpaceSubsetSum.TopCoordinates.domainline 17 - def
OAI.LowSpaceSubsetSum.TopCoordinates.encodeMaskline 19 - theorem
OAI.LowSpaceSubsetSum.TopCoordinates.encodeMask_memline 22 - def
OAI.LowSpaceSubsetSum.TopCoordinates.encodeEntryline 25 - theorem
OAI.LowSpaceSubsetSum.TopCoordinates.disjoint_of_encodedline 28 - theorem
OAI.LowSpaceSubsetSum.TopCoordinates.encoded_disjointline 36 - def
OAI.LowSpaceSubsetSum.TopCoordinates.checkline 42 - theorem
OAI.LowSpaceSubsetSum.TopCoordinates.soundline 46 - theorem
OAI.LowSpaceSubsetSum.TopCoordinates.subset_sum_soundline 58Source documentation
The stored key witnesses suffice for original-input one-sided soundness.
theorem subset_sum_sound (I : Instance n) (F : Finset (Fin n)) (families : Fin 4 → Array (Finset (Fin g))) (xs ys : List (Entry (Fin n))) (hsize : xs.length + ys.length ≤ 2 ^ n) (leftDomain rightDomain : Finset (Fin n)) (hshared : leftDomain ∩ rightDomain ⊆ C.domain) (hleft : ∀ x ∈ xs, Represents (flip (fun i => (I.values i : ℤ)) F) leftDomain C.domain x) (hright : ∀ y ∈ ys, Represents (flip (fun i => (I.values i : ℤ)) F) rightDomain C.domain y) (hyes : (C.check families ((I.target : ℤ) - weight (fun i => (I.values i : ℤ)) F) xs ys).accepted = true) : Solvable I := by …Mentions: OAI.LowSpaceSubsetSum.Instance, OAI.LowSpaceSubsetSum.Entry, OAI.LowSpaceSubsetSum.Represents, OAI.LowSpaceSubsetSum.flip, OAI.LowSpaceSubsetSum.weight, OAI.LowSpaceSubsetSum.Solvable