Skip to content

Commit cbb021e

Browse files
committed
Fix nits
1 parent fe9dc61 commit cbb021e

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/traits/wf.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,18 @@ In addition to the notations introduced in the chapter about
2727
lowering rules, we'll introduce another notation: when checking WF of a
2828
declaration, we'll often have to prove that all types that appear are
2929
well-formed, except type parameters that we always assume to be WF. Hence,
30-
we'll use the following notation: for a type `SomeType<...>`, we denote
31-
`InputTypes(SomeType<...>)` the set of all non-parameter types appearing in
32-
`SomeType<...>`, including `SomeType<...>` itself.
30+
we'll use the following notation: for a type `SomeType<...>`, we define
31+
`InputTypes(SomeType<...>)` to be the set of all non-parameter types appearing
32+
in `SomeType<...>`, including `SomeType<...>` itself.
3333

3434
Examples:
3535
* `InputTypes((u32, f32)) = [u32, f32, (u32, f32)]`
36-
* `InputTypes(Box<T>) = [Box<T>]`
36+
* `InputTypes(Box<T>) = [Box<T>]` (assuming that `T` is a type parameter)
3737
* `InputTypes(Box<Box<T>>) = [Box<T>, Box<Box<T>>]`
3838

39-
We may naturally extend the `InputTypes` notation to where clauses, for example
40-
`InputTypes(A0: Trait<A1,...,An>)` is the union of `InputTypes(A0)`,
41-
`InputTypes(A1)`, ..., `InputTypes(An)`.
39+
We also extend the `InputTypes` notation to where clauses in the natural way.
40+
So, for example `InputTypes(A0: Trait<A1,...,An>)` is the union of
41+
`InputTypes(A0)`, `InputTypes(A1)`, ..., `InputTypes(An)`.
4242

4343
# Type definitions
4444

@@ -51,7 +51,7 @@ struct Type<P...> where WC_type {
5151
}
5252
```
5353

54-
we generate the following goal:
54+
we generate the following goal, which represents its well-formedness condition:
5555
```text
5656
forall<P...> {
5757
if (FromEnv(WC_type)) {
@@ -63,7 +63,7 @@ forall<P...> {
6363
}
6464
```
6565

66-
which in English gives: assuming that the where clauses defined on the type
66+
which in English states: assuming that the where clauses defined on the type
6767
hold, prove that every type appearing in the type definition is well-formed.
6868

6969
Some examples:
@@ -284,7 +284,7 @@ Next, still assuming that the where clauses on the impl `WC_impl` hold and that
284284
the input types of `SomeType<A2...>` are well-formed, we prove that
285285
`WellFormed(SomeType<A2...>: Trait<A1...>)` hold. That is, we want to prove
286286
that `SomeType<A2...>` verify all the where clauses that might transitively
287-
come from the `Trait` definition (see
287+
be required by the `Trait` definition (see
288288
[this subsection](./implied-bounds.md#co-inductiveness-of-wellformed)).
289289

290290
Lastly, assuming in addition that the where clauses on the associated type

0 commit comments

Comments
 (0)