Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ki Yung Ahn is active.

Publication


Featured researches published by Ki Yung Ahn.


international conference on functional programming | 2011

A hierarchy of mendler style recursion combinators: taming inductive datatypes with negative occurrences

Ki Yung Ahn; Tim Sheard

The Mendler style catamorphism (which corresponds to weak induction) always terminates even for negative inductive datatypes. The Mendler style histomorphism (which corresponds to strong induction) is known to terminate for positive inductive datatypes. To our knowledge, the literature is silent on its termination properties for negative datatypes. In this paper, we prove that histomorphisms do not always termintate by showing a counter-example. We also enrich the Mendler collection of recursion combinators by defining a new form of Mendler style catamorphism (msfcata), which terminates for all inductive datatypes, that is more expressive than the original. We organize the collection of combinators by placing them into a hierarchy of ever increasing generality, and describing the termination properties of each point on the hierarchy. We also provide many examples (including a case study on a negative inductive datatype), which illustrate both the expressive power and beauty of the Mendler style. One lesson we learn from this work is that weak induction applies to negative inductive datatypes but strong induction is problematic. We provide a proof of weak induction by exhibiting an embedding of our new combinator into Fω. We pose the open question: Is there a safe way to apply strong induction to negative inductive datatypes?


4th Workshop on Mathematically Structured Functional Programming, MSFP 2012 | 2012

Irrelevance, Heterogeneous Equality, and Call-by-value Dependent Type Systems

Vilhelm Sjöberg; Chris Casinghino; Ki Yung Ahn; Nathan Collins; Harley D. Eades; Peng Fu; Garrin Kimmell; Tim Sheard; Aaron Stump; Stephanie Weirich

We present a full-spectrum dependently typed core language which includes both nontermination and computational irrelevance (a.k.a. erasure), a combination which has not been studied before. The two features interact: to protect type safety we must be careful to only erase terminating expressions. Our language design is strongly influenced by the choice of CBV evaluation, and by our novel treatment of propositional equality which has a heterogeneous, completely erased elimination form.


symposium/workshop on haskell | 2008

Shared subtypes: subtyping recursive parametrized algebraic data types

Ki Yung Ahn; Tim Sheard

A newtype declaration in Haskell introduces a new type renaming an existing type. The two types are viewed by the programmer as semantically different, but share the same runtime representation. When operations on the two semantic views coincide, the run-time cost of conversion between the two types is reduced to zero (in both directions) because of this common representation. We describe a new language feature called Shared Subtypes (SSubtypes), which generalizes these properties of the newtype declaration. SSubtypes allow programmers to specify subtype rules between types and sharing rules between data constructors. A value of a type T, where T is a subtype of U, can always be cast, at no cost, to value of type U. This free up-casting allows library functions that consume the supertype to be applied without cost to subtypes. Yet any semantic interpretations desired by the programmer can be enforced by the compiler. SSubtype declarations work particularly well with GADTs. GADTs use differing type indexes to make explicit semantic differences, by using a different index for each way of viewing the data. Shared subtypes allow GADTs to share the same runtime representation as a reference type, of which the GADT is a refinement.


international symposium on functional and logic programming | 2016

Executable Relational Specifications of Polymorphic Type Systems Using Prolog

Ki Yung Ahn; Andrea Vezzosi

A concise, declarative, and machine executable specification of the Hindley–Milner type system (HM) can be formulated using logic programming languages such as Prolog. Modern functional language implementations such as the Glasgow Haskell Compiler support more extensive flavors of polymorphism beyond Milner’s theory of type polymorphism in the late 70’s. We progressively extend the HM specification to include more advanced type system features. An interesting development is that extending dimensions of polymorphism beyond HM resulted in a multi-staged solution: resolve the typing relations first, while delaying to resolve kinding relations, and then resolve the delayed kinding relations. Our work demonstrates that logic programing is effective for prototyping polymorphic type systems with rich features of polymorphism, and that logic programming could have been even more effective for specifying type inference if it were equipped with better theories and tools for staged resolution of different relations at different levels.


Software Quality Journal | 2013

A framework for testing first-order logic axioms in program verification

Ki Yung Ahn; Ewen Denney

Program verification systems based on automated theorem provers rely on user-provided axioms in order to verify domain-specific properties of code. However, formulating axioms correctly (that is, formalizing properties of an intended mathematical interpretation) is non-trivial in practice, and avoiding or even detecting unsoundness can sometimes be difficult to achieve. Moreover, speculating soundness of axioms based on the output of the provers themselves is not easy since they do not typically give counterexamples. We adopt the idea of model-based testing to aid axiom authors in discovering errors in axiomatizations. To test the validity of axioms, users define a computational model of the axiomatized logic by giving interpretations to the function symbols and constants in a simple declarative programming language. We have developed an axiom testing framework that helps automate model definition and test generation using off-the-shelf tools for meta-programming, property-based random testing, and constraint solving. We have experimented with our tool to test the axioms used in Auto-Cert, a program verification system that has been applied to verify aerospace flight code using a first-order axiomatization of navigational concepts, and were able to find counterexamples for a number of axioms.


international conference on typed lambda calculi and applications | 2013

System F i

Ki Yung Ahn; Tim Sheard; Marcelo P. Fiore; Andrew M. Pitts

We introduce a foundational lambda calculus, System F i , for studying programming languages with term-indexed datatypes – higher-kinded datatypes whose indices range over data such as natural numbers or lists. System F i is an extension of System F ω that introduces the minimal features needed to support term-indexing. We show that System F i provides a theory for analysing programs with term-indexed types and also argue that it constitutes a basis for the design of logically-sound light-weight dependent programming languages. We establish erasure properties of F i -types that capture the idea that term-indices are discardable in that they are irrelevant for computation. Index erasure projects typing in System F i to typing in System F ω . So, System F i inherits strong normalization and logical consistency from System F ω .


Progress in Informatics | 2013

Equational reasoning about programs with general recursion and call-by-value semantics

Garrin Kimmell; Aaron Stump; Harley D. Eades; Peng Fu; Tim Sheard; Stephanie Weirich; Chris Casinghino; Vilhelm Sjöberg; Nathan Collins; Ki Yung Ahn


Archive | 2014

The Nax Language: Unifying Functional Programming and Logical Reasoning in a Language based on Mendler-style Recursion Schemes and Term-indexed Types

Ki Yung Ahn


Archive | 2013

A Higher-Order Polymorphic λ-Calculus with Erasable Term-Indices

Ki Yung Ahn; Tim Sheard; Marcelo P. Fiore; Andrew M. Pitts


Archive | 2009

Testing First-Order Logic Axioms in AutoCert

Ki Yung Ahn; Ewen Denney

Collaboration


Dive into the Ki Yung Ahn's collaboration.

Top Co-Authors

Avatar

Tim Sheard

Portland State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chris Casinghino

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nathan Collins

Portland State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Stephanie Weirich

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Vilhelm Sjöberg

University of Pennsylvania

View shared research outputs
Researchain Logo
Decentralizing Knowledge