12 Pages
English

Combining generic judgments with recursive definitions

-

Gain access to the library to view online
Learn more

Description

Niveau: Supérieur, Doctorat, Bac+8
Combining generic judgments with recursive definitions Andrew Gacek Department of CS&E University of Minnesota Dale Miller INRIA Saclay - Ile-de-France & LIX/Ecole polytechnique Gopalan Nadathur Department of CS&E University of Minnesota Abstract Many semantical aspects of programming languages, such as their operational semantics and their type assign- ment calculi, are specified by describing appropriate proof systems. Recent research has identified two proof-theoretic features that allow direct, logic-based reasoning about such descriptions: the treatment of atomic judgments as fixed points (recursive definitions) and an encoding of binding constructs via generic judgments. However, the logics en- compassing these two features have thus far treated them orthogonally: that is, they do not provide the ability to de- fine object-logic properties that themselves depend on an intrinsic treatment of binding. We propose a new and sim- ple integration of these features within an intuitionistic logic enhanced with induction over natural numbers and we show that the resulting logic is consistent. The pivotal benefit of the integration is that it allows recursive definitions to not just encode simple, traditional forms of atomic judg- ments but also to capture generic properties pertaining to such judgments. The usefulness of this logic is illustrated by showing how it can provide elegant treatments of object- logic contexts that appear in proofs involving typing calculi and of arbitrarily cascading substitutions that play a role in reducibility arguments.

  • quantification over

  • nominal constant

  • must behavior

  • free variable

  • rules involves

  • logic programming

  • such constants

  • has

  • clause

  • proof theoretic techniques


Subjects

Informations

Published by
Reads 12
Language English
CombininggenericjudgmentswithrecursivedefinitionsAndrewGacekDaleMillerGopalanNadathurDepartmentofCS&EINRIASaclay-Iˆle-de-FranceDepartmentofCS&EUniversityofMinnesota&LIX/E´colepolytechniqueUniversityofMinnesotaAbstractManysemanticalaspectsofprogramminglanguages,suchastheiroperationalsemanticsandtheirtypeassign-mentcalculi,arespecifiedbydescribingappropriateproofsystems.Recentresearchhasidentifiedtwoproof-theoreticfeaturesthatallowdirect,logic-basedreasoningaboutsuchdescriptions:thetreatmentofatomicjudgmentsasfixedpoints(recursivedefinitions)andanencodingofbindingconstructsviagenericjudgments.However,thelogicsen-compassingthesetwofeatureshavethusfartreatedthemorthogonally:thatis,theydonotprovidetheabilitytode-fineobject-logicpropertiesthatthemselvesdependonanintrinsictreatmentofbinding.Weproposeanewandsim-pleintegrationofthesefeatureswithinanintuitionisticlogicenhancedwithinductionovernaturalnumbersandweshowthattheresultinglogicisconsistent.Thepivotalbenefitoftheintegrationisthatitallowsrecursivedefinitionstonotjustencodesimple,traditionalformsofatomicjudg-mentsbutalsotocapturegenericpropertiespertainingtosuchjudgments.Theusefulnessofthislogicisillustratedbyshowinghowitcanprovideeleganttreatmentsofobject-logiccontextsthatappearinproofsinvolvingtypingcalculiandofarbitrarilycascadingsubstitutionsthatplayaroleinreducibilityarguments.Keywords:genericjudgments,higher-orderabstractsyn-tax,proofsearch,reasoningaboutoperationalsemantics1.IntroductionAnimportantapproachtospecifyingandreasoningaboutcomputationsinvolvesprooftheoryandproofsearch.Wediscussbelowthreekindsofjudgmentsaboutcomputa-tionalsystemsthatonemightwanttocaptureandtheprooftheoretictechniquesthathavebeenusedtocapturethem.Wedividethisdiscussionintotwoparts:thefirstpartdealswithjudgmentsoveralgebraictermsandthesecondwithjudgmentsoverterms-with-binders.Wethenexploitthisoverviewtodescribethenewfeaturesofthelogicwearepresentinginthispaper.1.1.JudgmentsinvolvingalgebraictermsWeoverviewfeaturesofprooftheorythatsupportrecur-sivedefinitionsaboutfirst-order(algebraic)termsand,us-ingCCSasanexample,weillustratethejudgmentsaboutcomputationsthatcanbeencodedthroughsuchdefinitions.(1)Logicprogramming,maybehaviorLogicprogram-minglanguagesallowforanaturalspecificationandani-mationofoperationalsemanticsandtypingjudgments:thisobservationgoesbacktoatleasttheCentaurprojectanditsanimationofTypolspecificationsusingProlog[5].Forexample,Hornclausesprovideasimpleandimmediateen-codingofCCSlabeledtransitionsystemsandunificationandbacktrackingprovideameansforexploringwhatisreachablefromagivenprocess.Traditionallogicprogram-mingis,however,limitedtomaybehaviorjudgments:us-ingit,wecannotprovethatagivenCCSprocessPcannotmakeatransitionand,sincethisnegativepropertyislogi-callyequivalenttoprovingthatPisbisimilarto0(thenullprocess),suchsystemscannotcapturebisimulation.(2)Modelchecking,mustbehaviorProoftheoretictechniquesformustbehaviors(suchasbisimulationandmanymodelcheckingproblems)havebeendevelopedintheearly1990’s[8,29]andfurtherextendedlater[15].Sincethesetechniquesworkbyunfoldingcomputationsun-tiltermination,theyareapplicabletorecursivedefinitionsthatarenoetherian.Asanexample,bisimulationforfiniteCCScanbegivenanimmediateanddeclarativespecifica-tion[17].(3)Theoremproving,infinitebehaviorReasoningaboutallmembersofadomainoraboutpossiblyinfiniteexecutionsrequiresinductionandcoinduction.Incorporat-inginductioninprooftheorygoesbacktoGentzen.Theworkin[15,23,33]providesinductionandcoinductionrulesassociatedwiththeabove-mentionedrecursivedefi-nitions.Insuchasetting,onecanprove,forexample,that(strong)bisimulationinCCSisacongruence.