159 research outputs found
An experimental study of the influence of elevated buoyancy levels on flame spread rate over thermally thin cellulosic materials
The role of buoyancy on the flame spread rate over paper and its effect on extinction was studied by changing the gravity level and pressure. It was found that the flame spread rate decreases as the buoyancy induced flow increases. A method for correlating flame spread data using dimensionless parameters is presented. The Damkohler number is shown to be the dependent variable
Generic Fibrational Induction
This paper provides an induction rule that can be used to prove properties of
data structures whose types are inductive, i.e., are carriers of initial
algebras of functors. Our results are semantic in nature and are inspired by
Hermida and Jacobs' elegant algebraic formulation of induction for polynomial
data types. Our contribution is to derive, under slightly different
assumptions, a sound induction rule that is generic over all inductive types,
polynomial or not. Our induction rule is generic over the kinds of properties
to be proved as well: like Hermida and Jacobs, we work in a general fibrational
setting and so can accommodate very general notions of properties on inductive
types rather than just those of a particular syntactic form. We establish the
soundness of our generic induction rule by reducing induction to iteration. We
then show how our generic induction rule can be instantiated to give induction
rules for the data types of rose trees, finite hereditary sets, and
hyperfunctions. The first of these lies outside the scope of Hermida and
Jacobs' work because it is not polynomial, and as far as we are aware, no
induction rules have been known to exist for the second and third in a general
fibrational framework. Our instantiation for hyperfunctions underscores the
value of working in the general fibrational setting since this data type cannot
be interpreted as a set.Comment: For Special Issue from CSL 201
Solid surface combustion experiment flame spread in a quiescent, microgravity environment implications of spread rate and flame structure
A unique environment in which flame spreading, a phenomenon of fundamental, scientific interest, has importance to fire safety is that of spacecraft in which the gravitational acceleration is low compared with that of the Earth, i.e., microgravity. Experiments aboard eight Space Shuttle missions between October 1990 and February 1995 were conducted using the Solid Surface Combustion Experiment (SSCE) payload apparatus in an effort to determine the mechanisms of gas-phase flame spread over solid fuel surfaces in the absence of any buoyancy induced or externally imposed oxidizer flow. The overall SSCE effort began in December of 1984. The SSCE apparatus consists of a sealed container, approximately 0.039 cu m, that is filled with a specified O2/N2 mixture at a prescribed pressure. Five of the experiments used a thin cellulosic fuel, ashless filter paper, 3 cm wide x 10 cm long, 0.00825 cm half-thickness, ignited in five different ambient conditions. Three of the experiments, the most recent, used thick polymethylmethacrylate (PMMA) samples 0.635 cm wide x 2 cm long, 0.32 cm half-thickness. Three experiments, STS 41, 40 and 43, were designed to evaluate the effect of ambient pressure on flame spread over the thin cellulosic fuel while flights STS 50 and 47 were at the same pressure as two of the earlier flights but at a lower oxygen concentration in order to evaluate the effect of ambient oxygen level on the flame spread process at microgravity. For the PMMA flights, two experiments, STS 54 and 63, were at the same pressure but different oxygen concentrations while STS 64 was at the same oxygen concentration as STS 63 but at a higher pressure. Two orthogonal views of the experiments were recorded on 16 mm cine-cameras operating at 24 frames/s. In addition to filmed images of the side view of the flames and surface view of the burning samples, solid- and gas-phase temperatures were recorded using thermocouples. The experiment is battery powered and follows an automated sequence upon activation by the Shuttle Crew. In this study we separate the SSCE data into two groups according to the fuel type: (1) thin cellulose; and (2) thick PMMA. The experimental spread rates are compared with prediction from a number of models in an effort to uncover the important physics that characterize microgravity flame spread. Both steady and unsteady solutions are employed to explore the flame evolution, especially for thick fuels. Finally, the flame structure in downward spread is compared with the microgravity flame structure and modeling results to delineate the difference between the two configurations and the influence of normal gravity
Needle & knot : binder boilerplate tied up
To lighten the burden of programming language mechanization, many approaches have been developed that tackle the substantial boilerplate which arises from variable binders. Unfortunately, the existing approaches are limited in scope. They typically do not support complex binding forms (such as multi-binders) that arise in more advanced languages, or they do not tackle the boilerplate due to mentioning variables and binders in relations. As a consequence, the human mechanizer is still unnecessarily burdened with binder boilerplate and discouraged from taking on richer languages.
This paper presents Knot, a new approach that substantially extends the support for binder boilerplate. Knot is a highly expressive language for natural and concise specification of syntax with binders. Its meta-theory constructively guarantees the coverage of a considerable amount of binder boilerplate for well-formed specifications, including that for well-scoping of terms and context lookups. Knot also comes with a code generator, Needle, that specializes the generic boilerplate for convenient embedding in COQ and provides a tactic library for automatically discharging proof obligations that frequently come up in proofs of weakening and substitution lemmas of type-systems.
Our evaluation shows, that Needle & Knot significantly reduce the size of language mechanizations (by 40% in our case study). Moreover, as far as we know, Knot enables the most concise mechanization of the POPLmark Challenge (1a + 2a) and is two-thirds the size of the next smallest. Finally, Knot allows us to mechanize for instance dependentlytyped languages, which is notoriously challenging because of dependent contexts and mutually-recursive sorts with variables
Extending scientific computing system with structural quantum programming capabilities
We present a basic high-level structures used for developing quantum
programming languages. The presented structures are commonly used in many
existing quantum programming languages and we use quantum pseudo-code based on
QCL quantum programming language to describe them. We also present the
implementation of introduced structures in GNU Octave language for scientific
computing. Procedures used in the implementation are available as a package
quantum-octave, providing a library of functions, which facilitates the
simulation of quantum computing. This package allows also to incorporate
high-level programming concepts into the simulation in GNU Octave and Matlab.
As such it connects features unique for high-level quantum programming
languages, with the full palette of efficient computational routines commonly
available in modern scientific computing systems. To present the major features
of the described package we provide the implementation of selected quantum
algorithms. We also show how quantum errors can be taken into account during
the simulation of quantum algorithms using quantum-octave package. This is
possible thanks to the ability to operate on density matrices
A Machine Checked Model of Idempotent MGU Axioms For Lists of Equational Constraints
We present formalized proofs verifying that the first-order unification
algorithm defined over lists of satisfiable constraints generates a most
general unifier (MGU), which also happens to be idempotent. All of our proofs
have been formalized in the Coq theorem prover. Our proofs show that finite
maps produced by the unification algorithm provide a model of the axioms
characterizing idempotent MGUs of lists of constraints. The axioms that serve
as the basis for our verification are derived from a standard set by extending
them to lists of constraints. For us, constraints are equalities between terms
in the language of simple types. Substitutions are formally modeled as finite
maps using the Coq library Coq.FSets.FMapInterface. Coq's method of functional
induction is the main proof technique used in proving many of the axioms.Comment: In Proceedings UNIF 2010, arXiv:1012.455
Equality, Quasi-Implicit Products, and Large Eliminations
This paper presents a type theory with a form of equality reflection:
provable equalities can be used to coerce the type of a term. Coercions and
other annotations, including implicit arguments, are dropped during reduction
of terms. We develop the metatheory for an undecidable version of the system
with unannotated terms. We then devise a decidable system with annotated terms,
justified in terms of the unannotated system. Finally, we show how the approach
can be extended to account for large eliminations, using what we call
quasi-implicit products.Comment: In Proceedings ITRS 2010, arXiv:1101.410
Extended Call-by-Push-Value: Reasoning About Effectful Programs and Evaluation Order
Traditionally, reasoning about programs under varying evaluation regimes (call-by-value, call-by-name etc.) was done at the meta-level, treating them as term rewriting systems. Levy’s call-by-push-value (CBPV) calculus provides a more powerful approach for reasoning, by treating CBPV terms as a common intermediate language which captures both call-by-value and call-by-name, and by allowing equational reasoning about changes to evaluation order between or within programs.
We extend CBPV to additionally deal with call-by-need, which is non-trivial because of shared reductions. This allows the equational reasoning to also support call-by-need. As an example, we then prove that call-by-need and call-by-name are equivalent if nontermination is the only side-effect in the source language.
We then show how to incorporate an effect system. This enables us to exploit static knowledge of the potential effects of a given expression to augment equational reasoning; thus a program fragment might be invariant under change of evaluation regime only because of knowledge of its effects
- …