32,733 research outputs found
A Bi-Directional Refinement Algorithm for the Calculus of (Co)Inductive Constructions
The paper describes the refinement algorithm for the Calculus of
(Co)Inductive Constructions (CIC) implemented in the interactive theorem prover
Matita. The refinement algorithm is in charge of giving a meaning to the terms,
types and proof terms directly written by the user or generated by using
tactics, decision procedures or general automation. The terms are written in an
"external syntax" meant to be user friendly that allows omission of
information, untyped binders and a certain liberal use of user defined
sub-typing. The refiner modifies the terms to obtain related well typed terms
in the internal syntax understood by the kernel of the ITP. In particular, it
acts as a type inference algorithm when all the binders are untyped. The
proposed algorithm is bi-directional: given a term in external syntax and a
type expected for the term, it propagates as much typing information as
possible towards the leaves of the term. Traditional mono-directional
algorithms, instead, proceed in a bottom-up way by inferring the type of a
sub-term and comparing (unifying) it with the type expected by its context only
at the end. We propose some novel bi-directional rules for CIC that are
particularly effective. Among the benefits of bi-directionality we have better
error message reporting and better inference of dependent types. Moreover,
thanks to bi-directionality, the coercion system for sub-typing is more
effective and type inference generates simpler unification problems that are
more likely to be solved by the inherently incomplete higher order unification
algorithms implemented. Finally we introduce in the external syntax the notion
of vector of placeholders that enables to omit at once an arbitrary number of
arguments. Vectors of placeholders allow a trivial implementation of implicit
arguments and greatly simplify the implementation of primitive and simple
tactics
Modelling the Semantic Web using a Type System
We present an approach for modeling the Semantic Web as a type system. By
using a type system, we can use symbolic representation for representing linked
data. Objects with only data properties and references to external resources
are represented as terms in the type system. Triples are represented
symbolically using type constructors as the predicates. In our type system, we
allow users to add analytics that utilize machine learning or knowledge
discovery to perform inductive reasoning over data. These analytics can be used
by the inference engine when performing reasoning to answer a query.
Furthermore, our type system defines a means to resolve semantic heterogeneity
on-the-fly
A Definition of Agreement: Identifying Purely Unilateral Conduct In Vertical Price Restriction Cases
On Davidsonian and kimian states
Davidsonian event semantics has an impressive track record as a framework for natural language analysis. In recent years it has become popular to assume that not only action verbs but predicates of all sorts have an additional event argument. Yet, this hypothesis is not without controversy in particular wrt the particularly challenging case of statives. Maienborn (2003a, 2004) argues that there is a need for distinguishing two kinds of states. While verbs such as sit, stand, sleep refer to eventualities in the sense of Davidson (= Davidsonian states), the states denoted by such stative verbs like know, weigh,and own, as well as any combination of copula plus predicate are of a different ontological type (= Kimian states). Against this background, the present study assesses the two main arguments that have been raised in favour of a Davidsonian approach for statives. These are the combination with certain manner adverbials and Parsons (2000) so-called time travel argument. It will be argued that the manner data which, at first sight, seem to provide evidence for a Davidsonian approach to statives are better analysed as non-compositional reinterpretations triggered by the lack of a regular Davidsonian event argument. As for Parsons´s time travel argument, it turns out that the original version does not supply the kind of support for the Davidsonian approach that Parsons supposed. However, properly adapted, the time travel argument may provide additional evidence for the need of reifying the denotatum of statives, as suggested by the assumption of Kimian states
Elaboration in Dependent Type Theory
To be usable in practice, interactive theorem provers need to provide
convenient and efficient means of writing expressions, definitions, and proofs.
This involves inferring information that is often left implicit in an ordinary
mathematical text, and resolving ambiguities in mathematical expressions. We
refer to the process of passing from a quasi-formal and partially-specified
expression to a completely precise formal one as elaboration. We describe an
elaboration algorithm for dependent type theory that has been implemented in
the Lean theorem prover. Lean's elaborator supports higher-order unification,
type class inference, ad hoc overloading, insertion of coercions, the use of
tactics, and the computational reduction of terms. The interactions between
these components are subtle and complex, and the elaboration algorithm has been
carefully designed to balance efficiency and usability. We describe the central
design goals, and the means by which they are achieved
Logical relations for coherence of effect subtyping
A coercion semantics of a programming language with subtyping is typically
defined on typing derivations rather than on typing judgments. To avoid
semantic ambiguity, such a semantics is expected to be coherent, i.e.,
independent of the typing derivation for a given typing judgment. In this
article we present heterogeneous, biorthogonal, step-indexed logical relations
for establishing the coherence of coercion semantics of programming languages
with subtyping. To illustrate the effectiveness of the proof method, we develop
a proof of coherence of a type-directed, selective CPS translation from a typed
call-by-value lambda calculus with delimited continuations and control-effect
subtyping. The article is accompanied by a Coq formalization that relies on a
novel shallow embedding of a logic for reasoning about step-indexing
- …