Using the definite description operator, we can introduce a new function symbol if b then x else y.
An alternative would be to add if b then x else y as a constant and replace the previous theorems by axioms. We prefer to limit the number of axioms because this should help to detect a contradiction in our assumptions. Moreover, we are not replacing two axioms by a more powerful one, because the definite description principle is a conservative axiom.
case.if.B added as introduction rule (abbrev: if
, options: -t
)
The case.if.B theorem can not be added as an introduction rule
because it would be an introduction rule for any predicate !
Nevertheless it is added as a "totality rule" (using the command new_intro -t
. This tells the trivial
tactic to use it when the goal is
of the form P (if b then c_1 else c_2) with P atomic. This is
useful to prove that functions using $if are total.
Natural numbers : second order definitionChristophe Raffalli, Paul RoziereParis VII, Paris XII university