90 research outputs found
ON PRODUCT DIFFERENCE FIBONACCI IDENTITIES
Simson's identity is a well-known Fibonacci identity in which the difference of certain order 2 products has a particularly pleasing form. Other old and beautiful identities of a similar nature are attributed to Catalan, Gelin and Cesaro, and Tagiuri. Catalan's identity can be described as a family of product difference Fibonacci identities of order 2 with 1 parameter. In Section 2 of this paper we present four families of product difference Fibonacci identities that involve higher order products. Being self-dual, each of these families may be regarded as a higher order analogue of Catalan's identity. We also state two conjectures that give the form of similar families of arbitrary order. In the final section we give other interesting product difference Fibonacci identities
Analogues of Jacobi's two-square theorem: an informal account
Jacobi's two-square theorem states that the number of representations of a positive integer k as a sum of two squares, counting order and sign, is 4 times the surplus of positive divisors of k congruent to 1 modulo 4 over those congruent to 3 modulo 4. In this paper we give numerous identities, each of which yields an analogue of Jacobi's result. Our identities are drawn from a much larger list, and involve polygonal numbers. The formula for the nth k-gonal number i
Equivalence Checking a Floating-point Unit against a High-level C Model
Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register Transfer Level (RTL) implementation is created in Verilog, either manually by a designer or automatically by a high-level synthesis tool. It is essential to check that the C and Verilog programs are consistent. In this paper, we present a two-step approach, embodied in two equivalence checking tools, VERIFOX and HW-CBMC, to validate designs at the software and RTL levels, respectively. VERIFOX is used for equivalence checking of an untimed software model in C against a high-level reference model in C. HW-CBMC verifies the equivalence of a Verilog RTL implementation against an untimed software model in C. To evaluate our tools, we applied them to a commercial floating-point arithmetic unit (FPU) from ARM and an open-source dual-path floating-point adder
Generating test case chains for reactive systems
Testing of reactive systems is challenging because long input sequences are often needed to drive them into a state to test a desired feature. This is particularly problematic in on-target testing, where a system is tested in its real-life application environment and the amount of time required for resetting is high. This article presents an approach to discovering a test case chain—a single software execution that covers a group of test goals and minimizes overall test execution time. Our technique targets the scenario in which test goals for the requirements are given as safety properties. We give conditions for the existence and minimality of a single test case chain and minimize the number of test case chains if a single test case chain is infeasible. We report experimental results with our ChainCover tool for C code generated from Simulink models and compare it to state-of-the-art test suite generators
On the order of an automorphism of a smooth hypersurface
In this paper we give an effective criterion as to when a positive integer q
is the order of an automorphism of a smooth hypersurface of dimension n and
degree d, for every d>2, n>1, (n,d)\neq (2,4), and \gcd(q,d)=\gcd(q,d-1)=1.
This allows us to give a complete criterion in the case where q=p is a prime
number. In particular, we show the following result: If X is a smooth
hypersurface of dimension n and degree d admitting an automorphism of prime
order p then p(d-1)^n then X is isomorphic to the Klein
hypersurface, n=2 or n+2 is prime, and p=\Phi_{n+2}(1-d) where \Phi_{n+2} is
the (n+2)-th cyclotomic polynomial. Finally, we provide some applications to
intermediate jacobians of Klein hypersurfaces
Proving the Equivalence of Microstep and Macrostep Semantics
Abstract. Recently, an embedding of the synchronous programming language Quartz (an Esterel variant) in the theorem prover HOL has been presented. This embedding is based on control flow predicates that refer to macrosteps of the pro-grams. The original semantics of synchronous languages like Esterel is however normally given at the more detailed microstep level. This paper describes how a variant of the Esterel microstep semantics has been defined in HOL and how its equivalence to the control flow predicate semantics has been proved. Beneath proving the equivalence of the micro- and macrostep semantics, the work pre-sented here is also an important extension of the existing embedding: While rea-soning at the microstep level is not necessary for code generation, it is sometimes advantageous for understanding programs, as some effects like schizophrenia or causality problems become only visible at the microstep level.
A theorem proving framework for the formal verification of Web Services Composition
We present a rigorous framework for the composition of Web Services within a
higher order logic theorem prover. Our approach is based on the
proofs-as-processes paradigm that enables inference rules of Classical Linear
Logic (CLL) to be translated into pi-calculus processes. In this setting,
composition is achieved by representing available web services as CLL
sentences, proving the requested composite service as a conjecture, and then
extracting the constructed pi-calculus term from the proof. Our framework,
implemented in HOL Light, not only uses an expressive logic that allows us to
incorporate multiple Web Services properties in the composition process, but
also provides guarantees of soundness and correctness for the composition.Comment: In Proceedings WWV 2011, arXiv:1108.208
- …