159 research outputs found

    An experimental study of the influence of elevated buoyancy levels on flame spread rate over thermally thin cellulosic materials

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    No full text
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Get PDF
    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
    • …
    corecore