The foundation of a generic theorem prover
Journal of Automated Reasoning
Higher-order modules and the phase distinction
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A framework for defining logics
Journal of the ACM (JACM)
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Manifest types, modules, and separate compilation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simplified account of polymorphic references
Information Processing Letters
Applicative functors and fully transparent higher-order modules
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Theoretical Computer Science
A type-theoretic interpretation of standard ML
Proof, language, and interaction
Types and programming languages
Types and programming languages
The Definition of Standard ML
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for higher-order modules
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Reasoning with the Formal Definition of Standard ML in HOL
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
HUG '93 Proceedings of the 6th International Workshop on Higher Order Logic Theorem Proving and its Applications
The machine-assisted proof of programming language properties
The machine-assisted proof of programming language properties
Singleton kinds and singleton types
Singleton kinds and singleton types
Understanding and evolving the ml module system
Understanding and evolving the ml module system
Certifying compilation for standard ml in a type analysis framework
Certifying compilation for standard ml in a type analysis framework
Extensional equivalence and singleton types
ACM Transactions on Computational Logic (TOCL)
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Acute: High-level programming language design for distributed computation
Journal of Functional Programming
Mechanizing metatheory in a logical framework
Journal of Functional Programming
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Bidirectional Refinement Type System for LF
Electronic Notes in Theoretical Computer Science (ENTCS)
Normalization for the Simply-Typed Lambda-Calculus in Twelf
Electronic Notes in Theoretical Computer Science (ENTCS)
AspectML: A polymorphic aspect-oriented functional programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
AURA: a programming language for authorization and audit
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Syntactic Metatheory of Higher-Order Subtyping
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
Modeling abstract types in modules with open existential types
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 3rd workshop on Programming languages meets program verification
Explicit Contexts in LF (Extended Abstract)
Electronic Notes in Theoretical Computer Science (ENTCS)
A Modular Type-Checking Algorithm for Type Theory with Singleton Types and Proof Irrelevance
TLCA '09 Proceedings of the 9th International Conference on Typed Lambda Calculi and Applications
A syntactic account of singleton types via hereditary substitution
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
A practical module system for LF
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
Proceedings of the 8th international workshop on Specification and verification of component-based systems
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Ott: Effective tool support for the working semanticist
Journal of Functional Programming
CoqJVM: an executable specification of the Java virtual machine using dependent types
TYPES'07 Proceedings of the 2007 international conference on Types for proofs and programs
A sound semantics for OCamllight
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Certified result checking for polyhedral analysis of bytecode programs
TGC'10 Proceedings of the 5th international conference on Trustworthly global computing
A certified implementation of ML with structural polymorphism
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Programming inductive proofs: a new approach based on contextual types
Verification, induction termination analysis
Programming inductive proofs: a new approach based on contextual types
Verification, induction termination analysis
General bindings and alpha-equivalence in nominal Isabelle
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Representing model theory in a type-theoretical logical framework
Theoretical Computer Science
Journal of Automated Reasoning
Component-based description of programming languages
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
LF in LF: mechanizing the metatheories of LF in twelf
Proceedings of the seventh international workshop on Logical frameworks and meta-languages, theory and practice
SMT proof checking using a logical framework
Formal Methods in System Design
Structural logical relations with case analysis and equality reasoning
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
An operational foundation for the tactic language of Coq
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Information and Computation
CakeML: a verified implementation of ML
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
A trusted mechanised JavaScript specification
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
We present an internal language with equivalent expressive power to Standard ML, and discuss its formalization in LF and the machine-checked verification of its type safety in Twelf. The internal language is intended to serve as the target of elaboration in an elaborative semantics for Standard ML in the style of Harper and Stone. Therefore, it includes all the programming mechanisms necessary to implement Standard ML, including translucent modules, abstraction, polymorphism, higher kinds, references, exceptions, recursive types, and recursive functions. Our successful formalization of the proof involved a careful interplay between the precise formulations of the various mechanisms, and required the invention of new representation and proof techniques of general interest.