96 research outputs found
The use of proof plans in tactic synthesis
We undertake a programme of tactic synthesis. We first formalize the notion of
a tactic as a rewrite rule, then give a correctness criterion for this by means of a
reflection mechanism in the constructive type theory OYSTER. We further formalize
the notion of a tactic specification, given as a synthesis goal and a decidability
goal. We use a proof planner. CIAM. to guide the search for inductive proofs
of these, and are able to successfully synthesize several tactics in this fashion.
This involves two extensions to existing methods: context-sensitive rewriting and
higher-order wave rules. Further, we show that from a proof of the decidability
goal one may compile to a Prolog program a pseudo- tactic which may be run to
efficiently simulate the input/output behaviour of the synthetic tacti
An overview of decision table literature 1982-1995.
This report gives an overview of the literature on decision tables over the past 15 years. As much as possible, for each reference, an author supplied abstract, a number of keywords and a classification are provided. In some cases own comments are added. The purpose of these comments is to show where, how and why decision tables are used. The literature is classified according to application area, theoretical versus practical character, year of publication, country or origin (not necessarily country of publication) and the language of the document. After a description of the scope of the interview, classification results and the classification by topic are presented. The main body of the paper is the ordered list of publications with abstract, classification and comments.
Frex: dependently-typed algebraic simplification
We present an extensible, mathematically-structured algebraic simplification
library design. We structure the library using universal algebraic concepts: a
free algebra -- fral -- and a free extension -- frex -- of an algebra by a set
of variables. The library's dependently-typed API guarantees simplification
modules, even user-defined ones, are terminating, sound, and complete with
respect to a well-specified class of equations. Completeness offers intangible
benefits in practice -- our main contribution is the novel design. Cleanly
separating between the interface and implementation of simplification modules
provides two new modularity axes. First, simplification modules share thousands
of lines of infrastructure code dealing with term-representation,
pretty-printing, certification, and macros/reflection. Second, new
simplification modules can reuse existing ones. We demonstrate this design by
developing simplification modules for monoid varieties: ordinary, commutative,
and involutive. We implemented this design in the new Idris2 dependently-typed
programming language, and in Agda
The decisive reset: attainable governance for revitalising democracy
To improve democratic legitimacy, successful resolution of public policy challenges has to emerge from highly pressurised political predicaments. Increasing civic functionality requires integrative Civil Service practice, building trust in adaptive oversight. With the task of effective governance stretching out-of-reach in straining institutional arrangements, a proposition is developed for an âAttainable Governanceâ reset to revitalise democracy. Motivated by the need for progress that is sensitive to the reality and risks of the present and embodying requirements to hold open unforeseen possibilities for future action, the groundwork is laid for a new âdecision architectureâ that improves policy-framing and decision-making. With a mission to compose a conceptual framework for âfacing the futureâ in the United Kingdom, I make the case for refreshing democratic arrangements, including a proposed structural intervention to the policy-making system with a correlative cultural step-change in leadership. Laying out a novel framework, the analysis draws widely on strands of thinking in social theory and political philosophy, public administration and policy-making, systems thinking and design, planning and strategic management, anticipation and futures, economics, and sociology. Taking an âintegralâ methodological orientation, in three parts I: (1) diagnose the converging Predicament, (2) develop a conceptual Proposition, and 3) sketch-out an approach to leadership that facilitates operational adaption in Procedures for applied practice. Positing that we have to deal with systems-of-problems (âmessesâ) and system-of-systems (âsystemic messesâ) with an analytic primacy on expanding temporal considerations to factor in more anticipative insights, I take a Complex Adaptive Systems-informed stance. The need for a âDecisive Resetâ to refresh democracy, featuring phased systemic reordering and tactical modularity to produce better public decision-making that is responsive and agile in the short-run, while actively gauging medium-term realities and future-proofing for long-run uncertainties, results in a new decision architecture and methodology
Program Synthesis With Types
Program synthesis, the automatic generation of programs from specification, promises to fundamentally change the way that we build software. By using synthesis tools, we can greatly speed up the time it takes to build complex software artifacts as well as construct programs that are automatically correct by virtue of the synthesis process. Studied since the 70s, researchers have applied techniques from many different sub-fields of computer science to solve the program synthesis problem in a variety of domains and contexts. However, one domain that has been less explored than others is the domain of typed, functional programs. This is unfortunate because programs in richly-typed languages like OCaml and Haskell are known for ``writing themselves\u27\u27 once the programmer gets the types correct. In light of this observation, can we use type theory to build more expressive and efficient type-directed synthesis systems for this domain of programs? This dissertation answers this question in the affirmative by building novel type-theoretic foundations for program synthesis. By using type theory as the basis of study for program synthesis, we are able to build core synthesis calculi for typed, functional programs, analyze the calculi\u27s meta-theoretic properties, and extend these calculi to handle increasingly richer types and language features. In addition to these foundations, we also present an implementation of these synthesis systems, Myth, that demonstrates the effectiveness of program synthesis with types on real-world code
Metalevel and reflexive extension in mechanical theorem proving
In spite of many years of research into mechanical assistance for mathematics
it is still much more difficult to construct a proof on a machine than on
paper. Of course this is partly because, unlike a proof on paper, a machine
checked proof must be formal in the strictest sense of that word, but it is
also because usually the ways of going about building proofs on a machine
are limited compared to what a mathematician is used to. This thesis looks
at some possible extensions to the range of tools available on a machine
that might lend a user more flexibility in proving theorems, complementing
whatever is already available.In particular, it examines what is possible in a framework theorem
prover. Such a system, if it is configured to prove theorems in a particular
logic T, must have a formal description of the proof theory of T written
in the framework theory F of the system. So it should be possible to use
whatever facilities are available in F not only to prove theorems of T, but
also theorems about T that can then be used in their turn to aid the user
in building theorems of T.The thesis is divided into three parts. The first describes the theory
FSâ, which has been suggested by Feferman as a candidate for a framework
theory suitable for doing meta-theory. The second describes some experiments with FSâ, proving meta-theorems. The third describes an experiment
in extending the theory PRA, declared in FSâ, with a reflection facility.More precisely, in the second section three theories are formalised:
propositional logic, sorted predicate logic, and the lambda calculus (with
a deBruijn style binding). For the first two the deduction theorem and
the prenex normal form theorem are respectively proven. For the third, a
relational definition of beta-reduction is replaced with an explicit function.In the third section, a method is proposed for avoiding the work involved
in building a full Godel style proof predicate for a theory. It is suggested
that the language be extended with quotation and substitution facilities directly, instead of providing them as definitional extensions. With this, it
is possible to exploit an observation of Solovay's that the Lob derivability
conditions are sufficient to capture the schematic behaviour of a proof
predicate. Combining this with a reflection schema is enough to produce
a non-conservative extension of PRA, and this is demonstrated by some
experiments
- âŠ