179 research outputs found

    Speculate: discovering conditional equations and inequalities about black-box functions by reasoning from test results

    Get PDF
    This paper presents Speculate, a tool that automatically conjectures laws involving conditional equations and inequalities about Haskell functions. Speculate enumerates expressions involving a given collection of Haskell functions, testing to separate those expressions into apparent equivalence classes. Expressions in the same equivalence class are used to conjecture equations. Representative expressions of different equivalence classes are used to conjecture conditional equations and inequalities. Speculate uses lightweight equational reasoning based on term rewriting to discard redundant laws and to avoid needless testing. Several applications demonstrate the effectiveness of Speculate

    A Faithful Semantics for Generalised Symbolic Trajectory Evaluation

    Full text link
    Generalised Symbolic Trajectory Evaluation (GSTE) is a high-capacity formal verification technique for hardware. GSTE uses abstraction, meaning that details of the circuit behaviour are removed from the circuit model. A semantics for GSTE can be used to predict and understand why certain circuit properties can or cannot be proven by GSTE. Several semantics have been described for GSTE. These semantics, however, are not faithful to the proving power of GSTE-algorithms, that is, the GSTE-algorithms are incomplete with respect to the semantics. The abstraction used in GSTE makes it hard to understand why a specific property can, or cannot, be proven by GSTE. The semantics mentioned above cannot help the user in doing so. The contribution of this paper is a faithful semantics for GSTE. That is, we give a simple formal theory that deems a property to be true if-and-only-if the property can be proven by a GSTE-model checker. We prove that the GSTE algorithm is sound and complete with respect to this semantics

    A seamless, client-centric programming model for type safe web applications

    Get PDF
    We propose a new programming model for web applications which is (1) seamless; one program and one language is used to produce code for both client and server, (2) client-centric; the programmer takes the viewpoint of the client that runs code on the server rather than the other way around, (3) functional and type-safe, and (4) portable; everything is implemented as a Haskell library that implicitly takes care of all networking code. Our aim is to improve the painful and error-prone experience of today's standard development methods, in which clients and servers are coded in different languages and communicate with each other using ad-hoc protocols. We present the design of our library called Haste.App, an example web application that uses it, and discuss the implementation and the compiler technology on which it depends

    Handling Transitive Relations in First-Order Automated Reasoning

    Get PDF
    We present a number of alternative ways of handling transitive binary relations that commonly occur in first-order problems, in particular equivalence relations, total orders, and transitive relations in general. We show how such relations can be discovered syntactically in an input theory, and how they can be expressed in alternative ways. We experimentally evaluate different such ways on problems from the TPTP, using resolution-based reasoning tools as well as instance-based tools. Our conclusions are that (1) it is beneficial to consider different treatments of binary relations as a user, and that (2) reasoning tools could benefit from using a preprocessor or even built-in support for certain types of binary relations

    Tinjauan Fiqh Siyasah terhadap sistem pengawasan Hakim oleh Badan Pengawasan Mahkamah Agung

    Get PDF
    Skripsi dengan judul “Tinjauan Fiqh Siyasah Terhadap Sistem Pengawasan Hakim oleh Badan Pengawasan Mahkamah Agung” ini adalah hasil penelitian yang bertujuan untuk menjawab pertanyaan tentang bentuk pengawasan yang dilakukan oleh Mahkamah Agung terhadap lembaga peradilan yang berada dibawahnya. Hal ini didorong oleh adanya pelanggaran yang tergolong berat sehingga menarik dilihat lebih lanjut tentang sistem pengawasan hakim oleh Badan Pengawasan Mahkamah Agung pada Pengadilan Negeri Surabaya dalam perspektif Fiqh Siyasah. Data penelitian dihimpun melalui yuridis empiris yaitu metodologi penelitian yang terfokus terhadap wawancara, observasi dan studi dokumentasi yang diperoleh berkaitan dengan sistem pengawasan hakim di Pengadilan Negeri Surabaya yang dilakukan oleh Badan Pengawasan Mahkamah Agung sebagai bagian dari Mahkamah Agung yang diberikan tugas khusus untuk melakukan pengawasan kepada lembaga yang berada dibawahnya seperti Pengadilan Tinggi dan Pengadilan Pertama. Adapun itu nantinya di analisis dengan Fiqh Siya>sah sebagai suatu objek studi. Selanjutnya sumber-sumber dan wawancara yang dilakukan nantinya akan disusun secara deksriptif yang dimaksudkan untuk memperoleh data yang sedetail mungkin. Data yang diperoleh kemudian dikumpulkan dan disusun secara sistematis kemudian dianalisis. Hasil penelitian yang diperoleh bahwa sistem pengawasan yang dilakukan oleh Badan Pengawasan Mahkamah Agung itu bersifat aktif melalui dua cara yang antara lain pengawasan yang dilakukan secara langsung oleh Badan Pengawasan Mahkamah Agung dan oleh Pengadilan Tinggi sebagai pendelegasian yang dilakukan oleh Mahkamah Agung. Pengawasan yang dilakukan pun memiliki sifatnya masing-masing yang antara lain pertama, pengawasan yang bersifat rutin yang mana pengawasan ini dilakukan secara rutin sesuati peraturan yang sudah berlaku, kedua, pengawasan yang bersifat insidentil adalah pengawasan yang dilakukan apabila ada laporan atau pengaduan oleh masyarakat ataupun pegawai atas tindakan yang dilakukan oleh hakim yang bersangkutan dan ketiga, pengawasan yang bersifat mendadak.adalah pengawasan yang dilakukan tanpa adanya pemberitahuan dan seketika ada pertemuan secara mendadak.Kesimpulan yang didapat bahwa Pada dasarnya lembaga al-hisbah wilayah al-hisbah ini sama dengan lembaga peradilan yaitu Badan Pengawasan Mahkamah Agung yang sama-sama mengawasi peradilan dengan tujuan supaya menjalankan peradilan yang bersih dan agung. Begitupun al-hisbah berada karena untuk menegakkan amar am’ruf nahi munkar supaya pengawasan itu tetap baik maka di bentuk atau dipilih seorang pengawas khusus yaitu Muhtasib. Mereka sama-sama memiliki tujuan yang sama dan pencapaian yang sama. Selain itu juga tidak luput adanya pengawasan paling tertinggi yaitu pengawasan yang dilakukan oleh Allah SWT. Sebaiknya untuk pengawasan dijadwalkan lebih dahulu supaya pada saat proses pengawasan berjalan dengan efektif dan efisien

    Inferring Morphological Rules from Small Examples using 0/1 Linear Programming

    Get PDF
    We show how to express the problem of finding an optimal morpheme segmentation from a set of labelled words as a 0/1 linear programming problem, and how to build on this to analyse a language’s morphology. The result is an automatic method for segmentation and labelling that works well even when there is very little training data available

    Automating Inductive Proofs using Theory Exploration

    Get PDF
    HipSpec is a system for automatically deriving and proving properties about functional programs. It uses a novel approach, combining theory exploration, counterexample testing and inductive theorem proving. HipSpec automatically generates a set of equational theorems about the available recursive functions of a program. These equational properties make up an algebraic specification for the program and can in addition be used as a background theory for proving additional user-stated properties. Experimental results are encouraging: HipSpec compares favourably to other inductive theorem provers and theory exploration systems

    Proving Type Class Laws for Haskell

    Full text link
    Type classes in Haskell are used to implement ad-hoc polymorphism, i.e. a way to ensure both to the programmer and the compiler that a set of functions are defined for a specific data type. All instances of such type classes are expected to behave in a certain way and satisfy laws associated with the respective class. These are however typically just stated in comments and as such, there is no real way to enforce that they hold. In this paper we describe a system which allows the user to write down type class laws which are then automatically instantiated and sent to an inductive theorem prover when declaring a new instance of a type class.Comment: Presented at the Symposium for Trends in Functional Programming, 201

    Ranking programs using black box testing

    Get PDF
    We present an unbiased method for measuring the relative quality of different solutions to a programming problem. Our method is based on identifying possible bugs from program behaviour through black-box testing. The main motivation for such a method is its use in experimental evaluation of software development methods. We report on the use of our method in a small-scale such experiment, which was aimed at evaluating the effectiveness of property-based testing vs. unit testing in software development. Copyright 2010 ACM

    Constraint Grammar as a SAT problem

    Get PDF
    We represent Constraint Grammar (CG) as a Boolean satisfiability (SAT) problem. Encoding CG in logic brings some new features to the grammars. The rules are interpreted in a more declarative way, which makes it possible to abstract away from details such as cautious context and ordering. A rule is allowed to affect its context words, which makes the number of the rules in a grammar potentially smaller. Ordering can be preserved or discarded; in the latter case, we solve eventual rule conflicts by finding a solution that discards the least number of rule applications. We test our implementation by parsing texts in the order of 10,000s–100,000s words, using grammars with hundreds of rules
    • …
    corecore