748,466 research outputs found
Second-Order Functions and Theorems in ACL2
SOFT ('Second-Order Functions and Theorems') is a tool to mimic second-order
functions and theorems in the first-order logic of ACL2. Second-order functions
are mimicked by first-order functions that reference explicitly designated
uninterpreted functions that mimic function variables. First-order theorems
over these second-order functions mimic second-order theorems universally
quantified over function variables. Instances of second-order functions and
theorems are systematically generated by replacing function variables with
functions. SOFT can be used to carry out program refinement inside ACL2, by
constructing a sequence of increasingly stronger second-order predicates over
one or more target functions: the sequence starts with a predicate that
specifies requirements for the target functions, and ends with a predicate that
provides executable definitions for the target functions.Comment: In Proceedings ACL2 2015, arXiv:1509.0552
Second Order Inductive Logic and Wilmers' Principle
We extend the framework of Inductive Logic to Second Order languages and introduce Wilmers' Principle, a rational principle for probability functions on Second Order languages. We derive a representation theorem for functions satisfying this principle and investigate its relationship to the first order principles of Regularity and Super Regularity
Boolean Dependence Logic and Partially-Ordered Connectives
We introduce a new variant of dependence logic called Boolean dependence
logic. In Boolean dependence logic dependence atoms are of the type
=(x_1,...,x_n,\alpha), where \alpha is a Boolean variable. Intuitively, with
Boolean dependence atoms one can express quantification of relations, while
standard dependence atoms express quantification over functions.
We compare the expressive power of Boolean dependence logic to dependence
logic and first-order logic enriched by partially-ordered connectives. We show
that the expressive power of Boolean dependence logic and dependence logic
coincide. We define natural syntactic fragments of Boolean dependence logic and
show that they coincide with the corresponding fragments of first-order logic
enriched by partially-ordered connectives with respect to expressive power. We
then show that the fragments form a strict hierarchy.Comment: 41 page
First-order definable string transformations
The connection between languages defined by computational models and logic
for languages is well-studied. Monadic second-order logic and finite automata
are shown to closely correspond to each-other for the languages of strings,
trees, and partial-orders. Similar connections are shown for first-order logic
and finite automata with certain aperiodicity restriction. Courcelle in 1994
proposed a way to use logic to define functions over structures where the
output structure is defined using logical formulas interpreted over the input
structure. Engelfriet and Hoogeboom discovered the corresponding "automata
connection" by showing that two-way generalised sequential machines capture the
class of monadic-second order definable transformations. Alur and Cerny further
refined the result by proposing a one-way deterministic transducer model with
string variables---called the streaming string transducers---to capture the
same class of transformations. In this paper we establish a transducer-logic
correspondence for Courcelle's first-order definable string transformations. We
propose a new notion of transition monoid for streaming string transducers that
involves structural properties of both underlying input automata and variable
dependencies. By putting an aperiodicity restriction on the transition monoids,
we define a class of streaming string transducers that captures exactly the
class of first-order definable transformations.Comment: 31 page
Research in mathematical theory of computation
Research progress in the following areas is reviewed: (1) new version of computer program LCF (logic for computable functions) including a facility to search for proofs automatically; (2) the description of the language PASCAL in terms of both LCF and in first order logic; (3) discussion of LISP semantics in LCF and attempt to prove the correctness of the London compilers in a formal way; (4) design of both special purpose and domain independent proving procedures specifically program correctness in mind; (5) design of languages for describing such proof procedures; and (6) the embedding of ideas in the first order checker
- …