Parallel circuits on disjoint inputs #
Circuit.parallel runs two circuits on separate input blocks and concatenates their outputs.
Both total gate count and arbitrary weighted cost add exactly.
Main definitions #
Cslib.Circuits.Circuit.parallel: run circuits on disjoint input blocks.
Main results #
Cslib.Circuits.Circuit.eval_parallel: evaluation on the two input blocks.Cslib.Circuits.Circuit.cost_program_parallel: exact weighted cost.
@[simp]
theorem Cslib.Circuits.Circuit.eval_parallel {σ : Signature} {U : Type u_1} {n m p q : ℕ} (c : Circuit σ n m) (d : Circuit σ p q) (I : Interpretation σ U) (x : Fin (n + p) → U) :