Skip to content
This repository was archived by the owner on Aug 22, 2025. It is now read-only.

Commit c161d57

Browse files
committed
reverseToList -> toListRev
1 parent 792cec7 commit c161d57

File tree

3 files changed

+21
-21
lines changed

3 files changed

+21
-21
lines changed

Iterator/Consumers/Collect.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ def Iter.toArray {α : Type w} {β : Type w}
1313
it.toIterM.toArray
1414

1515
@[always_inline, inline]
16-
def Iter.reverseToList {α : Type w} {β : Type w}
16+
def Iter.toListRev {α : Type w} {β : Type w}
1717
[Iterator α Id β] [Finite α Id] (it : Iter (α := α) β) : List β :=
18-
it.toIterM.reverseToList
18+
it.toIterM.toListRev
1919

2020
@[always_inline, inline]
2121
def Iter.toList {α : Type w} {β : Type w}

Iterator/Consumers/Monadic/Collect.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def IterM.toArray {α : Type w} {m : Type w → Type w'} {β : Type w} [Monad m]
5252
end ToArray
5353

5454
@[inline]
55-
def IterM.reverseToList {α : Type w} {m : Type w → Type w'} [Monad m] {β : Type w}
55+
def IterM.toListRev {α : Type w} {m : Type w → Type w'} [Monad m] {β : Type w}
5656
[Iterator α m β] [Finite α m] (it : IterM (α := α) m β) : m (List β) :=
5757
go it []
5858
where

Iterator/Lemmas/Monadic/Consumer.lean

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -107,49 +107,49 @@ theorem IterM.toList_of_step [Monad m] [LawfulMonad m] [Iterator α m β]
107107
ext step
108108
split <;> simp
109109

110-
theorem IterM.reverseToList.go.aux₁ [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
110+
theorem IterM.toListRev.go.aux₁ [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
111111
{it : IterM (α := α) m β} {b : β} {bs : List β} :
112-
IterM.reverseToList.go it (bs ++ [b]) = (· ++ [b]) <$> IterM.reverseToList.go it bs:= by
113-
induction it, bs using IterM.reverseToList.go.induct
112+
IterM.toListRev.go it (bs ++ [b]) = (· ++ [b]) <$> IterM.toListRev.go it bs:= by
113+
induction it, bs using IterM.toListRev.go.induct
114114
next it bs ih₁ ih₂ =>
115115
rw [go, go, map_eq_pure_bind, bind_assoc]
116116
refine congrArg (IterM.step it >>= ·) ?_
117117
ext step
118118
simp only [List.cons_append] at ih₁
119119
split <;> simp [*]
120120

121-
theorem IterM.reverseToList.go.aux₂ [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
121+
theorem IterM.toListRev.go.aux₂ [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
122122
{it : IterM (α := α) m β} {acc : List β} :
123-
IterM.reverseToList.go it acc = (· ++ acc) <$> it.reverseToList := by
123+
IterM.toListRev.go it acc = (· ++ acc) <$> it.toListRev := by
124124
rw [← List.reverse_reverse (as := acc)]
125125
generalize acc.reverse = acc
126126
induction acc with
127-
| nil => simp [reverseToList]
128-
| cons x xs ih => simp [IterM.reverseToList.go.aux₁, ih]
127+
| nil => simp [toListRev]
128+
| cons x xs ih => simp [IterM.toListRev.go.aux₁, ih]
129129

130-
theorem IterM.reverseToList_of_step [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
130+
theorem IterM.toListRev_of_step [Monad m] [LawfulMonad m] [Iterator α m β] [Finite α m]
131131
{it : IterM (α := α) m β} :
132-
it.reverseToList = (do
132+
it.toListRev = (do
133133
match ← it.step with
134-
| .yield it' out _ => return (← it'.reverseToList) ++ [out]
135-
| .skip it' _ => it'.reverseToList
134+
| .yield it' out _ => return (← it'.toListRev) ++ [out]
135+
| .skip it' _ => it'.toListRev
136136
| .done _ => return []) := by
137-
simp [IterM.reverseToList]
138-
rw [reverseToList.go]
137+
simp [IterM.toListRev]
138+
rw [toListRev.go]
139139
refine congrArg (it.step >>= ·) ?_
140140
ext step
141141
obtain ⟨step, h⟩ := step
142-
cases step <;> simp [IterM.reverseToList.go.aux₂]
142+
cases step <;> simp [IterM.toListRev.go.aux₂]
143143

144-
-- TODO: rename `reverseToList` -> `toListRev`
145-
theorem IterM.reverse_reverseToList [Monad m] [LawfulMonad m] [Iterator α m β]
144+
-- TODO: rename `toListRev` -> `toListRev`
145+
theorem IterM.reverse_toListRev [Monad m] [LawfulMonad m] [Iterator α m β]
146146
[IteratorToArray α m] [LawfulIteratorToArray α m]
147147
{it : IterM (α := α) m β} :
148-
List.reverse <$> it.reverseToList = it.toList := by
148+
List.reverse <$> it.toListRev = it.toList := by
149149
apply Eq.symm
150150
induction it using IterM.induct
151151
rename_i it ihy ihs
152-
rw [reverseToList_of_step, toList_of_step, map_eq_pure_bind, bind_assoc]
152+
rw [toListRev_of_step, toList_of_step, map_eq_pure_bind, bind_assoc]
153153
refine congrArg (_ >>= ·) ?_
154154
ext step
155155
split <;> simp (discharger := assumption) [ihy, ihs]

0 commit comments

Comments
 (0)