Results 11 
16 of
16
Currystyle types for nominal rewriting
, 2006
"... Abstract. We define a type inference system for Nominal Rewriting where the types associated to terms are polymorphic (built from a set of base data sorts, type variables, and userdefined type constructors). In contrast with standard term rewriting systems or the λcalculus, a typing environment fo ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Abstract. We define a type inference system for Nominal Rewriting where the types associated to terms are polymorphic (built from a set of base data sorts, type variables, and userdefined type constructors). In contrast with standard term rewriting systems or the λcalculus, a typing environment for nominal rewriting includes type information for atoms, variables and function symbols. We give a syntaxdirected system of typing rules associating types to terms, and show that every typable term has a principal type in a given environment. Type inference is decidable; moreover, rewriting preserves types when rules are typable.
Coq and Hardware Verification: a Case Study
 TPHOLs'96, LCNS 1125
, 1996
"... . We present, on the example of a lefttoright comparator, several approaches for verifying a class of circuits with the Coq proofassistant. The great expressiveness of the Calculus of Inductive Constructions allows us to give precise and general specifications. Thanks to Coq's higherorder log ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We present, on the example of a lefttoright comparator, several approaches for verifying a class of circuits with the Coq proofassistant. The great expressiveness of the Calculus of Inductive Constructions allows us to give precise and general specifications. Thanks to Coq's higherorder logic, we state general results for establishing the correctness of such circuits. Finally, exploiting the constructive aspect of the logic, we show how to synthezise automatically a certified circuit from its specification. 1 Introduction During the past decade, intensive and dynamic research has developed in the field of mechanized theorem prover design, resulting in a great deal of new proof assistants. Hardware verification has been one of the original motivations and main applications of this area. Among the earliest and most significant achievements, let us mentionned the works of Gordon's group using HOL [14, 6] and the proof of the FM8501 [?] with Nqthm [5]. On the one hand, using ...
CurryStyle Types for Nominal Terms ⋆
"... Abstract. We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We define a rank 1 polymorphic type system for nominal terms, where typing environments type atoms, variables and function symbols. The interaction between type assumptions for atoms and substitution for variables is subtle: substitution does not avoid capture and so can move an atom into multiple different typing contexts. We give typing rules such that principal types exist and are decidable for a fixed typing environment. αequivalent nominal terms have the same types; a nontrivial result because nominal terms include explicit constructs for renaming atoms. We investigate rule formats to guarantee subject reduction. Our system is in a convenient Currystyle, so the user has no need to explicitly type abstracted atoms.
Decomposition of Domains
 University of Pennsylvania
, 1990
"... The problem of decomposing domains into sensible factors is addressed and solved for the case of dIdomains. A decomposition theorem is proved which allows the represention of a large subclass of dIdomains in a product of flat domains. Direct product decompositions of Scottdomains are studied s ..."
Abstract
 Add to MetaCart
The problem of decomposing domains into sensible factors is addressed and solved for the case of dIdomains. A decomposition theorem is proved which allows the represention of a large subclass of dIdomains in a product of flat domains. Direct product decompositions of Scottdomains are studied separately. 1 Introduction This work was initiated by Peter Buneman's interest in generalizing relational databases, see [6]. He  quite radically  dismissed the idea that a database should be forced into the format of an nary relation. Instead he allowed it to be an arbitrary antichain in a Scottdomain. The reason for this was that advanced concepts in database theory, such as `null values', `nested relations', and `complex objects' force one to augment relations and values with a notion of information order. Following Buneman's general approach, the question arises how to define basic database theoretic concepts such as `functional dependency' for antichains in Scottdomains. For...
October 1990 A short article for the
"... tax of a higherorder logic is to introduce some kind of typing scheme. One approach types firstorder individuals with #, sets of individuals with ###, sets of pairs of individuals with ####, sets of sets of individuals with #####, etc. Such a typing scheme does not provide types for function ..."
Abstract
 Add to MetaCart
tax of a higherorder logic is to introduce some kind of typing scheme. One approach types firstorder individuals with #, sets of individuals with ###, sets of pairs of individuals with ####, sets of sets of individuals with #####, etc. Such a typing scheme does not provide types for function symbols. Since in some treatments of higherorder logic, functions can be represented by their graphs, i.e. certain kinds of sets of ordered pairs, this lack is not a serious restriction. Identifying functions up to their graphs does, of course, treat functions extensionally, something that might be 1 too strong in some applications. (A logic is extensional if whenever two predicates or two functions are equal on all their arguments, they themselves are equal.) A more general approach to typing is that used in the Simple Theory of Types (Church, 1940). Here again, the type # is used to denote the set of firstorder individuals, and the type o is used to denote the sort of booleans, false
A short article for the Encyclopedia of Artificial Intelligence: Second Edition “Logic, Higherorder”
, 1991
"... While firstorder logic has syntactic categories for individuals, functions, and predicates, only quantification over individuals is permitted. Many concepts when translated into logic are, however, naturally expressed using quantifiers over functions and predicates. Leibniz’s principle of equality, ..."
Abstract
 Add to MetaCart
While firstorder logic has syntactic categories for individuals, functions, and predicates, only quantification over individuals is permitted. Many concepts when translated into logic are, however, naturally expressed using quantifiers over functions and predicates. Leibniz’s principle of equality, for example, states that two objects are to be taken as equal if they share the same properties; that is, a = b can be defined as ∀P [P (a) ≡ P (b)]. Of course, firstorder logic is very strong and it is possible to encode such a statement into it. For example, let app be a firstorder predicate symbol of arity two that is used to stand for the application of a predicate to an individual. Semantically, app(P, x) would mean P satisfies x or that the extension of the predicate P contains x. In this case, the quantified expression could be rewritten as the firstorder expression ∀P [app(P, a) ≡ app(P, b)] (appropriate axioms for describing app are required). Such an encoding is often done in a multisorted logic setting, where one sort is for individuals and another sort is for predicates over individuals. Settheory is another firstorder language that encodes such higherorder concepts