ACL2-PC::HYPS

(macro) ` `print the hypotheses
```Major Section:  PROOF-CHECKER-COMMANDS
```

```Examples:
hyps               -- print all (top-level) hypotheses
(hyps (1 3) (2 4)) -- print hypotheses 1 and 3 and governors 2 and 4
(hyps (1 3) t)     -- print hypotheses 1 and 3 and all governors

General Form:
(hyps &optional hyps-indices govs-indices)
```
Print the indicated top-level hypotheses and governors. (The notion of ``governors'' is defined below.) Here, `hyps-indices` and `govs-indices` should be lists of indices of hypotheses and governors (respectively), except that the atom `t` may be used to indicate that one wants all hypotheses or governors (respectively).

The list of ``governors'' is defined as follows. Actually, we define here the notion of the governors for a pair of the form `<term`, address>]; we're interested in the special case where the term is the conclusion and the address is the current address. If the address is `nil`, then there are no governors, i.e., the list of governors is `nil`. If the term is of the form `(if x y z)` and the address is of the form `(2 . rest)` or `(3 . rest)`, then the list of governors is the result of `cons`ing `x` or its negation (respectively) onto the list of governors for the pair `<y, rest>` or the pair `<z, rest>` (respectively). If the term is of the form `(implies x y)` and the address is of the form `(2 . rest)`, then the list of governors is the result of `cons`ing `x` onto the list of governors for the pair `<y, rest>`. Otherwise, the list of governors for the pair `<term, (n . rest)>` is exactly the list of governors for the pair `<argn, rest>` where `argn` is the `n`th argument of `term`.

If all goals have been proved, a message saying so will be printed. (as there will be no current hypotheses or governors!).

The `hyps` command never causes an error. It ``succeeds'' (in fact its value is `t`) if the arguments (when supplied) are appropriate, i.e. either `t` or lists of indices of hypotheses or governors, respectively. Otherwise it ``fails'' (its value is `nil`).  