Finite chunks of a support #
Enumerating a finite support in chunks gives at most card / size + 1
patterns, each containing at most size positions.
def
Complexity.CircuitSparseSynthesis.Internal.tupleSupport
{α : Type}
[DecidableEq α]
{K : ℕ}
(v : Fin K → Option α)
:
Finset α
The positions named by a tuple, ignoring empty entries and repetitions.
Equations
- Complexity.CircuitSparseSynthesis.Internal.tupleSupport v = Finset.univ.biUnion fun (i : Fin K) => (v i).toFinset
Instances For
@[simp]
theorem
Complexity.CircuitSparseSynthesis.Internal.mem_tupleSupport
{α : Type}
[DecidableEq α]
{K : ℕ}
(v : Fin K → Option α)
(a : α)
:
theorem
Complexity.CircuitSparseSynthesis.Internal.tupleSupport_card
{α : Type}
[DecidableEq α]
{K : ℕ}
(v : Fin K → Option α)
:
noncomputable def
Complexity.CircuitSparseSynthesis.Internal.chunkTuple
{α : Type}
(s : Finset α)
(K block : ℕ)
:
One chunk of an enumeration of s, padded with empty entries.
Equations
Instances For
theorem
Complexity.CircuitSparseSynthesis.Internal.mem_chunkTuple_iff
{α : Type}
[DecidableEq α]
(s : Finset α)
(K : ℕ)
(positive : 0 < K)
(a : α)
: