Skip to content

Commit e8aa91d

Browse files
authored
Update proving-metatheorems-proving-totality-assertions-about-the-natural-numbers.elf (#45)
Fix unfilled links
1 parent 2582c8e commit e8aa91d

1 file changed

+2
-2
lines changed

wiki/pages/proving-metatheorems-proving-totality-assertions-about-the-natural-numbers.elf

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ obeys the induction order ``N1`` specified in the above totality assertion becau
126126
%total N2 (plus _ N2 _).
127127
```
128128

129-
In addition to the subterm ordering on a single argument, Twelf supports [mutual induction](/wiki/mutual-induction/) and [[lexicographic induction]].
129+
In addition to the subterm ordering on a single argument, Twelf supports [mutual induction](/wiki/mutual-induction/) and [lexicographic induction](/wiki/percent-terminates/).
130130

131131
### Output coverage !}%
132132

@@ -142,7 +142,7 @@ plus-bad-output : plus (s N1) N2 (s (s N3))
142142

143143
Here we have insisted that the output of the premise has the form ``s N3`` for some ``N3``. Twelf correctly reports an output coverage error because this condition can fail (for example, if the premise was ``plus-z : plus z z z``).
144144

145-
Pattern-matching the output of a premise is like an [[inversion]] step in a proof: you're insisting that the premise derivation must conclude a particular fact that is more specific than the judgement form itself. For Twelf to accept a relation as total, Twelf must notice that all of these inversions are permissible. Twelf permits such inversions when it is readily apparent that they are justified, and those inversions that Twelf does not accept can be proved explicitly.
145+
Pattern-matching the output of a premise is like an <Todo>inversion</Todo> step in a proof: you're insisting that the premise derivation must conclude a particular fact that is more specific than the judgement form itself. For Twelf to accept a relation as total, Twelf must notice that all of these inversions are permissible. Twelf permits such inversions when it is readily apparent that they are justified, and those inversions that Twelf does not accept can be proved explicitly.
146146

147147
In this example, we got an output coverage error because we constrained the output of the premise by insisting it be formed by a particular constant. The other way to get output coverage errors is to insist that the output of a premise be a variable that occurs elsewhere in the type. For example:
148148

0 commit comments

Comments
 (0)