21,073 research outputs found

    Automatic Deduction in Dynamic Geometry using Sage

    Full text link
    We present a symbolic tool that provides robust algebraic methods to handle automatic deduction tasks for a dynamic geometry construction. The main prototype has been developed as two different worksheets for the open source computer algebra system Sage, corresponding to two different ways of coding a geometric construction. In one worksheet, diagrams constructed with the open source dynamic geometry system GeoGebra are accepted. In this worksheet, Groebner bases are used to either compute the equation of a geometric locus in the case of a locus construction or to determine the truth of a general geometric statement included in the GeoGebra construction as a boolean variable. In the second worksheet, locus constructions coded using the common file format for dynamic geometry developed by the Intergeo project are accepted for computation. The prototype and several examples are provided for testing. Moreover, a third Sage worksheet is presented in which a novel algorithm to eliminate extraneous parts in symbolically computed loci has been implemented. The algorithm, based on a recent work on the Groebner cover of parametric systems, identifies degenerate components and extraneous adherence points in loci, both natural byproducts of general polynomial algebraic methods. Detailed examples are discussed.Comment: In Proceedings THedu'11, arXiv:1202.453

    Translating E/R-diagrams into consistent database specifications

    Get PDF
    Semi formal methods, for example those which are used in the database community, are useful for communication between developers and clients. But they are not useful for formal verification.To overcome this problem it is possible to translate E/R-diagrams into first order algebraic specifications. The aim of our task was to prove the consistency of such translate specifications. To realize the proof we use the KIV (Karlsruhe Interactive Verifier) approach for the development of correct large software systems, i.e. we prove the consistency indirect by proving the correctness of an implementation. For this purpose we automatically translate E/R-diagrams not only in an algebraic specification, but in a modular system containing structured specifications and implementations. For a concrete E/R-diagram we can prove the correctness with the KIV system. Because the translation is uniform a generalized handmade proof for arbitrary but fixed E/R-diagrams is possible, and presented in this paper. This paper also includes an exemplary translation of an E/R-diagram with 5 entities and 6 relations. The generated modular system contains 33 specifications with more than 300 specified operations and more than 500 axioms. Furthermore the implementation contains more than 2200 lines of code

    Lightweight Formal Verification in Classroom Instruction of Reasoning about Functional Code

    Full text link
    In college courses dealing with material that requires mathematical rigor, the adoption of a machine-readable representation for formal arguments can be advantageous. Students can focus on a specific collection of constructs that are represented consistently. Examples and counterexamples can be evaluated. Assignments can be assembled and checked with the help of an automated formal reasoning system. However, usability and accessibility do not have a high priority and are not addressed sufficiently well in the design of many existing machine-readable representations and corresponding formal reasoning systems. In earlier work [Lap09], we attempt to address this broad problem by proposing several specific design criteria organized around the notion of a natural context: the sphere of awareness a working human user maintains of the relevant constructs, arguments, experiences, and background materials necessary to accomplish the task at hand. We report on our attempt to evaluate our proposed design criteria by deploying within the classroom a lightweight formal verification system designed according to these criteria. The lightweight formal verification system was used within the instruction of a common application of formal reasoning: proving by induction formal propositions about functional code. We present all of the formal reasoning examples and assignments considered during this deployment, most of which are drawn directly from an introductory text on functional programming. We demonstrate how the design of the system improves the effectiveness and understandability of the examples, and how it aids in the instruction of basic formal reasoning techniques. We make brief remarks about the practical and administrative implications of the system’s design from the perspectives of the student, the instructor, and the grader
    • …
    corecore