English
This item intentionally duplicates the standard fold-ranges equality under a hypothesis of equal output ranges.
Русский
Если две бинарные операции f и g имеют одинаковый набор выходных значений в целом, то свертывание с f и с g, начиная с любого a, дает одинаковый набор выходных значений: Set.range (foldr f a) = Set.range (foldr g a).
LaTeX
$$$\\operatorname{Set.range} f = \\operatorname{Set.range} g \\Rightarrow \\forall a, \\ \\operatorname{Set.range}(\\mathrm{foldr}\\ f\\ a) = \\operatorname{Set.range}(\\mathrm{foldr}\\ g\\ a).$$$
Lean4
theorem foldr_range_eq_of_range_eq {f : β → α → α} {g : γ → α → α} (hfg : Set.range f = Set.range g) (a : α) :
Set.range (foldr f a) = Set.range (foldr g a) :=
(foldr_range_subset_of_range_subset hfg.le a).antisymm (foldr_range_subset_of_range_subset hfg.ge a)