Main Page: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(692 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
[[File:Venn1110.svg|220px|thumb|[[Venn diagram]] of <math>~A \uparrow B</math>]]
This is a preview for the new '''MathML rendering mode''' (with SVG fallback), which is availble in production for registered users.


In [[Boolean function]]s and [[propositional calculus]], the '''Sheffer stroke''', named after [[Henry M. Sheffer]], written "|" (see [[vertical bar]], not to be confused with "||" which is often used to represent [[Logical disjunction|disjunction]]), "D''pq''", or "↑" (an upwards arrow), denotes a [[logical operation]] that is equivalent to the [[logical negation|negation]] of the [[logical conjunction|conjunction]] operation, expressed in ordinary language as "not both". It is also called '''nand'''  ("not and") or the '''alternative denial''', since it says in effect that at least one of its operands is false.  In [[Boolean algebra (logic)|Boolean algebra]] and [[digital electronics]] it is known as the '''NAND operation'''.
If you would like use the '''MathML''' rendering mode, you need a wikipedia user account that can be registered here [[https://en.wikipedia.org/wiki/Special:UserLogin/signup]]
* Only registered users will be able to execute this rendering mode.
* Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.


Like its [[duality (mathematics)|dual]], the [[logical NOR|NOR operator]] (also known as the [[Charles Sanders Peirce|Peirce]] arrow or [[Willard Van Orman Quine|Quine]] dagger), NAND can be used by itself, without any other logical operator, to constitute a logical [[formal system]] (making NAND [[functional completeness|functionally complete]]). This property makes the [[NAND gate]] crucial to modern [[digital electronics]], including its use in [[NAND flash]] memory and [[computer processor]] design.
Registered users will be able to choose between the following three rendering modes:


==Definition==
'''MathML'''
The '''NAND operation''' is a [[logical operation]] on two [[logical value]]s.  It produces a value of true, if — and only if — at least one of the [[proposition]]s is false.
:<math forcemathmode="mathml">E=mc^2</math>


===Truth table===
<!--'''PNG''' (currently default in production)
The [[truth table]] of '''A NAND B''' (also written as '''A&nbsp;|&nbsp;B''', '''Dpq''', or '''A&nbsp;↑&nbsp;B''') is as follows:
:<math forcemathmode="png">E=mc^2</math>


{| class="wikitable"  style="margin: 0 0 1em 1em"
'''source'''
|- bgcolor="#ddeeff" align="center"
:<math forcemathmode="source">E=mc^2</math> -->
|colspan=2|'''INPUT''' || '''OUTPUT'''
|- bgcolor="#ddeeff" align="center"
| A || B || A NAND B
|- bgcolor="#ddffdd" align="center"
|0 || 0 || 1
|- bgcolor="#ddffdd" align="center"
|0 || 1 || 1
|- bgcolor="#ddffdd" align="center"
|1 || 0 || 1
|- bgcolor="#ddffdd" align="center"
|1 || 1 || 0
|}


==History==
<span style="color: red">Follow this [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering link] to change your Math rendering settings.</span> You can also add a [https://en.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering-skin Custom CSS] to force the MathML/SVG rendering or select different font families. See [https://www.mediawiki.org/wiki/Extension:Math#CSS_for_the_MathML_with_SVG_fallback_mode these examples].
The stroke is named after [[Henry M. Sheffer]], who in 1913 published a paper in the ''[[Transactions of the American Mathematical Society]]'' (Sheffer 1913) providing an axiomatization of [[Boolean algebra (structure)|Boolean algebra]]s using the stroke, and proved its equivalence to a standard formulation thereof by [[Edward Vermilye Huntington|Huntington]] employing the familiar operators of [[propositional logic]] ([[logical conjunction|and]], [[logical disjunction|or]],  [[negation|not]]). Because of self-[[duality (order theory)|duality]] of Boolean algebras, Sheffer's axioms are equally valid for either of the NAND or NOR operations in place of the stroke. Sheffer interpreted the stroke as a sign for non-disjunction (NOR) in his paper, mentioning non-conjunction only in a footnote and without a special sign for it. It was Jean [[Nicod]] who first used the stroke as a sign for non-conjunction (NAND) in a paper of 1917 and which has since become current practice.<ref>{{Harvcoltxt|Church|1956|p=134}}</ref> Russell and Whitehead used the Sheffer stroke in the 1927 second edition of [[Principia Mathematica]] and suggested it as a replacement for the "or" and "not" operations of the first edition.  


[[Charles Sanders Peirce]] (1880) had discovered the [[functional completeness]] of NAND or NOR more than 30 years earlier, using the term ''[[ampheck]]'' (for 'cutting both ways'), but he never published his finding.
==Demos==


==Properties==
Here are some [https://commons.wikimedia.org/w/index.php?title=Special:ListFiles/Frederic.wang demos]:
NAND does not possess any of the following five properties, each of which is required to be absent from, and the absence of all of which is sufficient for, at least one member of a set of [[functional completeness|functionally complete]] operators: truth-preservation, falsity-preservation, [[affine transformation|linearity]], [[monotonic]]ity, [[duality (mathematics)#Duality in logic and set theory|self-duality]]. (An operator is truth- (falsity-) preserving if its value is truth (falsity) whenever all of its arguments are truth (falsity).) Therefore {NAND} is a functionally complete set.


This can also be realized as follows: All three elements of the functionally complete set {AND, OR, NOT} can be [[#Introduction, elimination, and equivalencies|constructed using only NAND]]. Thus the set {NAND} must be functionally complete as well.


==Introduction, elimination, and equivalencies==
* accessibility:
** Safari + VoiceOver: [https://commons.wikimedia.org/wiki/File:VoiceOver-Mac-Safari.ogv video only], [[File:Voiceover-mathml-example-1.wav|thumb|Voiceover-mathml-example-1]], [[File:Voiceover-mathml-example-2.wav|thumb|Voiceover-mathml-example-2]], [[File:Voiceover-mathml-example-3.wav|thumb|Voiceover-mathml-example-3]], [[File:Voiceover-mathml-example-4.wav|thumb|Voiceover-mathml-example-4]], [[File:Voiceover-mathml-example-5.wav|thumb|Voiceover-mathml-example-5]], [[File:Voiceover-mathml-example-6.wav|thumb|Voiceover-mathml-example-6]], [[File:Voiceover-mathml-example-7.wav|thumb|Voiceover-mathml-example-7]]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Audio-Windows7-InternetExplorer.ogg Internet Explorer + MathPlayer (audio)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-SynchronizedHighlighting-WIndows7-InternetExplorer.png Internet Explorer + MathPlayer (synchronized highlighting)]
** [https://commons.wikimedia.org/wiki/File:MathPlayer-Braille-Windows7-InternetExplorer.png Internet Explorer + MathPlayer (braille)]
** NVDA+MathPlayer: [[File:Nvda-mathml-example-1.wav|thumb|Nvda-mathml-example-1]], [[File:Nvda-mathml-example-2.wav|thumb|Nvda-mathml-example-2]], [[File:Nvda-mathml-example-3.wav|thumb|Nvda-mathml-example-3]], [[File:Nvda-mathml-example-4.wav|thumb|Nvda-mathml-example-4]], [[File:Nvda-mathml-example-5.wav|thumb|Nvda-mathml-example-5]], [[File:Nvda-mathml-example-6.wav|thumb|Nvda-mathml-example-6]], [[File:Nvda-mathml-example-7.wav|thumb|Nvda-mathml-example-7]].
** Orca: There is ongoing work, but no support at all at the moment [[File:Orca-mathml-example-1.wav|thumb|Orca-mathml-example-1]], [[File:Orca-mathml-example-2.wav|thumb|Orca-mathml-example-2]], [[File:Orca-mathml-example-3.wav|thumb|Orca-mathml-example-3]], [[File:Orca-mathml-example-4.wav|thumb|Orca-mathml-example-4]], [[File:Orca-mathml-example-5.wav|thumb|Orca-mathml-example-5]], [[File:Orca-mathml-example-6.wav|thumb|Orca-mathml-example-6]], [[File:Orca-mathml-example-7.wav|thumb|Orca-mathml-example-7]].
** From our testing, ChromeVox and JAWS are not able to read the formulas generated by the MathML mode.


The Sheffer stroke <math>\uparrow</math> is the negation of the conjunction:
==Test pages ==


{| style="text-align: center; border: 1px solid darkgray;"
To test the '''MathML''', '''PNG''', and '''source''' rendering modes, please go to one of the following test pages:
|-
*[[Displaystyle]]
|<math>P \uparrow Q</math>
*[[MathAxisAlignment]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
*[[Styling]]
|<math>\neg (P \and Q)</math>
*[[Linebreaking]]
|-
*[[Unique Ids]]
|[[File:Venn1110.svg|50px]]
*[[Help:Formula]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>\neg</math> [[File:Venn0001.svg|50px]]
|}


Expressed in terms of NAND <math>\uparrow</math>, the usual operators of propositional logic are:
*[[Inputtypes|Inputtypes (private Wikis only)]]
 
*[[Url2Image|Url2Image (private Wikis only)]]
{|
==Bug reporting==
|-
If you find any bugs, please report them at [https://bugzilla.wikimedia.org/enter_bug.cgi?product=MediaWiki%20extensions&component=Math&version=master&short_desc=Math-preview%20rendering%20problem Bugzilla], or write an email to math_bugs (at) ckurs (dot) de .
|<!--- not --->
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>\neg P</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>P</math>
|<math>\uparrow</math>
|<math>P</math>
|-
|[[File:Venn10.svg|36px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[File:Venn01.svg|36px]]
|<math>\uparrow</math>
|[[File:Venn01.svg|36px]]
|}<!--- end not--->
 
|&nbsp;&nbsp;&nbsp;
|<!--- arrow --->
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>P \rightarrow Q</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>~P</math>
|<math>\uparrow</math>
|<math>(Q \uparrow Q)</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>~P</math>
|<math>\uparrow</math>
|<math>(P \uparrow Q)</math>
|-
|[[File:Venn1011.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[File:Venn0101.svg|50px]]
|<math>\uparrow</math>
|[[File:Venn1100.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[File:Venn0101.svg|50px]]
|<math>\uparrow</math>
|[[File:Venn1110.svg|50px]]
|}<!--- end arrow --->
|-
|&nbsp;
|-
|<!--- and --->
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>P \and Q</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>(P \uparrow Q)</math>
|<math>\uparrow</math>
|<math>(P \uparrow Q)</math>
|-
|[[File:Venn0001.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[File:Venn1110.svg|50px]]
|<math>\uparrow</math>
|[[File:Venn1110.svg|50px]]
|}<!--- end and --->
|&nbsp;&nbsp;&nbsp;
|<!--- or --->
{| style="text-align: center; border: 1px solid darkgray;"
|-
|<math>P \or Q</math>
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|<math>(P \uparrow P)</math>
|<math>\uparrow</math>
|<math>(Q \uparrow Q)</math>
|-
|[[File:Venn0111.svg|50px]]
|&nbsp;&nbsp;&nbsp;&nbsp;<math>\Leftrightarrow</math>&nbsp;&nbsp;&nbsp;&nbsp;
|[[File:Venn1010.svg|50px]]
|<math>\uparrow</math>
|[[File:Venn1100.svg|50px]]
|}<!--- end or --->
|}
 
==Formal system based on the Sheffer stroke==
The following is an example of a [[formal system]] based entirely on the Sheffer stroke, yet having the functional expressiveness of the [[propositional logic]]:
 
===Symbols===
''p<sub>n</sub>'' for natural numbers ''n'' <br>
( | )
 
The Sheffer stroke commutes but does not associate (e.g., (T|T)|F = T, but T|(T|F) = F). Hence any formal system including the Sheffer stroke must also include a means of indicating grouping. We shall employ '(' and ')' to this effect.
 
We also write ''p'', ''q'', ''r'', … instead of ''p''<sub>0</sub>, ''p''<sub>1</sub>, ''p''<sub>2</sub>.
 
===Syntax===
'''Construction Rule I:''' For each natural number ''n'', the symbol ''p<sub>n</sub>'' is a [[well-formed formula]] (wff), called an atom.
 
'''Construction Rule II:''' If ''X'' and ''Y'' are wffs, then (''X''|''Y'') is a wff.
 
'''Closure Rule:''' Any formulae which cannot be constructed by means of the first two Construction Rules are not wffs.
 
The letters ''U'', ''V'', ''W'', ''X'', and ''Y'' are metavariables standing for wffs.
 
A decision procedure for determining whether a formula is well-formed goes as follows: "deconstruct" the formula by applying the Construction Rules backwards, thereby breaking the formula into smaller subformulae. Then repeat this recursive deconstruction process to each of the subformulae. Eventually the formula should be reduced to its atoms, but if some subformula cannot be so reduced, then the formula is not a wff.
 
===Calculus===
All wffs of the form
:((''U''|(''V''|''W''))|((''Y''|(''Y''|''Y''))|((''X''|''V'')|((''U''|''X'')|(''U''|''X'')))))
are axioms. Instances of
:(''U''|(''V''|''W'')), ''U'' <math>\vdash</math> ''W''
are inference rules.
 
===Simplification===
Since the only connective of this logic is |, the symbol | could be discarded altogether, leaving only the parentheses to group the letters. A pair of parentheses must always enclose a pair of ''wff''s. Examples of theorems in this simplified notation are
 
: (''p''(''p''(''q''(''q''((''pq'')(''pq'')))))),
 
: (''p''(''p''((''qq'')(''pp'')))).
 
The notation can be simplified further, by letting
: (''U'') := (''UU'')
: ((''U'')) <math>\equiv</math> ''U''
for any ''U''.  This simplification causes the need to change some rules:
# More than two letters are allowed within parentheses.
# Letters or wffs within parentheses are allowed to commute.
# Repeated letters or wffs within a same set of parentheses can be eliminated.
The result is a parenthetical version of the Peirce [[existential graph]]s.
 
Another way to simplify the notation is to eliminate parenthesis by using [[Polish Notation]]. For example, the earlier examples with only parenthesis could be rewritten using only strokes as follows
 
: (''p''(''p''(''q''(''q''((''pq'')(''pq'')))))) becomes
: |''p''|''p''|''q''|''q''||''pq''|''pq'', and
 
: (''p''(''p''((''qq'')(''pp'')))) becomes,
: |''p''|''p''||''qq''|''pp''.
 
This follows the same rules as the parenthesis version, with opening parenthesis replaced with a Sheffer stroke and the (redundant) closing parenthesis removed.
 
==See also==
* [[List of logic symbols]]
{{div col|2}}
* [[AND gate]]
* [[Boolean domain]]
* [[CMOS]]
* [[Gate equivalent|Gate equivalent (GE)]]
* [[Laws of Form]]
* [[Logic gate]]
* [[Logical graph]]
* NAND [[Flash Memory]]
* [[NAND logic]]
* [[NAND gate]]
* [[NOR gate]]
* [[NOT gate]]
* [[OR gate]]
* [[Peirce's law]]
* [[Logical NOR|Peirce arrow = NOR]]
* [[Propositional logic]]
* [[Sole sufficient operator]]
* [[XOR gate]]
* [[Peirce arrow]]
{{div col end}}
 
==Notes==
{{reflist}}
 
==References==
*[[Bocheński, Józef Maria]] (1960), ''Précis of Mathematical Logic'',  translated from the French and German editions by Otto Bird, [[Dordrecht]], [[South Holland]]:  [[D. Reidel]].
*[[Alonzo Church|Church, Alonzo]], (1956) ''Introduction to mathematical logic'', Vol. 1, [[Princeton, New Jersey|Princeton]]:  [[Princeton University Press]].
*[[Jean Nicod|Nicod, Jean G. P.]], (1917) "A Reduction in the Number of Primitive Propositions of Logic", ''Proceedings of the Cambridge Philosophical Society'', Vol. 19, pp.&nbsp;32–41.
* [[Charles Sanders Peirce]], 1880, "A Boolian[sic] Algebra with One Constant", in [[Charles Hartshorne|Hartshorne, C.]] and [[Paul Weiss|Weiss, P.]]{{disambiguation needed|date=February 2012}}, eds., (1931–35) ''[[Charles Sanders Peirce bibliography#CP|Collected Papers of Charles Sanders Peirce]], Vol. 4'': 12–20, [[Cambridge]]:  [[Harvard University Press]].
* {{citation|first=H. M.|last= Sheffer|year= 1913|title=A set of five independent postulates for Boolean algebras, with application to logical constants|journal=Transactions of the American Mathematical Society |volume=14|pages=481–488|jstor=1988701}}
 
==External links==
*http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/nand.html
*[http://www.sccs.swarthmore.edu/users/06/adem/engin/e77vlsi/lab3/ implementations of 2 and 4-input NAND gates]
*[http://projecteuclid.org/DPubS?verb=Display&version=1.0&service=UI&handle=euclid.pja/1195520940&page=record Proofs of some axioms by Stroke function by Yasuo Setô] @ [http://projecteuclid.org Project Euclid]
 
{{Logical connectives}}
{{Common logical symbols}}
 
[[Category:Logic gates|NAND gate]]
[[Category:Logical connectives]]
[[Category:Logic symbols]]
 
[[eu:EZ-ETA ate logikoa]]
[[fa:ادات شفر]]
[[he:NAND לוגי]]
[[pl:Dysjunkcja (logika)]]
[[pt:NOU]]
[[ru:Штрих Шеффера]]
[[simple:NAND gate]]
[[sk:Hradlo NAND]]
[[sr:Логичко НИ]]
[[uk:Штрих Шефера]]

Latest revision as of 23:52, 15 September 2019

This is a preview for the new MathML rendering mode (with SVG fallback), which is availble in production for registered users.

If you would like use the MathML rendering mode, you need a wikipedia user account that can be registered here [[1]]

  • Only registered users will be able to execute this rendering mode.
  • Note: you need not enter a email address (nor any other private information). Please do not use a password that you use elsewhere.

Registered users will be able to choose between the following three rendering modes:

MathML


Follow this link to change your Math rendering settings. You can also add a Custom CSS to force the MathML/SVG rendering or select different font families. See these examples.

Demos

Here are some demos:


Test pages

To test the MathML, PNG, and source rendering modes, please go to one of the following test pages:

Bug reporting

If you find any bugs, please report them at Bugzilla, or write an email to math_bugs (at) ckurs (dot) de .