Guessing_the_Type_of_a_Newly_Admitted_Function.html -- ACL2 Version 6.3

## Guessing the Type of a Newly Admitted Function

When a function is admitted to the logic, ACL2 tries to ``guess'' what type of object it returns. This guess is codified as a term that expresses a property of the value of the function. For `app` the term is

    (OR (CONSP (APP X Y))
        (EQUAL (APP X Y) Y))

which says that `app` returns either a cons or its second argument. This formula is added to ACL2's rule base as a `type-prescription` rule. Later we will discuss how rules are used by the ACL2 theorem prover. The point here is just that when you add a definition, the database of rules is updated, not just by the addition of the definitional axiom, but by several new rules.

You should now return to the Walking Tour.