<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Second-generation_wavelet_transform</id>
	<title>Second-generation wavelet transform - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Second-generation_wavelet_transform"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Second-generation_wavelet_transform&amp;action=history"/>
	<updated>2026-08-06T00:58:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Second-generation_wavelet_transform&amp;diff=10273&amp;oldid=prev</id>
		<title>en&gt;LutzL: Disambig: Fourier [domain] -&gt; Fourier analysis</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Second-generation_wavelet_transform&amp;diff=10273&amp;oldid=prev"/>
		<updated>2013-04-29T15:18:27Z</updated>

		<summary type="html">&lt;p&gt;Disambig: Fourier [domain] -&amp;gt; Fourier analysis&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox programming language&lt;br /&gt;
 | name                   = P′′&lt;br /&gt;
 | paradigm               = [[Imperative programming|imperative]], [[Structured programming|structured]]&lt;br /&gt;
 | released               = 1964&lt;br /&gt;
 | designer               = [[Corrado Böhm]]&lt;br /&gt;
 | typing                 = untyped&lt;br /&gt;
 | dialects               = [[Brainfuck]]&lt;br /&gt;
 | influenced             = [[Brainfuck]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;P′′&amp;#039;&amp;#039;&amp;#039; is a primitive computer [[programming language]] created by [[Corrado Böhm]]&amp;lt;ref name=&amp;quot;bohm1964&amp;quot;&amp;gt;Böhm, C.: &amp;quot;On a family of Turing machines and the related programming language&amp;quot;, ICC Bull. 3, 185-194, July 1964.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;bohm1966&amp;quot;&amp;gt;Böhm, C. and Jacopini, G.: &amp;quot;Flow diagrams, Turing machines and languages with only two formation rules&amp;quot;, CACM 9(5), 1966.  (Note: This is the most-cited paper on the [[structured program theorem]].)&amp;lt;/ref&amp;gt; in 1964 to describe a family of [[Turing machine]]s.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
&amp;lt;math&amp;gt;\mathcal{P}^{\prime\prime}&amp;lt;/math&amp;gt; (hereafter written &amp;#039;&amp;#039;&amp;#039;P′′&amp;#039;&amp;#039;&amp;#039;) is formally defined as a set of words on the four-instruction alphabet {&amp;lt;tt&amp;gt;R, λ, (, )&amp;lt;/tt&amp;gt;}, as follows:&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
# &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;λ&amp;lt;/tt&amp;gt; are words in P′′.&lt;br /&gt;
# If &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;p&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; are words in P′′, then &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;pq&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; is a word in P′′.&lt;br /&gt;
# If &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; is a word in P′′, then &amp;lt;tt&amp;gt;(&amp;#039;&amp;#039;q&amp;#039;&amp;#039;)&amp;lt;/tt&amp;gt; is a word in P′′.&lt;br /&gt;
# Only words derivable from the previous three rules are words in P′′.&lt;br /&gt;
&lt;br /&gt;
===Semantics===&lt;br /&gt;
* &amp;lt;tt&amp;gt;{a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;, a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, ..., a&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;}(&amp;#039;&amp;#039;n&amp;#039;&amp;#039; ≥ 1)&amp;lt;/tt&amp;gt; is the tape-alphabet of a [[Turing machine]] with left-infinite tape, a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; being the &amp;#039;&amp;#039;blank&amp;#039;&amp;#039; symbol.&lt;br /&gt;
* &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; means move the tape-head rightward one cell (if any).&lt;br /&gt;
* &amp;lt;tt&amp;gt;λ&amp;lt;/tt&amp;gt; means replace the current symbol &amp;lt;tt&amp;gt;a&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;&amp;lt;/tt&amp;gt; by &amp;lt;tt&amp;gt;a&amp;lt;sub&amp;gt;(&amp;#039;&amp;#039;i&amp;#039;&amp;#039;+1) [[Modulo_operation|mod]] (&amp;#039;&amp;#039;n&amp;#039;&amp;#039;+1)&amp;lt;/sub&amp;gt;&amp;lt;/tt&amp;gt;, and then move the tape-head leftward one cell.&lt;br /&gt;
* &amp;lt;tt&amp;gt;(&amp;#039;&amp;#039;q&amp;#039;&amp;#039;)&amp;lt;/tt&amp;gt; means iterate &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; in a [[while loop]], with condition that the current symbol is not &amp;lt;tt&amp;gt;a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* A program is a word in P′′. Execution of a program proceeds left-to-right, executing &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;λ&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;(&amp;#039;&amp;#039;q&amp;#039;&amp;#039;)&amp;lt;/tt&amp;gt; as they are encountered, until there is nothing more to execute.&lt;br /&gt;
&lt;br /&gt;
== Relation to other programming languages ==&lt;br /&gt;
* P′′ was the first &amp;quot;GOTO-less&amp;quot; imperative [[structured programming]] language to be proven&amp;lt;ref name=&amp;quot;bohm1964&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;bohm1966&amp;quot; /&amp;gt; [[Turing-complete]].&lt;br /&gt;
&lt;br /&gt;
* The [[brainfuck]] language (apart from its I/O commands) is a minor informal variation of P′′. Böhm&amp;lt;ref name=&amp;quot;bohm1964&amp;quot; /&amp;gt; gives explicit P′′ programs for each of a set of basic functions sufficient to compute any [[computable function]], using only &amp;lt;tt&amp;gt;(&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;)&amp;lt;/tt&amp;gt; and the four words &amp;lt;tt&amp;gt;r ≡ λR, r′ ≡ r&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;&amp;lt;/tt&amp;gt; (&amp;lt;tt&amp;gt;r&amp;lt;sup&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/sup&amp;gt;&amp;lt;/tt&amp;gt; means &amp;lt;tt&amp;gt;rrrrr...rr&amp;lt;/tt&amp;gt; [&amp;lt;tt&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; times])&amp;lt;tt&amp;gt;, L ≡ r′λ, R.&amp;lt;/tt&amp;gt; These are the equivalents of the six respective brainfuck commands &amp;lt;tt&amp;gt;[, ], +, -, &amp;lt;, &amp;gt;&amp;lt;/tt&amp;gt;. Note that since &amp;lt;tt&amp;gt;a&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;+1&amp;lt;/sub&amp;gt; = a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&amp;lt;/tt&amp;gt;, performing &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (&amp;quot;increment&amp;quot; symbol in current cell) &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; times will wrap around so that the result is to &amp;quot;decrement&amp;quot; the symbol in the current cell by one (&amp;lt;tt&amp;gt;r′&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Example program ==&lt;br /&gt;
Böhm&amp;lt;ref name=&amp;quot;bohm1964&amp;quot; /&amp;gt; gives the following program to compute the predecessor (&amp;#039;&amp;#039;x&amp;#039;&amp;#039;-1) of an integer &amp;#039;&amp;#039;x&amp;#039;&amp;#039; &amp;gt; 0:&lt;br /&gt;
&lt;br /&gt;
 R ( R ) L ( r&amp;#039; ( L ( L ) ) r&amp;#039; L ) R r&lt;br /&gt;
&lt;br /&gt;
which translates directly to the equivalent [[brainfuck]] program&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; [ &amp;gt; ] &amp;lt; [ − &amp;amp;nbsp;[ &amp;lt; [ &amp;lt; ] ] − &amp;amp;nbsp;&amp;lt; ] &amp;gt; +&lt;br /&gt;
&lt;br /&gt;
The program expects an integer to be represented in &amp;#039;&amp;#039;[[bijective numeration|bijective base-n]]&amp;#039;&amp;#039; notation, with a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;, ..., a&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt; coding the digits 1,...,&amp;#039;&amp;#039;n&amp;#039;&amp;#039;, respectively, and to have an a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; before and after the digit-string.  (E.g. in bijective base-2, the number eight would be encoded as a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;a&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;a&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;, because &amp;lt;tt&amp;gt;8 = &amp;lt;u&amp;gt;1&amp;lt;/u&amp;gt;*2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + &amp;lt;u&amp;gt;1&amp;lt;/u&amp;gt;*2&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; + &amp;lt;u&amp;gt;2&amp;lt;/u&amp;gt;*2&amp;lt;sup&amp;gt;0&amp;lt;/sup&amp;gt;&amp;lt;/tt&amp;gt;.)  At the beginning and end of the computation, the tape-head is on the a&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; preceding the digit-string.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:P}}&lt;br /&gt;
[[Category:Models of computation]]&lt;br /&gt;
[[Category:Academic programming languages]]&lt;br /&gt;
[[Category:Experimental programming languages]]&lt;/div&gt;</summary>
		<author><name>en&gt;LutzL</name></author>
	</entry>
</feed>