Major Section: SWITCHES-PARAMETERS-AND-MODES
Examples: (set-well-founded-relation lex2)provided
lex2
has been proved to be a well-founded relation
(see well-founded-relation). Note: This is an event! It does
not print the usual event summary but nevertheless changes the ACL2
logical world and is so recorded.
General Form: (set-well-founded-relation rel)where
rel
has been proved to be a well-founded relation on objects
satisfying some predicate, mp
; see well-founded-relation. This macro is
equivalent to (table acl2-defaults-table :well-founded-relation 'rel)
,
and hence is local
to any books and encapsulate
events
in which it occurs; see acl2-defaults-table.This event sets the default well-founded relation to be that imposed
on mp
-measures by the relation rel
. Subsequently, if a recursively
defined function is submitted to defun
with no explicitly given
:
well-founded-relation
argument, defun
uses the default relation,
rel
, and the associated domain predicate mp
used in its
well-foundedness theorem. That is, the termination conditions
generated will require proving that the measure used by the defun
is
an mp
-measure and that in every recursive call the measure of the
arguments decreases according to rel
.