theorem
Std.Iterators.Iter.unattach_eq_toIter_unattach_toIterM
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
:
theorem
Std.Iterators.Iter.unattach_toList_attachWith
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
[Finite α Id]
[IteratorCollect α Id Id]
[LawfulIteratorCollect α Id Id]
:
@[simp]
theorem
Std.Iterators.Iter.toList_attachWith
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
[Finite α Id]
[IteratorCollect α Id Id]
[LawfulIteratorCollect α Id Id]
:
theorem
Std.Iterators.Iter.unattach_toListRev_attachWith
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
[Finite α Id]
[IteratorCollect α Id Id]
[LawfulIteratorCollect α Id Id]
:
@[simp]
theorem
Std.Iterators.Iter.toListRev_attachWith
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
[Finite α Id]
[IteratorCollect α Id Id]
[LawfulIteratorCollect α Id Id]
:
@[simp]
theorem
Std.Iterators.Iter.unattach_toArray_attachWith
{α β : Type u_1}
{P : β → Prop}
[Iterator α Id β]
{it : Iter β}
{hP : ∀ (out : β), it.IsPlausibleIndirectOutput out → P out}
[Finite α Id]
[IteratorCollect α Id Id]
[LawfulIteratorCollect α Id Id]
: