<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Structural_induction</id>
		<title>Structural induction - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Structural_induction"/>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Structural_induction&amp;action=history"/>
		<updated>2026-10-24T00:42:08Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>http://wiki.karljones.com/index.php?title=Structural_induction&amp;diff=18398&amp;oldid=prev</id>
		<title>Karl Jones: Created page with &quot;In mathematical logic, '''structural induction''' is a proof method that is used in computer science, graph theory, and some other mathematical fields.  == Descrip...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Structural_induction&amp;diff=18398&amp;oldid=prev"/>
				<updated>2016-09-15T20:19:05Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;In &lt;a href=&quot;/index.php/Mathematical_logic&quot; title=&quot;Mathematical logic&quot;&gt;mathematical logic&lt;/a&gt;, &amp;#039;&amp;#039;&amp;#039;structural induction&amp;#039;&amp;#039;&amp;#039; is a proof method that is used in &lt;a href=&quot;/index.php/Computer_science&quot; title=&quot;Computer science&quot;&gt;computer science&lt;/a&gt;, &lt;a href=&quot;/index.php/Graph_theory&quot; title=&quot;Graph theory&quot;&gt;graph theory&lt;/a&gt;, and some other mathematical fields.  == Descrip...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[mathematical logic]], '''structural induction''' is a proof method that is used in [[computer science]], [[graph theory]], and some other mathematical fields.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
It is a generalization of mathematical induction over [[Natural number|natural numbers]], and can be further generalized to arbitrary Noetherian induction.&lt;br /&gt;
&lt;br /&gt;
Structural recursion is a [[Recursion (computer science)|recursion]] method bearing the same relationship to structural induction as ordinary recursion bears to ordinary [[mathematical induction]].&lt;br /&gt;
&lt;br /&gt;
Structural induction is used to prove that some proposition P(x) holds for all x of some sort of recursively defined structure such as lists or trees.&lt;br /&gt;
&lt;br /&gt;
A well-founded partial order is defined on the structures (&amp;quot;sublist&amp;quot; for lists and &amp;quot;subtree&amp;quot; for trees). The structural induction proof is a proof that the proposition holds for all the minimal structures, and that if it holds for the immediate substructures of a certain structure S, then it must hold for S also. (Formally speaking, this then satisfies the premises of an axiom of well-founded induction, which asserts that these two conditions are sufficient for the proposition to hold for all x.)&lt;br /&gt;
&lt;br /&gt;
A structurally recursive function uses the same idea to define a recursive function: &amp;quot;base cases&amp;quot; handle each minimal structure and a rule for recursion. Structural recursion is usually proved correct by structural induction; in particularly easy cases, the inductive step is often left out. The length and ++ functions in the example below are structurally recursive.&lt;br /&gt;
&lt;br /&gt;
For example, if the structures are lists, one usually introduces the partial order '&amp;lt;' in which L &amp;lt; M whenever list L is the tail of list M. Under this ordering, the empty list [] is the unique minimal element. A structural induction proof of some proposition P(l) then consists of two parts: A proof that P([]) is true, and a proof that if P(L) is true for some list L, and if L is the tail of list M, then P(M) must also be true.&lt;br /&gt;
&lt;br /&gt;
Eventually, there may exist more than one base case, and/or more than one inductive case, depending on how the function or structure was constructed. In those cases, a structural induction proof of some proposition P(l) then consists of: A) a proof that P(BC) is true for each base case BC, and B): a proof that if P(I) is true for some instance I, and M can be obtained from I by applying any one recursive rule once, then P(M) must also be true.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Coinduction]]&lt;br /&gt;
* [[Initial algebra]]&lt;br /&gt;
* [[Loop invariant]], analog for loops&lt;br /&gt;
* [[Mathematical logic]]&lt;br /&gt;
* [[Recursion (computer science)]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Structural_induction Structural induction] @ Wikipedia.org &lt;br /&gt;
&lt;br /&gt;
[[Category:Computer science]]&lt;br /&gt;
[[Category:Logic]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Recursion]]&lt;/div&gt;</summary>
		<author><name>Karl Jones</name></author>	</entry>

	</feed>