Skip to content

Instantly share code, notes, and snippets.

@slavapestov
Created April 28, 2020 05:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save slavapestov/0776c973039bd7f57dc011f56c515d41 to your computer and use it in GitHub Desktop.
Save slavapestov/0776c973039bd7f57dc011f56c515d41 to your computer and use it in GitHub Desktop.
Equivalence classes:
* Equivalence class represented by τ_0_0:
Members: τ_0_0
Conformances:Collection, Sequence
Same-type constraints:
---Rewrite tree---
`--(cont'd)
`--Collection.SubSequence
`--Collection.Index --> [Collection.Indices -> Sequence.Element]
* Equivalence class represented by τ_0_0[.Sequence].Iterator:
Members: τ_0_0[.Sequence].Iterator
Conformances:IteratorProtocol
Same-type constraints:
* Equivalence class represented by τ_0_0[.Collection].SubSequence:
Members: τ_0_0[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence
Conformances:Collection, Sequence
Same-type constraints:
T.SubSequence == T.SubSequence.SubSequence [derived],
T.SubSequence.SubSequence == T.SubSequence.SubSequence.SubSequence [derived],
T.SubSequence.SubSequence == T.SubSequence.SubSequence.SubSequence [derived]
---Rewrite tree---
`--(cont'd)
`--Collection.Indices
| `--Sequence.Element --> [Collection.Index]
`--Collection.SubSequence --> []
`--Collection.Index --> [Collection.Indices -> Sequence.Element]
* Equivalence class represented by τ_0_0[.Collection].Index:
Members: τ_0_0[.Collection].Index
Conformances:Comparable, Equatable
Same-type constraints:
* Equivalence class represented by τ_0_0[.Collection].Indices:
Members: τ_0_0[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence
Conformances:Collection, Sequence
Same-type constraints:
T.Indices == T.Indices.SubSequence [derived],
T.Indices.SubSequence == T.Indices.SubSequence.SubSequence [derived],
T.Indices.SubSequence.SubSequence == T.Indices.SubSequence.SubSequence.SubSequence [derived],
T.Indices.SubSequence.SubSequence == T.Indices.SubSequence.SubSequence.SubSequence [derived],
T.Indices.SubSequence == T.Indices.SubSequence.SubSequence [derived]
---Rewrite tree---
`--(cont'd)
`--Collection.Indices
| `--Sequence.Element --> [Collection.Index]
`--Collection.SubSequence --> []
| `--Collection.Index --> [Collection.Indices -> Sequence.Element]
`--Collection.Index --> [Sequence.Element]
* Equivalence class represented by τ_0_0[.Collection].Indices[.Sequence].Iterator:
Members: τ_0_0[.Collection].Indices[.Sequence].Iterator, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Iterator
Conformances:IteratorProtocol
Same-type constraints:
T.Indices.Iterator == T.Indices.SubSequence.Iterator [derived]
* Equivalence class represented by τ_0_0[.Collection].Indices[.Collection].Indices:
Members: τ_0_0[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices
Conformances:Collection, Sequence
Same-type constraints:
T.Indices.Indices == T.Indices.Indices.SubSequence [derived],
T.Indices.Indices == T.Indices.SubSequence.Indices [derived],
T.Indices.SubSequence.Indices == T.Indices.SubSequence.Indices.SubSequence [derived],
T.Indices.SubSequence.Indices == T.Indices.SubSequence.SubSequence.Indices [derived],
T.Indices.Indices.SubSequence == T.Indices.SubSequence.Indices.SubSequence [derived]
* Equivalence class represented by τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Indices:
Members: τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Indices
Conformances:
Same-type constraints:
T.Indices.Indices.Indices == T.Indices.SubSequence.Indices.Indices [derived]
* Equivalence class represented by τ_0_0[.Collection].Indices[.Sequence].Element:
Members: τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index
Conformances:Comparable, Equatable
Same-type constraints:
T.Indices.Element == T.Indices.SubSequence.Element [derived],
T.Indices.Element == T.Indices.Index [derived],
T.Indices.Index == T.Indices.SubSequence.Index [derived],
T.Indices.Indices.Element == T.Indices.Indices.Index [derived],
T.Indices.Indices.Index == T.Indices.SubSequence.Index [derived],
T.Indices.SubSequence.Index == T.Indices.SubSequence.SubSequence.Index [derived],
T.Indices.SubSequence.Indices.Element == T.Indices.SubSequence.Indices.Index [derived],
T.Indices.SubSequence.Indices.Index == T.Indices.SubSequence.SubSequence.Index [derived],
T.Indices.SubSequence.Indices.Element == T.Indices.SubSequence.Indices.Index [derived],
T.Indices.Indices.Element == T.Indices.SubSequence.Indices.Element [derived],
T.Indices.Indices.Index == T.Indices.SubSequence.Indices.Index [derived],
T.Indices.Index == T.SubSequence.Index [derived],
T.SubSequence.Index == T.SubSequence.SubSequence.Index [derived],
T.SubSequence.Indices.Element == T.SubSequence.Indices.Index [derived],
T.SubSequence.Indices.Index == T.SubSequence.Indices.SubSequence.Index [derived],
T.SubSequence.Indices.Indices.Element == T.SubSequence.Indices.Indices.Index [derived],
T.SubSequence.Indices.Indices.Index == T.SubSequence.Indices.SubSequence.Index [derived],
T.SubSequence.Indices.Index == T.SubSequence.SubSequence.Index [derived],
T.SubSequence.SubSequence.Index == T.SubSequence.Indices.Indices.Element [derived],
T.SubSequence.Indices.Indices.Element == T.SubSequence.Indices.Indices.Index [derived],
T.SubSequence.Index == T.Indices.Indices.Element [derived],
T.Indices.Indices.Element == T.Indices.Indices.Index [derived],
T.Indices.Indices.Index == T.SubSequence.Indices.Element [derived],
T.SubSequence.Indices.Element == T.SubSequence.Indices.Index [derived],
T.SubSequence.Indices.Index == T.SubSequence.Indices.Indices.Element [derived],
T.SubSequence.Indices.Indices.Element == T.SubSequence.Indices.Indices.Index [derived]
---Rewrite tree---
`--(cont'd)
* Equivalence class represented by τ_0_0[.Collection].SubSequence[.Sequence].Iterator:
Members: τ_0_0[.Collection].SubSequence[.Sequence].Iterator
Conformances:IteratorProtocol
Same-type constraints:
* Equivalence class represented by τ_0_0[.Collection].SubSequence[.Collection].Indices:
Members: τ_0_0[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices
Conformances:Collection, Sequence
Same-type constraints:
T.SubSequence.Indices == T.SubSequence.Indices.SubSequence [derived],
T.SubSequence.Indices.SubSequence == T.SubSequence.Indices.SubSequence.SubSequence [derived],
T.SubSequence.Indices.SubSequence == T.SubSequence.Indices.SubSequence.SubSequence [derived],
T.SubSequence.Indices == T.SubSequence.SubSequence.Indices [derived]
* Equivalence class represented by τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Iterator:
Members: τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Iterator
Conformances:IteratorProtocol
Same-type constraints:
* Equivalence class represented by τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices:
Members: τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Indices
Conformances:Collection, Sequence
Same-type constraints:
T.SubSequence.Indices.Indices == T.SubSequence.Indices.Indices.SubSequence [derived],
T.SubSequence.Indices.Indices == T.SubSequence.Indices.SubSequence.Indices [derived]
* Equivalence class represented by τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Indices:
Members: τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Indices
Conformances:
Same-type constraints:
Delayed requirements:
T.SubSequence.Indices.SubSequence.Index == T.SubSequence.Indices.Indices.Indices.Element
T.SubSequence.Indices.Indices.Indices.Element == T.SubSequence.Indices.Indices.Indices.Index
T.SubSequence.Indices.Indices.Indices.Index == T.SubSequence.Indices.SubSequence.Indices.Element
Potential archetypes:
τ_0_0: Collection *[T: Explicit @ 1:19] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self in Collection)]
Element
Iterator: IteratorProtocol [T: Explicit @ 1:19 -> Protocol requirement (via Self in Collection) -> Protocol requirement (via Self.Iterator in Sequence)]
SubSequence: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection)] & Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.SubSequence in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection)] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence]
Element
Iterator: IteratorProtocol [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection) -> Protocol requirement (via Self.Iterator in Sequence)]
SubSequence [represented by τ_0_0[.Collection].SubSequence] [equivalence class τ_0_0[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence]
SubSequence [represented by τ_0_0[.Collection].SubSequence] [equivalence class τ_0_0[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index]
Indices [represented by τ_0_0[.Collection].SubSequence[.Collection].Indices] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence]
Index: Comparable [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Index in Collection)] & Equatable [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Index in Collection) -> Protocol requirement (via Self in Comparable)] [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection)] & Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection)] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
Element [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Iterator: IteratorProtocol [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection) -> Protocol requirement (via Self.Iterator in Sequence)]
SubSequence [represented by τ_0_0[.Collection].SubSequence[.Collection].Indices] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
SubSequence [represented by τ_0_0[.Collection].SubSequence[.Collection].Indices] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices [represented by τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].SubSequence]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Indices in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection)] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Indices]
SubSequence [represented by τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Indices]
Element [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices
Index: Comparable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Index in Collection)] & Equatable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Index in Collection) -> Protocol requirement (via Self in Comparable)]
Indices: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection)] & Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection)] [equivalence class τ_0_0[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence]
Element: Comparable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Index in Collection)] & Comparable [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Index in Collection)] & Equatable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Index in Collection) -> Protocol requirement (via Self in Comparable)] & Equatable [T: Explicit @ 1:19 -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Index in Collection) -> Protocol requirement (via Self in Comparable)] [equivalence class τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Iterator: IteratorProtocol [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection) -> Protocol requirement (via Self.Iterator in Sequence)] & IteratorProtocol [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection) -> Protocol requirement (via Self.Iterator in Sequence)] [equivalence class τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Iterator]
SubSequence: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.SubSequence in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self in Collection)] [represented by τ_0_0[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence]
Element [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Iterator [represented by τ_0_0[.Collection].Indices[.Sequence].Iterator] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Iterator]
SubSequence [represented by τ_0_0[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].SubSequence]
SubSequence [represented by τ_0_0[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices [represented by τ_0_0[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices [represented by τ_0_0[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
SubSequence [represented by τ_0_0[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
Element [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices [represented by τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Indices]
Index: Comparable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Index in Collection)] & Equatable [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Index in Collection) -> Protocol requirement (via Self in Comparable)] [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices: Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Indices in Collection)] & Collection [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection)] & Sequence [T: Explicit @ 1:19 -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self.SubSequence in Collection) -> Protocol requirement (via Self.Indices in Collection) -> Protocol requirement (via Self in Collection)] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
SubSequence [represented by τ_0_0[.Collection].Indices[.Collection].Indices] [equivalence class τ_0_0[.Collection].Indices[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Indices]
Element [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Index [represented by τ_0_0[.Collection].Indices[.Sequence].Element] [equivalence class τ_0_0[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Sequence].Element, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].Indices[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].Indices[.Collection].SubSequence[.Collection].Index, τ_0_0[.Collection].SubSequence[.Collection].SubSequence[.Collection].Index]
Indices [equivalence class τ_0_0[.Collection].Indices[.Collection].SubSequence[.Collection].Indices[.Collection].Indices]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment