5 Mixing Reasoning at Diierent Levels 4 Metatheoretic Reasoning
Gac,F Giunchiglia,A Armando,A Cimatti,E Giunchiglia,P Pecchiari,L Seraani,A Simpson,P Traverso,Getfol,M J Gmw,A J Gordon,C P Wadsworth Milner,Edinburgh Lcf-A,Edinburgh Bvhh,A Bundy,F Van Harmelen,J Hesketh,A Smaill,A A Stevens,Ra,F Allen,H M Bromley,Baseprec,Stepprec,Spec Eq,Eq Gen,Gen x,Mp ? ` A ` A ! B ? ; ` B Gen
1990-01-01
Abstract:GT91b] F. Giunchiglia and P. Traverso. Reeective reasoning with and between a declarative metatheory and the implementation code. 15 a mathematical theory can be implemented in an object theory, with the appropriate language, axioms and rules of inference; the metatheory is rst order and distinguished from the object theory, with possibly diierent language, axioms and rules; (mathematical) reasoning can be performed { as deduction in the object theory; { as deduction in the metatheory of a metatheoretic representation of the object level proof, plus applications of reeection up and down; { combining reasoning at the object level and at the meta level. In GETFOL it is actually possible to deene a tower of an arbitrary number of metathe-ories. In this structure, the reasoning at one level is represented one level up. Using a tower of metatheories allows the user to perform mathematical reasoning by going up arbitrarily high and arbitrarily down till the object level, thus combining reasoning at any level. The properties of the system described in this paper for a two theory framework generalize to the case of the tower. References BM81] R.S. Boyer and J.S. Moore. Metafunctions: proving them correct and using them eeciently as new proof procedures. BW81] A. Bundy and B. Welham. Using meta-level inference for selective application of multiple rewrite rules in algebraic manipulation. 14 We reason in the metatheory by deducing a metalevel theorem representing the whole proof performed by proving the base case, the step case and by applying induction. Let us suppose we have a macro-rule which allows to prove the theorem in gure 4 in one step and call it RESOLVE. We tell the system to call associativity the resulting theorem: associativity has been proved only by metareasoning. We can now use evaluation in the model plus reeection down to aaect the object theory: GETFOL:: SWITCHCONTEXT OT; You are now using the context OT. 6.3 Case 3: object level and metalevel reasoning A third alternative is to build the proof partially by metatheoretic and by object level reasoning. Notice that between two reeect commands, we can perform deduction in the meta theory as well as in the object theory. 7 Conclusions The characteristics of GETFOL described here are: 13 GETFOL:: SHOW axiom; ind : forall x. x = x b+ : forall x. x = 0 + x s+ : forall x y. s(x + y) = s(x) + y. …