Algebraic data typeIn computer programming, especially functional programming and type theory, an algebraic data type (ADT) is a kind of composite type, i.e., a type formed by combining other types. Two common classes of algebraic types are product types (i.e., tuples and records) and sum types (i.e., tagged or disjoint unions, coproduct types or variant types). The values of a product type typically contain several values, called fields. All values of that type have the same combination of field types.
Chemical databaseA chemical database is a database specifically designed to store chemical information. This information is about chemical and crystal structures, spectra, reactions and syntheses, and thermophysical data. Bioactivity databases correlate structures or other chemical information to bioactivity results taken from bioassays in literature, patents, and screening programs. Chemical structures are traditionally represented using lines indicating chemical bonds between atoms and drawn on paper (2D structural formulae).
Type theoryIn mathematics, logic, and computer science, a type theory is the formal presentation of a specific type system, and in general, type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of mathematics. Two influential type theories that were proposed as foundations are Alonzo Church's typed λ-calculus and Per Martin-Löf's intuitionistic type theory. Most computerized proof-writing systems use a type theory for their foundation, a common one is Thierry Coquand's Calculus of Inductive Constructions.
Reaction engineA reaction engine is an engine or motor that produces thrust by expelling reaction mass (reaction propulsion), in accordance with Newton's third law of motion. This law of motion is commonly paraphrased as: "For every action force there is an equal, but opposite, reaction force." Examples include jet engines, rocket engines, pump-jets, and more uncommon variations such as Hall effect thrusters, ion drives, mass drivers, and nuclear pulse propulsion.
Formal methodsIn computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.
Reaction rateThe reaction rate or rate of reaction is the speed at which a chemical reaction takes place, defined as proportional to the increase in the concentration of a product per unit time and to the decrease in the concentration of a reactant per unit time. Reaction rates can vary dramatically. For example, the oxidative rusting of iron under Earth's atmosphere is a slow reaction that can take many years, but the combustion of cellulose in a fire is a reaction that takes place in fractions of a second.
Dependent typeIn computer science and logic, a dependent type is a type whose definition depends on a value. It is an overlapping feature of type theory and type systems. In intuitionistic type theory, dependent types are used to encode logic's quantifiers like "for all" and "there exists". In functional programming languages like Agda, ATS, Coq, F*, Epigram, and Idris, dependent types help reduce bugs by enabling the programmer to assign types that further restrain the set of possible implementations.
Adaptive behaviorAdaptive behavior is behavior that enables a person (usually used in the context of children) to cope in their environment with greatest success and least conflict with others. This is a term used in the areas of psychology and special education. Adaptive behavior relates to everyday skills or tasks that the "average" person is able to complete, similar to the term life skills. Nonconstructive or disruptive social or personal behaviors can sometimes be used to achieve a constructive outcome.
Negative selection (natural selection)In natural selection, negative selection or purifying selection is the selective removal of alleles that are deleterious. This can result in stabilising selection through the purging of deleterious genetic polymorphisms that arise through random mutations. Purging of deleterious alleles can be achieved on the population genetics level, with as little as a single point mutation being the unit of selection. In such a case, carriers of the harmful point mutation have fewer offspring each generation, reducing the frequency of the mutation in the gene pool.
Basis (linear algebra)In mathematics, a set B of vectors in a vector space V is called a basis (: bases) if every element of V may be written in a unique way as a finite linear combination of elements of B. The coefficients of this linear combination are referred to as components or coordinates of the vector with respect to B. The elements of a basis are called . Equivalently, a set B is a basis if its elements are linearly independent and every element of V is a linear combination of elements of B.