List of rules of inference: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Mogism
m Table: Rules of Inference - a short summary: Cleanup/Typo fixing, typo(s) fixed: a assertion → an assertion using AWB
No edit summary
 
Line 1: Line 1:
{{for|the uses of monads in computer software|monads in functional programming}}
If your computer is running slow, we have possibly gone by the different stages of rage and frustration. Having such a superb tool like a computer will appear like a curse along with a blessing at the same time when this occurs. It is good whenever it is actually running fast plus smooth, nevertheless then once it begins acting weird and slows way down, frustration sets inside. How could anything because beautiful because a computer create a individual thus mad?<br><br>So one day my computer suddenly started being weird. I was so frustrated, considering my files were missing, plus I cannot open the files that I needed, plus then, suddenly, everything stopped working!<br><br>One of the most overlooked reasons a computer can slow down is considering the registry has become corrupt. The registry is basically the computer's operating system. Anytime you're running the computer, entries are being prepared plus deleted from your registry. The effect this has is it leaves false entries in the registry. So, your computer's resources must function around these false entries.<br><br>Always see with it which we have installed antivirus, anti-spyware and anti-adware programs and have them up-to-date regularly. This can help stop windows XP running slow.<br><br>Besides, when you can receive a [http://bestregistrycleanerfix.com/tune-up-utilities tuneup utilities 2014] that may do the job for we effectively plus immediately, then why not? There is one such system, RegCure which is surprisingly good and complete. It has attributes which additional products do not have. It is the most recommended registry cleaner today.<br><br>Active X controls are used over the entire spectrum of computer and web technologies. These controls are referred to as the building blocks of the web plus because the glue that puts it all together. It is a standard that is employed by all programmers to make the internet more helpful plus interactive. Without these control practices there would basically be no public web.<br><br>The disk demands area inside purchase to run smoothly. By freeing up certain room from your disk, we will be capable to accelerate the PC a bit. Delete all file inside the temporary web files folder, recycle bin, obvious shortcuts and icons from a desktop that you do not employ and remove programs you do not use.<br><br>There is a lot a wise registry cleaner will do for a computer. It will check for and download updates for Windows, Java plus Adobe. Keeping changes current is an significant piece of advantageous computer health. It may furthermore safeguard the individual and company privacy and also the online protection.
In [[category theory]], a branch of mathematics, a '''monad''', or '''triple''' is an (endo-)[[functor]], together with two [[natural transformation]]s.  Monads are used in the theory of pairs of [[adjoint functors]], and they generalize [[closure operator]]s on [[partially ordered set]]s to arbitrary categories. [[Saunders Mac Lane]] adopted the [[monad (philosophy)|philosophical term "monad"]] (a single entity that generates all other entities) for this construct, noting the construct's ability to generate a corresponding category.<ref>Mac Lane, Saunders (1998) ''Categories for the Working Mathematician'': "The remarkable part is that the whole category '''Alg<sub>τ</sub>''' can be reconstructed from this monad in '''Set'''."</ref>
 
== Introduction ==
 
If <math>F</math> and <math>G</math> are a pair of [[adjoint functors]], with <math>F</math> left adjoint to <math>G</math>, then the composition <math>G \circ F</math> is a monad. Therefore, a monad is an [[endofunctor]].  If <math>F</math> and <math>G</math> are inverse functors, the corresponding monad is the [[identity functor]].  In general, adjunctions are not [[equivalence of categories|equivalences]] &mdash; they relate categories of different natures.  The monad theory matters as part of the effort to capture what it is that adjunctions 'preserve'. The other half of the theory, of what can be learned likewise from consideration of <math>F \circ G</math>, is discussed under the dual theory of '''comonads'''.
 
The monad axioms can be seen at work in a simple example: let <math>G</math> be the [[forgetful functor]] from [[category of groups|the category '''Grp''']] of [[group (mathematics)|groups]] to the [[category of sets|category '''Set''']] of sets. Then as <math>F</math> we can take the [[free group]] functor.
 
This means that the monad
:<math>T = G \circ F</math>
takes a set <math>X</math> and returns the underlying set of the free group
<math>\mathrm{Free}(X)</math>.  In this situation, we are given two natural
morphisms:
:<math>X \rightarrow T(X) </math>
by including any set <math>X</math> in <math>\mathrm{Free}(X)</math> in the natural way, as strings of length 1.  Further,
:<math>T(T(X)) \rightarrow T(X) </math>
can be made out of a natural [[concatenation]] or 'flattening' of 'strings of strings'.  This amounts to two [[natural transformation]]s
:<math>I \rightarrow T</math>
and
:<math>T \circ T \rightarrow T</math>
They will satisfy some axioms about identity and [[associativity]] that result from the adjunction properties.
 
Those axioms are formally similar to the [[monoid]] axioms.  They are taken as the definition of a general monad (not assumed ''a priori'' to be connected to an adjunction) on a category.
 
If we specialize to categories arising from [[partially ordered set]]s <math>(P, \le)</math> (with a single morphism from <math>x</math> to <math>y</math> [[iff]] <math>x \le y</math>), then the formalism becomes much simpler: adjoint pairs are [[Galois connection]]s and monads are [[closure operator#Closure operators on partially ordered sets|closure operators]].
 
Every monad arises from some adjunction, in fact typically from many adjunctions.  Two constructions introduced below, the '''[[Kleisli category]]''' and the category of '''Eilenberg-Moore algebras''', are extremal solutions of the problem of constructing an adjunction that gives rise to a given monad.
 
The example about free groups given above can be generalized to any type of algebra in the sense of a [[variety of algebras]] in [[universal algebra]].  Thus, every such type of algebra gives rise to a monad on the category of sets. Importantly, the algebra type can be recovered from the monad (as the category of Eilenberg-Moore algebras), so monads can also be seen as generalizing universal algebras.  Even more generally, any adjunction is said to be '''monadic''' (or '''tripleable''') if it shares this property of being (equivalent to) the Eilenberg-Moore category of its associated monad.  Consequently [[Beck's monadicity theorem]], which gives a criterion for monadicity, can be used to show that an arbitrary adjunction can be treated as a category of algebras in this way.
 
The notion of monad was invented by [[Roger Godement]] in 1958 under the name "standard construction." In the 1960s and 1970s, many people used the name "triple." The now standard term "monad" is due to Mac Lane.
 
== Formal definition ==
 
If <math>C</math> is a [[category theory|category]], a '''monad''' on <math>C</math> consists of a functor <math>T \colon C \to C</math> together with two [[natural transformation]]s: <math>\eta \colon 1_{C} \to T</math> (where <math>1_{C}</math> denotes the identity functor on <math>C</math>) and <math>\mu \colon T^{2} \to T</math> (where <math>T^{2}</math> is the functor <math>T \circ T</math> from <math>C</math> to <math>C</math>). These are required to fulfill the following conditions (sometimes called [[coherence condition]]s):
* <math>\mu \circ T\mu = \mu \circ \mu T</math> (as natural transformations <math>T^{3} \to T</math>);
* <math>\mu \circ T \eta = \mu \circ \eta T = 1_{T}</math> (as natural transformations <math>T \to T</math>; here <math>1_{T}</math> denotes the identity transformation from <math>T</math> to <math>T</math>).
We can rewrite these conditions using following [[commutative diagrams]]:
<center>
{|
| [[Image:Monad mult.png|center]]
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| [[Image:Monad unit1.png|center]]
|}
</center>
 
See the article on [[natural transformation#Operations with natural transformations|natural transformations]] for the explanation of the notations <math>T\mu</math>  and <math>\mu T</math>, or see below the commutative diagrams not using these notions:
 
<center>
{|
| [[Image:Monad multiplication explicit.svg]]
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| [[Image:Monad unit explicit.svg]]
|}
</center>
 
The first axiom is akin to the [[associativity]] in [[monoid (category theory)|monoids]], the second axiom to the existence of an [[identity element]].  Indeed, a monad on <math>C</math> can alternatively be defined as a [[monoid (category theory)|monoid]] in the category <math>\mathbf{End}_{C}</math> whose objects are the endofunctors of <math>C</math> and whose morphisms are the [[natural transformation]]s between them, with the [[monoidal category|monoidal structure]] induced by the composition of endofunctors.
 
==Comonads and their importance==
 
The ''[[Dual (category theory)|categorical dual]]'' definition is a formal definition of a '''comonad''' (or '''cotriple'''); this can be said quickly in the terms that a comonad for a category <math>C</math> is a monad for the [[opposite category]]  <math>C^{\mathrm{op}}</math>. It is therefore a functor <math>U</math> from <math>C</math> to itself, with a set of axioms for ''counit'' and ''comultiplication'' that come from reversing the arrows everywhere in the definition just given.
 
Since a ''comonoid'' is not a basic structure in [[abstract algebra]], this is less familiar at an immediate level.
 
The importance of the definition comes in a class of theorems from the categorical (and [[algebraic geometry]]) theory of [[descent (category theory)|descent]]. What was realised in the period 1960 to 1970 is that ''recognising'' the categories of ''coalgebras for a comonad'' was an important tool of category theory (particularly [[topos theory]]).  The results involved are based on [[Beck's theorem (category theory)|Beck's theorem]].  Roughly what goes on is this: while it is simple set theory that a surjective mapping of sets is as good as the imposition of the [[equivalence relation]] 'in the same [[fiber]]', for [[geometric morphism]]s what you should do is pass to such a coalgebra subcategory.
 
== Examples ==
 
The rich set of examples is given by adjunctions (see [[#Monads_and_adjunctions|Monads and adjunctions]]), and the free group example mentioned above belongs to that set. Another example, on the category <math>\mathbf{Set}</math>: for a set <math>A</math> let <math>T(A)</math> be the [[power set]] of <math>A</math> and for a function <math>f \colon A \to B</math> let <math>T(f)</math> be the function between the power sets induced by taking [[Image (mathematics)|direct images]] under <math>f</math>.  For every set <math>A</math>, we have a map <math>\eta_{A} \colon A \to T(A)</math>, which assigns to every <math>a\in A</math> the [[singleton (mathematics)|singleton]] <math>\{a\}</math>. The function
:<math>\mu_{A} \colon T(T(A)) \to T(A)</math>
in fact is [[union (set theory)|union]] (arbitrary union, not finitary union). These data describe a monad.
 
[[Closure operator]]s are monads on [[poset category|preorder categories]].
 
== Algebras for a monad ==
{{see also|F-algebra}}
 
Suppose that <math>(T,\eta,\mu)</math> is a given monad on a category <math>C</math>.
 
A '''<math>T</math>-algebra''' <math>(x,h)</math> is an object <math>x</math> of <math>C</math> together with an arrow <math>h\colon Tx\to x</math> of <math>C</math> called the '''structure map''' of the algebra such that the diagrams
{|align=center
|-
|[[Image:Monad alg mult.png]]
|width=20|
|and
|width=20|
|[[Image:Monad alg unit.png]]
|}
commute.
 
A morphism <math>f\colon (x,h)\to(x',h')</math> of <math>T</math>-algebras is an arrow <math>f\colon x\to x'</math> of <math>C</math> such that the diagram [[Image:Monad alg morph.png|center]] commutes.
 
The category <math>C^T</math> of <math>T</math>-algebras and their morphisms is called the '''Eilenberg-Moore category''' or '''category of (Eilenberg-Moore) algebras''' of the monad <math>T</math>. The forgetful functor <math>C^T</math>→<math>C</math> has a left adjoint <math>C</math>→<math>C^T</math> taking <math>x</math> to the free algebra <math>(T x,\mu_x)</math>.
 
Given the monad <math>T</math>, there exists another "canonical" category <math>C_T</math> called the '''[[Kleisli category]]''' of the monad <math>T</math>. This category is equivalent to the ''category of free algebras'' for the monad <math>T</math>, i.  e. the [[full subcategory]] of <math>C^T</math> whose objects are of the form <math>(Tx,\mu_x)</math>, for <math>x</math> an object of <math>C</math>.
 
== Monads and adjunctions ==
 
An [[Adjunction (category theory)|adjunction]] <math>(F,G,\eta,\varepsilon)</math> between two categories <math>C</math> and <math>D</math> (where <math>F\colon C\to D</math> is left adjoint to <math>G\colon D\to C</math> and <math>\eta</math> and <math>\varepsilon</math> are respectively the unit and the counit) always defines a monad <math>(GF, \eta, G\varepsilon F)</math>.
 
Conversely, it is interesting to consider the adjunctions which define a given monad <math>(T,\eta,\mu)</math> this way. Let <math>\mathbf{Adj}(C,T)</math> be the category whose objects are the adjunctions <math>(F,G,e,\varepsilon)</math> such that <math>(GF, e, G\varepsilon F)=(T,\eta,\mu)</math> and whose arrows are the morphisms of adjunctions which are the identity on <math>C</math>. Then this category has 
* an initial object <math>(F_T, G_T, \eta, \mu_T):C\to C_T</math>, where <math>C_T</math> is the [[Kleisli category]],
* a terminal object <math>(F^T, G^T, \eta, \mu^T):C\to C^T</math>, where <math>C^T</math> is the Eilenberg-Moore category.
 
An adjunction <math>(F,G,\eta,\varepsilon)</math> between two categories <math>C</math> and <math>D</math> is a '''monadic adjunction''' when the category <math>D</math> is [[equivalence of categories|equivalent]] to the Eilenberg-Moore category <math>C^T</math> for the monad <math>T=GF</math>.  By extension, a functor <math>G\colon D\to C</math> is said to be '''monadic''' if it has a left adjoint <math>F</math> forming a monadic adjunction. [[Beck's monadicity theorem]] gives a characterization of monadic functors.
 
== Uses ==
 
Monads are used in [[functional programming]] to express types of sequential computation (sometimes with side-effects). See [[monads in functional programming]], and the more mathematically oriented Wikibook module [[b:Haskell/Category theory]].
 
In categorical logic, an analogy has been drawn between the monad-comonad theory, and [[modal logic]] via [[closure operator]]s, [[interior algebra]]s, and their relation to [[Mathematical model|models]] of [[S4 algebra|S4]] and [[Intuitionistic logic]]s.
 
==Generalization==
It is possible to define monads in a [[2-category]] <math>C</math>. Monads described above are monads for <math>C = \mathbf{Cat}</math>.
 
== See also ==
 
* [[Distributive law between monads]]
* [[Strong monad]]
* [[Monad (disambiguation)]] for other meanings of the term.
* [[Polyad]]
 
== References ==
{{reflist}}
 
== Further reading ==
* Daniele Turi: [http://www.dcs.ed.ac.uk/home/dt/CT/categories.pdf ''Category Theory Lecture Notes''] (1996-2001), based on MacLane's book "Categories for the Working Mathematician"
* [[Michael Barr (mathematician)|Michael Barr]] and [[Charles Wells (mathematician)|Charles Wells]]: [http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf ''Category Theory for Computing Science''] (1999).
* Roger Godement: Topologie Algébrique et Théorie des Faisceaux.  Actualités Sci. Ind. No. 1252. Publ. Math. Univ. Strasbourg. No. 13 Hermann, Paris 1958 viii+283 pp.
* {{cite book | editor1-last=Pedicchio | editor1-first=Maria Cristina | editor2-last=Tholen | editor2-first=Walter | title=Categorical foundations. Special topics in order, topology, algebra, and sheaf theory | series=Encyclopedia of Mathematics and Its Applications | volume=97 | location=Cambridge | publisher=[[Cambridge University Press]] | year=2004 | isbn=0-521-83414-7 | zbl=1034.18001 }}
 
== External links ==
*[http://www.youtube.com/view_play_list?p=0E91279846EC843E Monads], five short lectures (with one appendix).
*John Baez's [http://math.ucr.edu/home/baez/week89.html This Week's Finds in Mathematical Physics (Week 89)] covers monads in 2-categories.
 
[[Category:Adjoint functors]]

Latest revision as of 03:54, 11 December 2014

If your computer is running slow, we have possibly gone by the different stages of rage and frustration. Having such a superb tool like a computer will appear like a curse along with a blessing at the same time when this occurs. It is good whenever it is actually running fast plus smooth, nevertheless then once it begins acting weird and slows way down, frustration sets inside. How could anything because beautiful because a computer create a individual thus mad?

So one day my computer suddenly started being weird. I was so frustrated, considering my files were missing, plus I cannot open the files that I needed, plus then, suddenly, everything stopped working!

One of the most overlooked reasons a computer can slow down is considering the registry has become corrupt. The registry is basically the computer's operating system. Anytime you're running the computer, entries are being prepared plus deleted from your registry. The effect this has is it leaves false entries in the registry. So, your computer's resources must function around these false entries.

Always see with it which we have installed antivirus, anti-spyware and anti-adware programs and have them up-to-date regularly. This can help stop windows XP running slow.

Besides, when you can receive a tuneup utilities 2014 that may do the job for we effectively plus immediately, then why not? There is one such system, RegCure which is surprisingly good and complete. It has attributes which additional products do not have. It is the most recommended registry cleaner today.

Active X controls are used over the entire spectrum of computer and web technologies. These controls are referred to as the building blocks of the web plus because the glue that puts it all together. It is a standard that is employed by all programmers to make the internet more helpful plus interactive. Without these control practices there would basically be no public web.

The disk demands area inside purchase to run smoothly. By freeing up certain room from your disk, we will be capable to accelerate the PC a bit. Delete all file inside the temporary web files folder, recycle bin, obvious shortcuts and icons from a desktop that you do not employ and remove programs you do not use.

There is a lot a wise registry cleaner will do for a computer. It will check for and download updates for Windows, Java plus Adobe. Keeping changes current is an significant piece of advantageous computer health. It may furthermore safeguard the individual and company privacy and also the online protection.