53,838 research outputs found
Recommended from our members
Coenzyme Q10 deficiencies: pathways in yeast and humans.
Coenzyme Q (ubiquinone or CoQ) is an essential lipid that plays a role in mitochondrial respiratory electron transport and serves as an important antioxidant. In human and yeast cells, CoQ synthesis derives from aromatic ring precursors and the isoprene biosynthetic pathway. Saccharomyces cerevisiae coq mutants provide a powerful model for our understanding of CoQ biosynthesis. This review focusses on the biosynthesis of CoQ in yeast and the relevance of this model to CoQ biosynthesis in human cells. The COQ1-COQ11 yeast genes are required for efficient biosynthesis of yeast CoQ. Expression of human homologs of yeast COQ1-COQ10 genes restore CoQ biosynthesis in the corresponding yeast coq mutants, indicating profound functional conservation. Thus, yeast provides a simple yet effective model to investigate and define the function and possible pathology of human COQ (yeast or human gene involved in CoQ biosynthesis) gene polymorphisms and mutations. Biosynthesis of CoQ in yeast and human cells depends on high molecular mass multisubunit complexes consisting of several of the COQ gene products, as well as CoQ itself and CoQ intermediates. The CoQ synthome in yeast or Complex Q in human cells, is essential for de novo biosynthesis of CoQ. Although some human CoQ deficiencies respond to dietary supplementation with CoQ, in general the uptake and assimilation of this very hydrophobic lipid is inefficient. Simple natural products may serve as alternate ring precursors in CoQ biosynthesis in both yeast and human cells, and these compounds may act to enhance biosynthesis of CoQ or may bypass certain deficient steps in the CoQ biosynthetic pathway
A Coq-based synthesis of Scala programs which are correct-by-construction
The present paper introduces Scala-of-Coq, a new compiler that allows a
Coq-based synthesis of Scala programs which are "correct-by-construction". A
typical workflow features a user implementing a Coq functional program, proving
this program's correctness with regards to its specification and making use of
Scala-of-Coq to synthesize a Scala program that can seamlessly be integrated
into an existing industrial Scala or Java application.Comment: 2 pages, accepted version of the paper as submitted to FTfJP 2017
(Formal Techniques for Java-like Programs), June 18-23, 2017, Barcelona ,
Spai
Computing with Classical Real Numbers
There are two incompatible Coq libraries that have a theory of the real
numbers; the Coq standard library gives an axiomatic treatment of classical
real numbers, while the CoRN library from Nijmegen defines constructively valid
real numbers. Unfortunately, this means results about one structure cannot
easily be used in the other structure. We present a way interfacing these two
libraries by showing that their real number structures are isomorphic assuming
the classical axioms already present in the standard library reals. This allows
us to use O'Connor's decision procedure for solving ground inequalities present
in CoRN to solve inequalities about the reals from the Coq standard library,
and it allows theorems from the Coq standard library to apply to problem about
the CoRN reals
Category Theory in Coq 8.5
We report on our experience implementing category theory in Coq 8.5. The
repository of this development can be found at
https://bitbucket.org/amintimany/categories/. This implementation most notably
makes use of features, primitive projections for records and universe
polymorphism that are new to Coq 8.5.Comment: This is the abstract for a talk accepted for a presentation at the
7th Coq Workshop, Sophia Antipolis, France on June 26, 201
Concrete Semantics with Coq and CoqHammer
The "Concrete Semantics" book gives an introduction to imperative programming
languages accompanied by an Isabelle/HOL formalization. In this paper we
discuss a re-formalization of the book using the Coq proof assistant. In order
to achieve a similar brevity of the formal text we extensively use CoqHammer,
as well as Coq Ltac-level automation. We compare the formalization efficiency,
compactness, and the readability of the proof scripts originating from a Coq
re-formalization of two chapters from the book
Gradual Certified Programming in Coq
Expressive static typing disciplines are a powerful way to achieve
high-quality software. However, the adoption cost of such techniques should not
be under-estimated. Just like gradual typing allows for a smooth transition
from dynamically-typed to statically-typed programs, it seems desirable to
support a gradual path to certified programming. We explore gradual certified
programming in Coq, providing the possibility to postpone the proofs of
selected properties, and to check "at runtime" whether the properties actually
hold. Casts can be integrated with the implicit coercion mechanism of Coq to
support implicit cast insertion a la gradual typing. Additionally, when
extracting Coq functions to mainstream languages, our encoding of casts
supports lifting assumed properties into runtime checks. Much to our surprise,
it is not necessary to extend Coq in any way to support gradual certified
programming. A simple mix of type classes and axioms makes it possible to bring
gradual certified programming to Coq in a straightforward manner.Comment: DLS'15 final version, Proceedings of the ACM Dynamic Languages
Symposium (DLS 2015
Total Haskell is Reasonable Coq
We would like to use the Coq proof assistant to mechanically verify
properties of Haskell programs. To that end, we present a tool, named
hs-to-coq, that translates total Haskell programs into Coq programs via a
shallow embedding. We apply our tool in three case studies -- a lawful Monad
instance, "Hutton's razor", and an existing data structure library -- and prove
their correctness. These examples show that this approach is viable: both that
hs-to-coq applies to existing Haskell code, and that the output it produces is
amenable to verification.Comment: 13 pages plus references. Published at CPP'18, In Proceedings of 7th
ACM SIGPLAN International Conference on Certified Programs and Proofs
(CPP'18). ACM, New York, NY, USA, 201
Experience Implementing a Performant Category-Theory Library in Coq
We describe our experience implementing a broad category-theory library in
Coq. Category theory and computational performance are not usually mentioned in
the same breath, but we have needed substantial engineering effort to teach Coq
to cope with large categorical constructions without slowing proof script
processing unacceptably. In this paper, we share the lessons we have learned
about how to represent very abstract mathematical objects and arguments in Coq
and how future proof assistants might be designed to better support such
reasoning. One particular encoding trick to which we draw attention allows
category-theoretic arguments involving duality to be internalized in Coq's
logic with definitional equality. Ours may be the largest Coq development to
date that uses the relatively new Coq version developed by homotopy type
theorists, and we reflect on which new features were especially helpful.Comment: The final publication will be available at link.springer.com. This
version includes a full bibliography which does not fit in the Springer
version; other than the more complete references, this is the version
submitted as a final copy to ITP 201
- âŠ