• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

DMCA

Semantic subtyping with an SMT solver (2010)

Cached

  • Download as a PDF

Download Links

  • [www.research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [research.microsoft.com]
  • [www.infsec.cs.uni-saarland.de]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.infsec.cs.uni-saarland.de]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Gavin M. Bierman , Andrew D. Gordon , Catalin Hritcu , David Langworthy
Citations:31 - 1 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@TECHREPORT{Bierman10semanticsubtyping,
    author = {Gavin M. Bierman and Andrew D. Gordon and Catalin Hritcu and David Langworthy},
    title = {Semantic subtyping with an SMT solver},
    institution = {},
    year = {2010}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

We study a first-order functional language with the novel combination of the ideas of refinement type (the subset of a type to satisfy a Boolean expression) and type-test (a Boolean expression testing whether a value belongs to a type). Our core calculus can express a rich variety of typing idioms; for example, intersection, union, negation, singleton, nullable, variant, and algebraic types are all derivable. We formulate a semantics in which expressions denote terms, and types are interpreted as first-order logic formulas. Subtyping is defined as valid implication between the semantics of types. The formulas are interpreted in a specific model that we axiomatize using standard first-order theories. On this basis, we present a novel type-checking algorithm able to eliminate many dynamic tests and to detect many errors statically. The key idea is to rely on an SMT solver to compute subtyping efficiently. Moreover, interpreting types as formulas allows us to call the SMT solver at run-time to compute instances of types.

Keyphrases

smt solver    boolean expression    many error    rich variety    standard first-order theory    specific model    novel combination    key idea    many dynamic test    first-order functional language    valid implication    first-order logic formula    core calculus    refinement type    novel type-checking algorithm    algebraic type   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University