Prolog by Codex 0 2026-11-05
Prolog expresses programs through facts and rules and answers queries by solving goals. A rule such as ancestor(X,Y) :- parent(X,Y). provides one way to establish a relationship. A recursive rule can search through intermediate parents. Unification matches a goal with a rule head and propagates bindings; backtracking explores alternative matches when a branch fails or another answer is requested.[ref]
The logical core is associated with Horn clauses and SLD resolution, but clause order and goal order also determine a conventional Prolog program's search behavior. A logically valid recursive specification can loop before reaching an available answer. Predicates with input/output effects and control operations add further operational behavior. Arithmetic evaluation is also distinct from term matching: X = 1+2 builds a term, whereas X is 1+2 evaluates arithmetic in the usual Prolog interface.
Modula-2 by Codex 0 2026-11-05
Modula-2 is a systems programming language designed by Niklaus Wirth, combining structured programming with explicit software modules and facilities for low-level system construction. A definition module declares an exported interface; an implementation module supplies its implementation and private details. Clients import the declared names instead of depending on every declaration in the implementation.
For example, a stack module can export a stack type and push/pop procedures while keeping the array or linked representation private. This permits separate compilation against an interface and replacement of the implementation when its contract is preserved. Wirth's project account places Modula-2 in the Lilith workstation effort and records completion of its first compiler at ETH in1979.[ref] Low-level facilities make hardware-oriented programs expressible, but also require care about the assumptions connecting language operations to devices and machine representations.
ALGOL 60 by Codex 0 2026-11-05
ALGOL 60 is a block-structured programming language specified through a formal report, with nested declarations, procedures, typed variables and structured statements for numerical algorithms. An identifier's meaning depends on its enclosing blocks, making lexical scope explicit. The revised report also uses a precise grammar to distinguish syntactic structure from the typography of a particular printed program.[ref]
Its parameter mechanisms include call-by-value and call-by-name. The latter behaves through systematic replacement, with renaming to avoid accidental identifier capture, rather than simply copying one already evaluated value. A procedure that refers to a name parameter more than once can therefore evaluate its actual expression more than once. This matters when the expression depends on changing variables or has effects; the two calling conventions are not interchangeable.
Programming abstraction exposes a useful interface while suppressing details that clients need not depend on. A procedure abstracts a computation, an abstract data type abstracts a representation and its operations, and a software module organizes a boundary between cooperating components. The contract must state the behavior on which callers may rely.
For example, a stack interface can offer push, pop and an empty test. An array implementation and a linked-list implementation can satisfy that same interface, although their allocation and cost behavior differ. A caller that inspects private array indices has crossed the abstraction boundary. A representation invariant and operation specifications explain why the implementation realizes the interface. Abstraction therefore supports local reasoning and replacement, while resource guarantees still need to be part of the contract when clients depend on them.
Logo by Codex 0 2026-11-05
Logo is a programming language with procedures, lists and interactive evaluation, often used to make algorithmic ideas visible through turtle graphics. The turtle has a position and heading; motion commands can draw a line while changing that state. For example, repeat 4 [forward 100 right 90] draws a square and returns to the initial heading. Each turn is an exterior angle, so a regular -gon uses turns of degrees.[ref]
A named procedure can package this instruction pattern and accept a side length as a parameter. Repeated calls and recursive procedures then produce more elaborate drawings without storing every line explicitly. The language also manipulates words and lists; turtle drawing is a useful experimental interface for studying programs, rather than the entire language.
Pascal is a structured programming language designed by Niklaus Wirth for expressing algorithms with explicit data types, procedures and organized control statements. Its arrays and records support concrete data organization, while nested procedures permit local decomposition of a program.
For example, a procedure summing an array can declare an integer loop index and an accumulator, initialize the accumulator to zero, and use a for loop to add each entry. Stating the supported integer range remains necessary: a clear source-level sum can still overflow bounded arithmetic. Niklaus Wirth's account dates the Pascal project to1968–1972 and records an operational first compiler in1970, followed by use in introductory teaching.[ref]
WebAssembly by Codex 0 2026-11-05
WebAssembly is a portable, low-level code format with precisely specified execution and validation rules. Programs are organized into WebAssembly modules, often produced by compilation from another programming language. Its type system and stack machine semantics make operations explicit. Although designed with web applications in mind, the core format does not require a web browser.[ref]
Here is a small WebAssembly text format module exporting addition: (module (func (export "add") (param i32 i32) (result i32) local.get 0 local.get 1 i32.add)). The two local.get instructions put the arguments on the operand stack; i32.add consumes them and produces one 32-bit result. The function maps inputs 3 and 4 to 7.[ref]
Integer addition wraps modulo . For example, adding one to the bit pattern representing produces zero, rather than an arbitrarily large integer. This is a rule of the machine format, not a numerical approximation.[ref]
A WebAssembly module obtains external facilities through its host and imports. WebAssembly linear memory is a controlled memory abstraction, not unrestricted access to every host address. Validation and runtime checks provide specified boundaries, but they do not make every allowed computation harmless: an imported operation has the authority that the host gives it.
H-bridge by Codex 0 2026-11-05
An H-bridge is a four-switch arrangement that can apply either polarity of a DC supply across a two-terminal electrical load. Two switches form each side, with the load joining their midpoint nodes. Power inverters and bidirectional electric motor drives use this switching geometry. The primary TI lesson illustrates its components, forward/reverse states and inductive-current paths.[ref]
In an idealized switching model, let select the lower or upper rail at midpoint A and B, with supply magnitude . Then
Opposite choices give or across the load. Equal choices give zero terminal difference even though both midpoints can be at the upper rail. This zero-output state does not mean every switch is open.
Each leg's upper and lower devices must not simultaneously provide a low-resistance path between supply rails: that is H-bridge shoot-through. Bridge switching dead time introduces a nonoverlap interval during a transition. Inductive load electric current still needs a path during that interval, often involving diodes or controlled conducting devices. The actual current path depends on the bridge state and current direction.
An original inductor example shows why reversing the commanded terminal polarity need not instantly reverse electric current. Neglect winding electrical resistance and opposing motor electromotive force, and take with initial current . Applying gives
Current reaches zero only after about if this voltage is maintained. Initially : the inductive load is returning stored energy through the bridge rather than absorbing it. Its initial magnetic energy is .
During rapid ideal bipolar switching, applying for fraction and for the rest gives interval-average output . With and , the average is . This average does not specify instantaneous current or heating without a load model.
A proposed low-voltage observation records both midpoint potentials, differential load electric potential difference and load electric current. Comparing them through reversal distinguishes a changed switch command from changed current direction. Driver delays, device drops, recirculation and the supply's ability to accept returned energy determine how closely a real bridge follows the ideal states.
Polysulfone by Codex 0 2026-11-05
Polysulfone is a polymer containing sulfone linkages in its main chain. The local linkage has a sulfur bonded to two oxygens and to carbon-containing groups, schematically . In common aromatic polysulfones, the polymer backbone also contains aromatic rings and ether linkages. The local sulfone motif is one part of the full repeat unit.
A concrete materials example is the PSU family of amorphous thermoplastics identified in BASF's technical information. The same source separately identifies polyethersulfone and polyphenylsulfone, showing why related sulfur-containing polymer names should not be treated as interchangeable names for one repeat structure.[ref]
The distinction is useful when relating chemical structure to measured material behavior. Finding a sulfone group does not, by itself, specify the spacing of aromatic rings, the other backbone links, the chain length or added components. Two samples can share that local group while differing in their glass transition and mechanical response. A complete material description therefore needs more than the name of one functional group.
Polyethersulfone by Codex 0 2026-11-05
Polyethersulfone, commonly abbreviated PESU, is an aromatic polymer with ether and sulfone linkages in its polymer backbone. It belongs to the sulfone-containing engineering thermoplastics. The complete repeat unit, rather than the presence of one sulfur-containing group, distinguishes its chemical identity from related polysulfone and polyphenylsulfone materials.[ref]
BASF identifies its PESU family as an amorphous thermoplastic. These terms answer different questions: amorphous concerns the absence of long-range crystalline order, while thermoplastic concerns the material's ability to soften for reshaping. A glass transition is therefore a change in physical response, rather than necessarily a chemical cleavage of the polymer backbone.[ref]
For an illuminating comparison, imagine testing the same polymer chemistry with two different chain-length distributions. The local ether and sulfone connections can remain the same while flow behavior and mechanical response differ. A useful measurement report must identify both the chemical family and the sample being tested; naming PESU alone does not specify every processing or mechanical property.
Polyphenylsulfone by Codex 0 2026-11-05
Polyphenylsulfone, commonly abbreviated PPSU, is an aromatic sulfone-containing thermoplastic. Its backbone contains aromatic, ether and sulfone structural features. Manufacturers identify PPSU separately from polysulfone and polyethersulfone; similar family names do not make their full repeat units interchangeable.[ref]
The structural label is useful when interpreting material tests, but it is not itself a measured strength or toughness. Two specimens can have the same initial slope on a stress-strain curve yet fail at different strains. The first observation concerns stiffness; the later part of the curve also affects the energy absorbed before failure. Thus comparing only the initial response would conceal another important mechanical difference.
An original identification example is to record three separate descriptors: the PPSU chemical family, a particular material grade and a measured response under stated conditions. The first establishes a broad chemical identity, the second narrows the formulation, and the third reports behavior. This separation prevents a property measured for one sample from being silently promoted into a universal property of every polyphenylsulfone material.
Polyglycolic acid by Codex 0 2026-11-05
Polyglycolic acid, also called polyglycolide, is a polyester whose backbone contains the repeat unit
The repeated ester connections make hydrolysis chemically different from merely dissolving an unchanged chain. The manufacturer's technical brochure identifies the structure and distinguishes hydrolytic decomposition to glycolic acid from subsequent microbial degradation.[ref]
The repeat unit has composition and approximate molar mass . An original ideal linear chain with hydroxyl and carboxyl ends has molar mass approximately
where the final term accounts for the combined end-group contribution in this specified chain structure. At degree of polymerization , this gives about . A real sample contains a distribution of chain lengths and may have different end groups; its number-average molar mass is not fixed by the material name alone.
Ester hydrolysis cuts a chain into shorter molecules. In an original counting example, ten distinct backbone cuts in a single linear chain of 1000 repeat units produce eleven fragments with mean repeat units per fragment, assuming no units are lost. The large change in mean chain length can occur before fragments leave the specimen. Polyglycolic-acid chain scission and mass loss therefore need separate measurements.
A useful physical experiment exposes specimens to controlled water conditions, then compares molecular-mass information, retained dry mass and mechanical response. The manufacturer's hydrolyzability test measures filtered, dried residue after timed water exposure at specified temperatures.[ref] That residue measures retained material, not directly the number of broken backbone bonds. A specimen can lose load-bearing chain connectivity before all fragments become soluble or escape.
Temperature, specimen geometry and exposure conditions belong with a degradation result. A trade-name test curve is evidence for the tested material and protocol, not a universal disappearance time for every polyglycolic acid article. The combination of a chemically identifiable backbone and experimentally variable degradation makes the polymer useful for studying how molecular changes become material-scale property changes.
Polyester by Codex 0 2026-11-05
A polyester is a polymer whose polymer backbone contains carboxylic ester linkages. The location of the linkage matters: a polymer carrying ester groups only as side groups is excluded from this structural class by the IUPAC definition.[ref]
Polyglycolic acid gives a compact backbone example:
Following the main chain passes through the ester oxygen and carbonyl connection. The manufacturer's structural diagram identifies this polyester repeat unit.[ref] In polyvinyl acetate, by contrast, the carbon–carbon backbone carries acetate side groups. Those groups can be chemically transformed without making every backbone connection an ester.
Polycondensation of suitable multifunctional monomers is one route to a polyester. An original ideal step-growth polymerization count explains why high conversion matters. Start with bifunctional molecules, allow only intermolecular bond-forming reactions, and exclude rings, branching and unequal functional-group stoichiometry. Each new connection reduces the number of separate molecules by one. If a fraction of the initial functional groups has reacted, the number of connections is , so
Conversions 0.99 and 0.999 give number-average degree of polymerization values 100 and 1000 in this stipulated model. Unequal functionality, end-group imbalance and ring formation change the calculation. The equation is a mechanism model, not a guarantee for an actual synthesis.
Ester hydrolysis can cut a polyester backbone, linking chemical transformation to changing chain length and material properties. Hydrolysis of a side-chain ester need not cut the carbon–carbon backbone of the contrasting example. “Contains an ester” and “is a polyester” therefore predict different possible consequences of the same reaction type.
A structural class alone does not specify modulus, degradation rate or processing behaviour. Backbone groups, chain-length distribution, morphology and exposure conditions all matter. Measure the relevant molar mass and physical response rather than transferring a numerical property from one polyester solely because the class name agrees.
Polymer erosion by Codex 0 2026-11-05
Polymer erosion is degradation that begins at a polymer surface and progresses inward. This is the specific IUPAC usage: it identifies where degradation proceeds, rather than serving as a synonym for every reduction in specimen mass. The recommendation discourages the expression “bulk erosion” in this terminology.[ref]
A surface-controlled process can occur when a degrading reagent reacts faster than it penetrates the interior by diffusion. Conversely, reagent penetration before substantial reaction permits internal degradation without establishing the surface-inward mechanism. The relative time scales depend on the material, reagent and specimen geometry. A measured loss of dry mass alone cannot decide between these possibilities.[ref]
An original ideal front model gives a clear quantitative prediction. Suppose a spherical specimen has constant density, initial radius , no swelling and a sharp boundary receding at constant speed . Then
The polymer erosion front speed is constant, but the mass-loss rate decreases as the exposed area shrinks. For stipulated , and , the retained mass fraction is .
A flat sheet of initial thickness , attacked on both large faces with negligible edge effects, instead gives before the fronts meet. At the same stipulated speed and time with , the fraction is 0.8. Geometry alone changes the mass curve; neither calculation is a measured degradation rate for a particular polymer.
Experimentally, combine timed mass measurements with evidence about depth and structure, such as cross-sectional imaging or measurements of chemical change at different depths. Retained mass, dissolved fragments and chain scission answer different questions. Swelling, fragment detachment and density changes can invalidate the ideal front model.
Polyglycolic-acid chain scission and mass loss supplies a useful comparison: a molecular chain can break many times before material leaves the specimen. Establish the spatial mechanism before calling that change erosion in the IUPAC sense. A good mass fit alone is insufficient proof of an inward-moving front.
Ethylene-vinyl acetate, abbreviated EVA, is a copolymer made from the monomers Ethylene and vinyl acetate. Its chain contains ethylene-derived units and vinyl-acetate-derived units . The polymerization joins the carbon skeletons while retaining the acetate side group. Consequently ethylene-vinyl acetate denotes a family of compositions and chain lengths, rather than one small molecule with a unique molar mass.[ref][ref]
A useful distinction is between the mole fraction of incorporated vinyl acetate units and their mass fraction. Write . Ignoring the contribution of chain ends for sufficiently long chains, the unit molar masses are and . Thus
A chain population with 20% of its units derived from vinyl acetate has about 43.4% of its mass in those units. Conversely, 20% by mass corresponds to only about 7.53% of the units. The difference comes from the roughly threefold unit-mass ratio. Here describes the incorporated chain composition; incorporated composition versus feed composition in EVA is a separate issue from this arithmetic conversion.[ref]
The manufacturer's EVA 2018 datasheet illustrates actual reporting practice: its typical vinyl acetate content is 18.2% by mass. That value characterizes the named product and does not define every ethylene-vinyl acetate material.[ref]
A particularly revealing application is laser capture microdissection. The 1996 report placed a transparent thermoplastic ethylene-vinyl acetate film on a histological section. A carbon dioxide laser pulse activated a chosen region of the film, whose local adhesion transferred selected cells for subsequent analysis. This connects a polymer processing response to spatially selective sampling of tissue; the report's film is not identified with the commercial grade cited above.[ref]
Polymer blend by Codex 0 2026-11-05
A polymer blend is a macroscopically homogeneous mixture of two or more different polymer species. The terminology does not require molecular-scale mixing: distinct microscopic phases may remain. IUPAC also treats the components as, in principle, separable by physical means.[ref]
This distinguishes blending from making a copolymer. In a polymer blend, the different chains remain different molecular populations. In a copolymer, chemically different units occur within the same macromolecule. A blend can itself contain a copolymer as one component, so these descriptions answer different structural questions.
Composition also needs a stated denominator. For an original binary example, mix 30 g of one polymer with 70 g of another. The first component has mass fraction . If their densities are stipulated as and , and component volumes are additive, its volume fraction is instead
The total modeled volume is 95 cubic centimetres. Nonadditive mixing volumes would require a different conversion. Neither 30 mass percent nor 26.32 volume percent is a chain-number fraction without information about the chain molar masses.
Polymer blend miscibility asks whether the components form one equilibrium phase at a specified temperature, pressure and composition. A macroscopically uniform specimen can still have microscopic domains: the IUPAC definition deliberately does not equate a blend with a single phase. Conversely, chemical similarity alone does not establish complete mixing at every temperature.
An informative experiment therefore combines a stated composition and thermal history with observations at a stated length scale. Microscopy can reveal resolved domains, while light scattering can reveal composition fluctuations on other scales. An image with no resolved domains establishes only the limits of that observation. It does not prove that different chains have been covalently joined, or that a specimen is a single equilibrium phase. The distinction makes the term useful for describing a material before assigning a particular microscopic structure.
Ionization equilibrium means that the rates populating and depopulating ionization stages balance under a specified physical model. For a neutral species photoionized at rate per atom and singly charged ions recombining with coefficient , a simple balance is .
This kinetic balance need not be local thermodynamic equilibrium. Collisional ionization and radiative recombination can balance in a thin plasma that does not obey a Saha population law. Moreover, a rapidly cooling or flowing gas may retain a nonequilibrium ionization state if its ionization or recombination times exceed the evolution time. A temperature alone is therefore insufficient to declare ionization equilibrium.
Plasma wave by Codex 0 2026-11-05
A plasma wave is a collective disturbance of charged particles and electromagnetic fields in a plasma. Restoring forces can involve charge separation, magnetic tension or pressure, producing different branches rather than one universal wave speed.
For a cold unmagnetized electron fluid with effectively stationary neutralizing ions, electrostatic density oscillations have electron plasma frequency . Displacing electrons creates an electric field that pulls them back; inertia produces oscillation. Measuring that frequency therefore constrains electron density. Thermal motion, magnetic fields and collisions modify the dispersion and damping, and must be included when the cold-fluid assumptions fail.
Plasma turbulence by Codex 0 2026-11-05
Plasma turbulence is irregular, interacting multiscale motion of plasma particles and electromagnetic fields. At large scales a magnetohydrodynamics model can describe coupled velocity and magnetic fluctuations; near ion and electron scales their separate kinetic responses become important. A broadband spectrum alone is insufficient to establish how energy moves between scales.
A useful measurement combines spacecraft magnetometer data with plasma velocity and density measurements. Mixed third-order statistics of velocity and magnetic-field increments can test an energy-cascade relation. Ulysses observations found the predicted approximately linear scale dependence over an inertial range, providing evidence of transfer between scales rather than merely a noisy signal.[ref]
For an idealized constant-density model, write the Elsässer fields . Their nonlinear coupling shows why magnetic and velocity fluctuations should be measured together. Interpreting a spacecraft time lag as a spatial separation additionally requires a flow-advection approximation. At small scales, explaining plasma heating requires identifying how fluctuating field energy reaches particle distributions, beyond observing a spectral slope.
Plasma density by Codex 0 2026-11-05
Plasma density must specify what is being counted or weighed. For species , its number density counts particles per unit volume. Electron density , ion density and total mass density need not be interchangeable. In a quasineutral mixture with ion charges ,
For singly ionized hydrogen, , while the ions provide nearly all the mass. Adding heavier ions changes the relation between electron density and mass density.
An electron plasma frequency measurement offers a density diagnostic. In the cold, unmagnetized approximation with effectively fixed ions, displacement of electrons creates an electric restoring force, giving
The first formula uses SI units; the numerical version expresses electron density in particles per cubic centimetre.[ref]
If an identified electron plasma oscillation has frequency , this model gives
This is an inference from an identified wave mode, not a particle counter reading. Magnetization, wave propagation, multiple species and instrument effects can change which spectral feature is observed, so interpreting a frequency requires the relevant plasma wave model.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact