English
Folding with a binary operation over a disjiUnion equals folding over the base set and then folding inside each fibre.
Русский
Свёртка по дисjoint‑объединению равна свёртке по базовому множеству с затем свёрткой внутри каждой волокны.
LaTeX
$$$\\text{fold}_op (s.disjiUnion t h) (b) f = \\text{fold}_op b_0 (\\lambda i => (t i).fold_op (b i) f) s$$$
Lean4
/-- `Finset.biUnion s t` is the union of `t a` over `a ∈ s`.
(This was formerly `bind` due to the monad structure on types with `DecidableEq`.) -/
protected def biUnion (s : Finset α) (t : α → Finset β) : Finset β :=
(s.1.bind fun a ↦ (t a).1).toFinset