@@ -22,7 +22,7 @@ TODO: Add sections about interactions with topological typeclasses, and order ty
2222@[expose] public section
2323
2424
25- library_note2 «the algebraic hierarchy » /-- # The algebraic hierarchy
25+ library_note «the algebraic hierarchy » /-- # The algebraic hierarchy
2626
2727In any theorem proving environment,
2828there are difficult decisions surrounding the design of the "algebraic hierarchy".
@@ -189,7 +189,7 @@ Hopefully this document makes it easy to assemble this list.
189189Another alternative to a TODO list in the doc-strings is adding Github issues.
190190-/
191191
192- library_note2 «reducible non-instances» /--
192+ library_note «reducible non-instances» /--
193193Some definitions that define objects of a class cannot be instances, because they have an
194194explicit argument that does not occur in the conclusion. An example is `Preorder.lift` that has a
195195function `f : α → β` as an explicit argument to lift a preorder on `β` to a preorder on `α`.
@@ -206,7 +206,7 @@ sometimes comes from `Units.Preorder` and sometimes from `Units.PartialOrder`.
206206Therefore, `Preorder.lift` and `PartialOrder.lift` are marked `@[reducible]`.
207207-/
208208
209- library_note2 «implicit instance arguments» /--
209+ library_note «implicit instance arguments» /--
210210There are places where typeclass arguments are specified with implicit `{}` brackets instead of
211211the usual `[]` brackets. This is done when the instances can be inferred because they are implicit
212212arguments to the type of one of the other arguments. There are several reasons for doing so.
@@ -226,7 +226,7 @@ abelian groups, but terms `A : ModuleCat ℤ` come with two (propeq) `Module ℤ
226226one from being `ℤ`-modules, and one from being abelian groups.
227227-/
228228
229- library_note2 «lower instance priority» /--
229+ library_note «lower instance priority» /--
230230Certain instances always apply during type-class resolution. For example, the instance
231231`AddCommGroup.toAddGroup {α} [AddCommGroup α] : AddGroup α` applies to all type-class
232232resolution problems of the form `AddGroup _`, and type-class inference will then do an
@@ -243,7 +243,7 @@ Therefore, if we create an instance that always applies, we set the priority of
243243100 (or something similar, which is below the default value of 1000).
244244-/
245245
246- library_note2 «instance argument order» /--
246+ library_note «instance argument order» /--
247247When type class inference applies an instance, it attempts to solve the sub-goals from left to
248248right (it used to be from right to left in lean 3). For example in
249249```
0 commit comments