<<newTiddler>>\n<<saveChanges>><<upload http://reasoningwell.tiddlyspot.com/store.cgi index.html . . reasoningwell>>\n<<option chkGenerateAnRssFeed>> GenerateAnRssFeed\n<<option chkOpenInNewWindow>> OpenLinksInNewWindow\n<<option chkSaveEmptyTemplate>> SaveEmptyTemplate\n<<option chkToggleLinks>> Clicking on links to tiddlers that are already open causes them to close\n^^(override with Control or other modifier key)^^\n<<option chkHttpReadOnly>> HideEditingFeatures when viewed over HTTP\n<<option chkForceMinorUpdate>> Treat edits as MinorChanges by preserving date and time\n^^(override with Shift key when clicking 'done' or by pressing Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmBeforeDeleting\nMaximum number of lines in a tiddler edit box: <<option txtMaxEditRows>>\nFolder name for backup files: <<option txtBackupFolder>>\n<<option chkInsertTabs>> Use tab key to insert tab characters instead of jumping to next field
config.options.chkHttpReadOnly = false;\n
|(1) Each man judges well //exactly// the things he knows well.|(5) Young man is inexperienced in life’s actions|(6) Political science concerns life’s actions|(7)Young man tends to follow passion|//Passion prevents acting on knowledge//|(9)The aim of political science is not knowledge but action.|\n|⇒(2) [//only//] One experienced in subject is a good judge of it.|~|~|>|⇒//Young man cannot act well on knowledge.//|~|\n|⇒(3) [//only//] One with all-around education (//experienced in life’s actions//) is a good judge in general ((//of life’s actions//).|~|~|>|>|⇒(8)Young man's study of political science will be vain and unprofitable.|\n|>|⇒//Young man is not a good judge in matters concerning life’s actions.//|~|~|~|\n|>|>|⇒//Young man is not a good judge in matters of political science//|~|~|~|\n|>|>|>|>|>|!∴(4) Young man is not proper student of political science|\n
<html>\n<table border=1 cellspacing=0 cellpadding=0 width=544 style='width:95%;\n border-collapse:collapse;border:none;mso-border-alt:solid windowtext 1pt;\n mso-padding-alt:0in 5.4pt 0in 5.4pt'>\n <tr>\n <td width=200 valign=top style='width:200pt;border:solid windowtext 1pt;\n padding:0in 5.4pt 0in 5.4pt'>\n (1.1) Each man judges well [<i>exactly</i>] the things\n he knows well.\n </td>\n <td width=70 rowspan=3 valign=bottom style='width:70pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n (3.2) Young man lacks experience in life's actions.\n </td>\n <td width=68 rowspan=4 valign=bottom style='width:67.8pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n (3.3) Political science concerns life's actions.\n </td>\n <td width=67 valign=bottom style='width:66.8pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n (3.4)Young man tends to follow passion.\n </td>\n <td width=79 valign=bottom style='width:78.8pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n <i>Passion prevents acting on knowledge.</i>\n </td>\n <td width=60 rowspan=2 valign=top style='width:60pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n (3.6) The aim of political science is not knowledge but action.\n </td>\n </tr>\n <tr>\n <td width=140 valign=top style='width:139.8pt;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n (1.2 =2.1) [<i>Only</i>] One experienced in subject is a\n good judge of it.\n </td>\n <td width=146 colspan=2 valign=bottom style='width:145.6pt;border-top:none;\n border-left:none;border-bottom:solid windowtext 1pt;border-right:solid windowtext 1pt;\n mso-border-top-alt:solid windowtext 1pt;mso-border-left-alt:solid windowtext 1pt;\n padding:0in 5.4pt 0in 5.4pt'>\n<i>Young man cannot act well on knowledge.</i>\n </td>\n </tr>\n <tr>\n <td width=140 valign=top style='width:139.8pt;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>\n (2.2) [<i>Only</i>] One with all-around education [<i>experienced\n in life's actions</i>] is a good judge in general <i>of life's actions.</i>\n </td>\n <td width=237 colspan=3 rowspan=3 valign=bottom style='width:237.4pt;border-top:\n none;border-left:none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;\n mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;\n padding:0in 5.4pt 0in 5.4pt'>\n (3.5)Young man's study of political science will be vain and\n unprofitable.\n </td>\n </tr>\n <tr>\n <td width=239 colspan=2 valign=top style='width:238.6pt;border:solid windowtext .5pt;\n border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>\n <i>Young man is not a good judge in matters concerning life's\n actions.</i>\n </td>\n </tr>\n <tr>\n <td width=306 colspan=3 valign=top style='width:306.4pt;border:solid windowtext .5pt;\n border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>\n <i>Young man is not a good judge in matters of political science.</i>\n </td>\n </tr>\n <tr>\n <td width=544 colspan=6 valign=top style='width:543.8pt;border:solid windowtext .5pt;\n border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>\n ∴ [conclusion:] (3.1) Young man is not proper student of political\n science.\n </td>\n </tr>\n</table>\n</html>\nThe above diagram represents the logical structure of [[this passage|analysis exercise]]. The [[conclusion]] is at the bottom, and each claim is presented by Aristotle as depending on exactly the claims that appear here above its top border. So, the main conclusion is supported by two ideas: basically that the young man will not be able to judge well in political science, and wouldn't be able to make good use of such judgments anyway. \n++++ Notes\n[[Enthymemes|enthymeme]] and suppressed intermediate conclusions: Claims in //italics// here are not explicit in Aristotle's paragraph, but they are required to make the proposed inferences "hold together". One should make sure to spell out, at minimum, those premises, such as the "helper" for (3.4), that one could imagine being reasonably contested. \n\n''Detail and precision'': An argument in ordinary language may be formalized in more or less explicit ways. To make the argument formally [[valid|validity]], even more things would have to be spelled out. The final inference, for example, works only if the following assumption is true: //one who is unable to judge well and can't make good use of studies in a field is not a good student (proper hearer of lectures in) that field.// This diagram offers an intuitively clear level of precision, but not formal deductive validity.\n\n''Objections'': Diagramming or mapping an argument can help in showing where an [[objection]] might be raised. Here, there are six initial starting [[premises|premise]] (including one that's clearly implied), and as many inferences as there are horizontal lines inside the diagram. An [[objection]] must focus on one (or more) of these locations, and cannot be lodged directly against any claim that is not at the top of the chart (i.e., not a basic [[premise]]).\n====
An [[inference pattern]] within Aristotelian or [[categorical logic]] represented as follows:\n|All M is P<br>All S is M|\n|All S is P|\n[>img[Barbara venn diagram|http://espringer.web.wesleyan.edu/images/BarbaraVenn.jpg]]\nIt is a [[valid|validity]] pattern, as is illustrated by the [[Venn diagram]] at right, in which there is no room for an ''S'' that is //not// ''P'': \nA celebrated example — though it treats an individual as a "category of one" — is this one:\n|All men are mortal.<br>Socrates is a man.|\n|Socrates is mortal.|\n
A graphical representation of the [[inference]]-relations leading from [[premises|premise]] to [[conclusion]] within an [[argument]]. Diagrams often help us in assessing an argument's strength and troubleshooting its weaknesses.\n|[img[complex diagram|http://espringer.web.wesleyan.edu/wescourses/2009s/phil212/aristotlediagram.jpg]]|This diagram indicates the relations of support among the explicit claims in [[Aristotle's argument|analysis exercise]] for the conclusion that the study of political science is not for youth: <br>(1.1) Each man judges well [exactly] the things he knows well.<br> (1.2) [Only] One experienced in subject is a good judge of it. <br> (2.2) [Only] One with all-around education [experienced in life's actions] is a good judge in general of life's actions. <br> (3.1) Young man is not proper student of political science. <br> (3.2) Young man lacks experience in life's actions.<br>(3.3) [Political science] concerns life's actions.<br>(3.4)Young man tends to follow passion. //+ [3.4A] Passion prevents acting on knowledge.// <br> (3.5)Young man's study of political science will be vain and unprofitable. <br>(3.6) The aim of political science is not knowledge but action. <br>//(Note that the full structure of the reasoning, including the role of implicit claims, appears in [[this table|Aristotle result]].)//|
Background: #eee\nForeground: #000\nPrimaryPale: #8cf\nPrimaryLight: #18f\nPrimaryMid: #04b\nPrimaryDark: #014\nSecondaryPale: #cff\nSecondaryLight: #9cd\nSecondaryMid: #4ab\nSecondaryDark: #148\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #999\nTertiaryDark: #666\nError: #f88\n
Corrections, comments, or requests should be sent to site manager [[espringer|http://espringer.web.wesleyan.edu/#%5B%5Bcontact%20me%5D%5D%20welcome...]].
First, please open the OptionsPanel and enter an appropriate ''user name'' and the site [[password]].\n!!! When you're ready to make your contributions, get into ''edit mode'':\n* To ''edit an existing'' item, double-click in its body area, or click "edit" in the hovering toolbar. \n* Links displaying in [[italics like this]] are empty, but they still function to open an appropriately-titled blank item.\n* To ''create a new'' Tiddler from scratch, you can use this <<newTiddler>> link here, or the "new tiddler" button under the Admin tab. \n** Make sure to give your contribution a concise title. \n** You may also want to think about where to ''refer to it'' from other items, and edit one or more of those to add links, as below...\n!!! Next, make ''links''\n* ''internal links'' are easy: to refer to any item, type its name between double-brackets, as in: {{{[[Contribute]]}}}. Titles must match exactly, down to capitalization, avoiding extra spaces, etc.\n* For ''external links'', any ''full URL'' becomes a link -- as in http://www.scholar.google.com\n* You can "mask" a link with a nickname, to make it shorter, or to make it flow better in context: Within the double-brackets, put the nickname before a vertical bar, and the rest of the link after it, like this: {{{[[Add|Contribute]]}}}, or {{{[[search|http://www.google.com]]}}}.\n!!! Add styles to make the content easy to grasp. \n* This site uses a wiki-markup syntax: {{{//Italic text//}}}, {{{''bold text''}}}, and {{{@@highlighting@@}}} are three easy markups. \n* Use "edit" to peek inside any item and see how its formatting works (hit ''cancel'' rather than ''done'' to preserve existing content). \n* See the original [[TiddlyWiki|http://www.tiddlywiki.com]] site for complete ''[[formatting details|http://tiddlywiki.com/#ExtendedFormatting%20BulletPoints%20NumberedLists%20PrettyLinks%20NonWikiWordLinks%20HtmlTables%20EmbeddedImages]] ''.\n!!! Register your changes\n* Make sure to use the ''done'' button on the toolbar once you've finished any given item\n* Use ''save to web'' button under Admin tab when you've made a batch of changes. \n** Note, until you ''save to web'', all your changes are simply being kept track of on your local machine, so don't close your window too soon!\n** Only password-authenticated users can modify the central version being served via the internet.
Before doing that for the first time, you'll need to open the OptionsPanel, where you can set up a suitable user name, and enter the site [[password]].\nAn existing item is easy to edit: you'll see a toolbar over any active item, and the ''edit'' button allows you to make revisions (be sure to hit ''done'' to register the changes in your browser). \nTo add a new item, find the ''new item'' button under the Admin tab in the right sidebar, or just click here: <<newTiddler>>\nStyles, links, and formatting are added with wiki markup. The basics are {{{[[link]]}}} or {{{[[nickname|link]]}}} to connect to other items here; {{{//italics// ''bold'' @@highlit@@}}}. [[See more...|formatting]] \nNote: nothing is actually changed at the website until you choose ''save to web'' (under the Admin tab). \n\n
[[Welcome]]\n[[philosophical reasoning]]\n[[Terms]]
//{{{\nconfig.formatters.push({\n name: "htmlEntitiesEncoding",\n match: "&#?[a-zA-Z0-9]{2,8};",\n handler: function(w) {\n var e = createTiddlyElement(w.output,"span");\n e.innerHTML = w.matchText ;\n }\n});\n//}}}
var f=config.formatters[config.formatters.findByField("name","image")];\nf.match="\s\s[[<>]?[Ii][Mm][Gg](?:\s\s([^,]*,[^\s\s)]*\s\s))?\s\s[";\nf.lookaheadRegExp=/\s[([<]?)(>?)[Ii][Mm][Gg](?:\s(([^,]*),([^\s)]*)\s))?\s[(?:([^\s|\s]]+)\s|)?([^\s[\s]\s|]+)\s](?:\s[([^\s]]*)\s])?\s]/mg;\nf.handler=function(w) {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n var floatLeft=lookaheadMatch[1];\n var floatRight=lookaheadMatch[2];\n var width=lookaheadMatch[3];\n var height=lookaheadMatch[4];\n var tooltip=lookaheadMatch[5];\n var src=lookaheadMatch[6];\n var link=lookaheadMatch[7];\n\n // Simple bracketted link\n var e = w.output;\n if(link) { // LINKED IMAGE\n if (config.formatterHelpers.isExternalLink(link)) {\n if (config.macros.attach && config.macros.attach.isAttachment(link)) {\n // see [[AttachFilePluginFormatters]]\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title = config.macros.attach.linkTooltip + link;\n } else\n e = createExternalLink(w.output,link);\n } else \n e = createTiddlyLink(w.output,link,false,null,w.isStatic);\n addClass(e,"imageLink");\n }\n\n var img = createTiddlyElement(e,"img");\n if(floatLeft) img.align="left"; else if(floatRight) img.align="right";\n if(width||height) {\n var x=width.trim(); var y=height.trim();\n var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);\n var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);\n if (x.substr(0,2)=="{{")\n { try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }\n if (y.substr(0,2)=="{{")\n { try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }\n img.style.width=x.trim(); img.style.height=y.trim();\n if (stretchW||stretchH) config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);\n }\n if(tooltip) img.title = tooltip;\n\n // GET IMAGE SOURCE\n if (config.macros.attach && config.macros.attach.isAttachment(src))\n src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]\n else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]\n if (config.browser.isIE || config.browser.isSafari) {\n img.onerror=(function(){\n this.src=config.formatterHelpers.resolvePath(this.src,false);\n return false;\n });\n } else\n src=config.formatterHelpers.resolvePath(src,true);\n }\n img.src=src;\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n}\n\nconfig.formatterHelpers.imageSize={\n tip: 'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size',\n dragtip: 'DRAG=stretch/shrink, '\n}\n\nconfig.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {\n e.title=((stretchW||stretchH)?this.imageSize.dragtip:'')+this.imageSize.tip;\n e.statusMsg='width=%0, height=%1';\n e.style.cursor='move';\n e.originalW=e.style.width;\n e.originalH=e.style.height;\n e.minW=Math.max(e.offsetWidth/20,10);\n e.minH=Math.max(e.offsetHeight/20,10);\n e.stretchW=stretchW;\n e.stretchH=stretchH;\n e.onmousedown=function(ev) { var ev=ev||window.event;\n this.sizing=true;\n this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());\n this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());\n this.startW=this.offsetWidth;\n this.startH=this.offsetHeight;\n return false;\n };\n e.onmousemove=function(ev) { var ev=ev||window.event;\n if (this.sizing) {\n var s=this.style;\n var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());\n var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());\n var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;\n var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;\n if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';\n if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';\n clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));\n }\n return false;\n };\n e.onmouseup=function(ev) { var ev=ev||window.event;\n if (ev.shiftKey) { this.style.width=this.style.height=''; }\n if (ev.ctrlKey) { this.style.width=this.originalW; this.style.height=this.originalH; }\n this.sizing=false;\n clearMessage();\n return false;\n };\n e.onmouseout=function(ev) { var ev=ev||window.event;\n this.sizing=false;\n clearMessage();\n return false;\n };\n}\n
//{{{\nconfig.formatters.unshift( {\n name: "inlinesliders",\n match: "\s\s+\s\s+\s\s+\s\s+|\s\s<slider",\n lookaheadRegExp: /(?:\s+\s+\s+\s+|<slider) (\sw*)(?:>?)\sn((?:.|\sn)*?)\sn(?:====|<\s/slider>)/mg,\n handler: function(w)\n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart )\n {\n var btn = createTiddlyButton(w.output,lookaheadMatch[1] + " "+"\su00BB",lookaheadMatch[1],this.onClickSlider,"button sliderButton");\n var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");\n panel.style.display = "none";\n wikify(lookaheadMatch[2],panel);\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n },\n onClickSlider : function(e)\n {\n if(!e) var e = window.event;\n var n = this.nextSibling;\n n.style.display = (n.style.display=="none") ? "block" : "none";\n return false;\n }\n})\n//}}}
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
nothing
<!-- Start of StatCounter Code -->\n<script type="text/javascript" language="javascript">\nvar sc_project=2253474; \nvar sc_invisible=1; \nvar sc_partition=20; \nvar sc_security="3e2f3ff1"; \n</script>\n\n<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img src="http://c21.statcounter.com/counter.php?sc_project=2253474&java=0&security=3e2f3ff1&invisible=1" alt="free website stats program" border="0"></a> </noscript>\n<!-- End of StatCounter Code -->
The following passage, from the [[fourth chapter of Mill's Utilitarianism|http://www.utilitarianism.com/mill4.htm]], has been controversial:\n>The only proof capable of being given that an object is visible, is that people actually see it. The only proof that a sound is audible, is that people hear it: and so of the other sources of our experience. In like manner, I apprehend, the sole evidence it is possible to produce that anything is desirable, is that people do actually desire it. If the end which the utilitarian doctrine proposes to itself were not, in theory and in practice, acknowledged to be an end, nothing could ever convince any person that it was so. No reason can be given why the general happiness is desirable, except that each person, so far as he believes it to be attainable, desires his own happiness. This, however, being a fact, we have not only all the proof which the case admits of, but all which it is possible to require, that happiness is a good: that each person's happiness is a good to that person, and the general happiness, therefore, a good to the aggregate of all persons.\n\n++++ Analysis\nPoints of difficulty include the [[analogy|analogical argument]] between visibilty and desirability, and also an assumption toward the end that if happiness is a good for each individual, then the aggregate happiness is a good for the aggregate. However, let us focus on the middle portion.\n\nSuppose the [[argument]] above involves the following simplified (and mildly cleaned-up) [[inferences|inference]]:\n<html>\n<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;\n border:none;mso-border-alt:solid windowtext 1pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>\n <tr>\n <td width=300 valign=top style='width:2.0in;border:solid windowtext 1pt;\n padding:0in 5.4pt 0in 5.4pt'>[For any experience-verb\n ____:] The best proof that anything is ____-able is that someone actually\n ____s it\n </td>\n <td width=300 rowspan=3 valign=bottom style='width:150pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n Experience shows us that happiness <b>is desired</b>\n </td>\n <td width=300 rowspan=4 valign=bottom style='width:150pt;border:solid windowtext 1pt;\n border-left:none;mso-border-left-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'> [implicit:]\n What is desirable <b>is a good</b>\n </td>\n </tr>\n <tr>\n <td width=300 valign=top style='width:300pt;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n The best proof that anything <b>is desirable</b> is (or would be) that it <b>is desired</b>\n </td>\n </tr>\n <tr>\n <td width=300 valign=top style='width:300;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'> The best proof\n that <b>happiness</b> is desirable is (or would be) that happiness <b>is desired</b>\n </td>\n </tr>\n <tr>\n <td width=450 colspan=2 valign=top style='width:450pt;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n Experience shows us the best possible proof that happiness <b>is desirable</b>\n </td>\n </tr>\n <tr>\n <td width=600 colspan=3 valign=top style='width:600pt;border:solid windowtext 1pt;\n border-top:none;mso-border-top-alt:solid windowtext 1pt;padding:0in 5.4pt 0in 5.4pt'>\n Experience offers us the best possible proof that happiness <b>is a good</b>\n </td>\n </tr>\n</table>\n</html>\n====\n\n++++ Diagnosis\nThe [[fallacy]] of [[equivocation]] takes place whenever a key term in an [[argument]] is deployed in ways that require it to "pivot" between meanings. Might there be //one// sense of ''"desirable"'' which could mean "''able to be'' desired" and //another// sense which means "''worthy'' of desire"? If Mill's initial [[premise]] about desire depends on the //first// meaning, while the significance by the [[conclusion]] of the passage depends on the //second// meaning, then this passage is guilty of the [[fallacy]] of [[equivocation]]. \n====
/***\n|Name|NestedSlidersPlugin|\n|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|\n|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|\n|Version|2.4.9|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Options|##Configuration|\n|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|\n!!!!!Documentation\n>see [[NestedSlidersPluginInfo]]\n!!!!!Configuration\n<<<\n<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing\n>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.\n>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).\n<<<\n!!!!!Revisions\n<<<\n2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])\n|please see [[NestedSlidersPluginInfo]] for additional revision details|\n2005.11.03 - 1.0.0 initial public release. Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};\n\n// options for deferred rendering of sliders that are not initially displayed\nif (config.options.chkFloatingSlidersAnimate===undefined)\n config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE\n\n// default styles for 'floating' class\nsetStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \s\n background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");\n\n// if removeCookie() function is not defined by TW core, define it here.\nif (window.removeCookie===undefined) {\n window.removeCookie=function(name) {\n document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;'; \n }\n}\n\nconfig.formatters.push( {\n name: "nestedSliders",\n match: "\s\sn?\s\s+{3}",\n terminator: "\s\ss*\s\s={3}\s\sn?",\n lookahead: "\s\sn?\s\s+{3}(\s\s+)?(\s\s([^\s\s)]*\s\s))?(\s\s!*)?(\s\s^(?:[^\s\s^\s\s*\s\s@\s\s[\s\s>]*\s\s^)?)?(\s\s*)?(\s\s@)?(?:\s\s{\s\s{([\s\sw]+[\s\ss\s\sw]*)\s\s{)?(\s\s[[^\s\s]]*\s\s])?(\s\s[[^\s\s]]*\s\s])?(?:\s\s}{3})?(\s\s#[^:]*\s\s:)?(\s\s>)?(\s\s.\s\s.\s\s.)?\s\ss*",\n handler: function(w)\n {\n lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var defopen=lookaheadMatch[1];\n var cookiename=lookaheadMatch[2];\n var header=lookaheadMatch[3];\n var panelwidth=lookaheadMatch[4];\n var transient=lookaheadMatch[5];\n var hover=lookaheadMatch[6];\n var buttonClass=lookaheadMatch[7];\n var label=lookaheadMatch[8];\n var openlabel=lookaheadMatch[9];\n var panelID=lookaheadMatch[10];\n var blockquote=lookaheadMatch[11];\n var deferred=lookaheadMatch[12];\n\n // location for rendering button and panel\n var place=w.output;\n\n // default to closed, no cookie, no accesskey, no alternate text/tip\n var show="none"; var cookie=""; var key="";\n var closedtext=">"; var closedtip="";\n var openedtext="<"; var openedtip="";\n\n // extra "+", default to open\n if (defopen) show="block";\n\n // cookie, use saved open/closed state\n if (cookiename) {\n cookie=cookiename.trim().slice(1,-1);\n cookie="chkSlider"+cookie;\n if (config.options[cookie]==undefined)\n { config.options[cookie] = (show=="block") }\n show=config.options[cookie]?"block":"none";\n }\n\n // parse label/tooltip/accesskey: [label=X|tooltip]\n if (label) {\n var parts=label.trim().slice(1,-1).split("|");\n closedtext=parts.shift();\n if (closedtext.substr(closedtext.length-2,1)=="=") \n { key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }\n openedtext=closedtext;\n if (parts.length) closedtip=openedtip=parts.join("|");\n else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }\n }\n\n // parse alternate label/tooltip: [label|tooltip]\n if (openlabel) {\n var parts=openlabel.trim().slice(1,-1).split("|");\n openedtext=parts.shift();\n if (parts.length) openedtip=parts.join("|");\n else openedtip="hide "+openedtext;\n }\n\n var title=show=='block'?openedtext:closedtext;\n var tooltip=show=='block'?openedtip:closedtip;\n\n // create the button\n if (header) { // use "Hn" header format instead of button/link\n var lvl=(header.length>5)?5:header.length;\n var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);\n btn.onclick=onClickNestedSlider;\n btn.setAttribute("href","javascript:;");\n btn.setAttribute("title",tooltip);\n }\n else\n var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);\n btn.innerHTML=title; // enables use of HTML entities in label\n\n // set extra button attributes\n btn.setAttribute("closedtext",closedtext);\n btn.setAttribute("closedtip",closedtip);\n btn.setAttribute("openedtext",openedtext);\n btn.setAttribute("openedtip",openedtip);\n btn.sliderCookie = cookie; // save the cookiename (if any) in the button object\n btn.defOpen=defopen!=null; // save default open/closed state (boolean)\n btn.keyparam=key; // save the access key letter ("" if none)\n if (key.length) {\n btn.setAttribute("accessKey",key); // init access key\n btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus\n }\n btn.setAttribute("hover",hover?"true":"false");\n btn.onmouseover=function(ev) {\n // optional 'open on hover' handling\n if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {\n document.onclick.call(document,ev); // close transients\n onClickNestedSlider(ev); // open this slider\n }\n // mouseover on button aligns floater position with button\n if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);\n }\n\n // create slider panel\n var panelClass=panelwidth?"floatingPanel":"sliderPanel";\n if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters\n var panel=createTiddlyElement(place,"div",panelID,panelClass,null);\n panel.button = btn; // so the slider panel know which button it belongs to\n btn.sliderPanel=panel; // so the button knows which slider panel it belongs to\n panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";\n panel.setAttribute("transient",transient=="*"?"true":"false");\n panel.style.display = show;\n panel.style.width=panel.defaultPanelWidth;\n panel.onmouseover=function(event) // mouseover on panel aligns floater position with button\n { if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }\n\n // render slider (or defer until shown) \n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n if ((show=="block")||!deferred) {\n // render now if panel is supposed to be shown or NOT deferred rendering\n w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);\n // align floater position with button\n if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);\n }\n else {\n var src = w.source.substr(w.nextMatch);\n var endpos=findMatchingDelimiter(src,"+++","===");\n panel.setAttribute("raw",src.substr(0,endpos));\n panel.setAttribute("blockquote",blockquote?"true":"false");\n panel.setAttribute("rendered","false");\n w.nextMatch += endpos+3;\n if (w.source.substr(w.nextMatch,1)=="\sn") w.nextMatch++;\n }\n }\n }\n }\n)\n\nfunction findMatchingDelimiter(src,starttext,endtext) {\n var startpos = 0;\n var endpos = src.indexOf(endtext);\n // check for nested delimiters\n while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {\n // count number of nested 'starts'\n var startcount=0;\n var temp = src.substring(startpos,endpos-1);\n var pos=temp.indexOf(starttext);\n while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }\n // set up to check for additional 'starts' after adjusting endpos\n startpos=endpos+endtext.length;\n // find endpos for corresponding number of matching 'ends'\n while (startcount && endpos!=-1) {\n endpos = src.indexOf(endtext,endpos+endtext.length);\n startcount--;\n }\n }\n return (endpos==-1)?src.length:endpos;\n}\n//}}}\n//{{{\nwindow.onClickNestedSlider=function(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;\n if (!theTarget) return false;\n var theSlider = theTarget.sliderPanel;\n var isOpen = theSlider.style.display!="none";\n\n // if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])\n if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);\n\n // toggle label\n theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");\n // toggle tooltip\n theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));\n\n // deferred rendering (if needed)\n if (theSlider.getAttribute("rendered")=="false") {\n var place=theSlider;\n if (theSlider.getAttribute("blockquote")=="true")\n place=createTiddlyElement(place,"blockquote");\n wikify(theSlider.getAttribute("raw"),place);\n theSlider.setAttribute("rendered","true");\n }\n\n // show/hide the slider\n if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))\n anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n theSlider.style.display = isOpen ? "none" : "block";\n\n // reset to default width (might have been changed via plugin code)\n theSlider.style.width=theSlider.defaultPanelWidth;\n\n // align floater panel position with target button\n if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);\n\n // if showing panel, set focus to first 'focus-able' element in panel\n if (theSlider.style.display!="none") {\n var ctrls=theSlider.getElementsByTagName("*");\n for (var c=0; c<ctrls.length; c++) {\n var t=ctrls[c].tagName.toLowerCase();\n if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")\n { try{ ctrls[c].focus(); } catch(err){;} break; }\n }\n }\n var cookie=theTarget.sliderCookie;\n if (cookie && cookie.length) {\n config.options[cookie]=!isOpen;\n if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);\n else window.removeCookie(cookie); // remove cookie if slider is in default display state\n }\n\n // prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)\n // prevent clicks *within* a slider button from being processed by browser\n // but allow plain click to bubble up to page background (to close transients, if any)\n if (e.shiftKey || theTarget!=resolveTarget(e))\n { e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }\n Popup.remove(); // close open popup (if any)\n return false;\n}\n//}}}\n//{{{\n// click in document background closes transient panels \ndocument.nestedSliders_savedOnClick=document.onclick;\ndocument.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);\n\n if (document.nestedSliders_savedOnClick)\n var retval=document.nestedSliders_savedOnClick.apply(this,arguments);\n // if click was inside a popup... leave transient panels alone\n var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;\n if (p) return retval;\n // if click was inside transient panel (or something contained by a transient panel), leave it alone\n var p=target; while (p) {\n if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;\n p=p.parentNode;\n }\n if (p) return retval;\n // otherwise, find and close all transient panels...\n var all=document.all?document.all:document.getElementsByTagName("DIV");\n for (var i=0; i<all.length; i++) {\n // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.\n if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;\n // otherwise, if the panel is currently visible, close it by clicking it's button\n if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})\n if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";\n }\n return retval;\n};\n//}}}\n//{{{\n// adjust floating panel position based on button position\nif (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {\n if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {\n // see [[MoveablePanelPlugin]] for use of 'undocked'\n var rightEdge=document.body.offsetWidth-1;\n var panelWidth=panel.offsetWidth;\n var left=0;\n var top=btn.offsetHeight; \n if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {\n left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button\n if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge\n }\n if (place.style.position!="relative") {\n var left=findPosX(btn);\n var top=findPosY(btn)+btn.offsetHeight;\n var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;\n if (p) { left-=findPosX(p); top-=findPosY(p); }\n if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;\n if (left<0) left=0;\n }\n panel.style.left=left+"px"; panel.style.top=top+"px";\n }\n}\n//}}}\n//{{{\n// TW2.1 and earlier:\n// hijack Slider stop handler so overflow is visible after animation has completed\nSlider.prototype.coreStop = Slider.prototype.stop;\nSlider.prototype.stop = function()\n { this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }\n\n// TW2.2+\n// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed\nif (version.major+.1*version.minor+.01*version.revision>=2.2) {\n Morpher.prototype.coreStop = Morpher.prototype.stop;\n Morpher.prototype.stop = function() {\n this.coreStop.apply(this,arguments);\n var e=this.element;\n if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {\n // adjust panel overflow and position after animation\n e.style.overflow = "visible";\n if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);\n }\n };\n}\n//}}}
tiddlyspot password:\n<<option pasUploadPassword>>\n\nThese InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n\n----\nAdvancedOptions\nPluginManager\nImportTiddlers
|A central part of philosophical writing and discussion is effort toward the reasoned persuasion of an audience, or philosophical argumentation. A corresponding goal for students of philosophy is learning to interpret, evaluate, and engage in such argumentation. Although philosophical texts differ greatly in style and focus, fluency with a core cluster of [[terms|Terms]] and [[skills|Skills]] makes for decently broad competence across all of them. The knowledge and skills required to handle [[informal reasoning]] well can benefit students in many ways. Of course, students will learn more and perform better in [[philosophy]] classes, but they will also find that the same skills underlie successful reading and writing in most other courses at the university. Most important, perhaps, is the way in which these skills will serve students in life beyond academia: the need to think clearly and reason well does not go away.|\n|Courses that satisfy the Philosophy Department's Philosophical Reasoning Requirement are specifically designed to help students meet these goals, by incorporating material that makes explicit the fundamentals of philosophical argumentation, and teaching students the skills needed to understand and assess it. Unless explicitly labeled otherwise, all Introductory level courses in the department are designed to satisfy this requirement, though each will do it in a somewhat different way. It is not expected that each course will cover every aspect of this material in equal depth. Most courses satisfying the Philosophical Reasoning Requirement are expected to do so as an integral part of their coverage of other material (e.g., historical or thematic surveys of particular areas of a philosophical tradition).|
<!--{{{-->\n<div class='header'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'><div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->
<<search>><<closeAll>><<permaview>><html><a href='http://reasoningwell.tiddlyspot.com/download' class='button'>download</a></html>
<<tabs txtMainTab\nContents "All tiddlers" TabAll\nRecent Timeline TabTimeline\nAdmin "More tabs" TabMore\nTags "By category" TabTags>>
This site can be edited, online, in wiki fashion, by any authorized user. Collaborating faculty can use this site by configuring the [[OptionsPanel]] with a user name and [[password]]. Please [[contact me|http://espringer.web.wesleyan.edu/]] if you are interested in contributing to this site and making it a better resource. You may also wish to learn about how [[TiddlyWiki sites|http://www.tiddlywiki.com]] can be easily created and modified directly over the web, without html!
This site is designed and maintained by [[Elise Springer|http://espringer.web.wesleyan.edu]] at [[Wesleyan University|http://www.wesleyan.edu]]. It uses a [[TiddlyWIki|http://www.tiddlywiki.com]] framework to allow convenient display of interconnected bits of microcontent such as definitions and examples.
[[skills for philosophy|Skills]]
Reasoning Well:
Competent readers of philosophical text can readily...\n* Recognize the difference between the text of an [[argument]] and a non-argumentative [[explanation|argument vs explanation]] or exposition of [[claims|claim]] or ideas.\n* Distinguish [[conclusion]] and [[premise]](s) within argument texts, and acquire the habit of [[distilling and paraphrasing|argument reconstruction]] arguments accurately.\n* Recognize the difference between [[deductive|deductive reasoning]] arguments and non-deductive arguments.\n* Recognize several basic [[patterns|inference pattern]] of deductive inference, both [[propositional|propositional logic]] and [[categorical|categorical logic]].\n* Recognize arguments that depend upon unstated [[assumptions (enthymemes)|enthymeme]], and reconstruct those arguments with an eye towards [[charity|principle of charity]].\n* Evaluating the [[soundness]] of [[deductive reasoning]], distinguishing doubts and [[objections|objection]] about initial [[premises|premise]] from concerns about argument form ([[validity]]).\n* Assess relative [[strength|strength of argument]] of non-deductive arguments, including [[inductive argument|inductive reasoning]], argument by [[analogy|analogical argument]], and others.\n* Recognize when an apparent [[fallacy]] or [[contradiction]] might be diagnosed within a text, and evaluate whether the flaw is real and serious. \nFluency with these skills might be demonstrated through something like this [[analysis exercise]]. \n(//See also// [[Terms]] for argument analysis.)
#mainMenu {display:none;}\n.header {background: url(https://www.dropbox.com/s/ypzg90tnsnmdqac/welldots.png?raw=1) no-repeat left #339; padding: 0px 17em 0px 200px; height: 160px; font-family: Trebuchet MS, Verdana, Arial, Helvetica, sans-serif; } \n.headerForeground {display: none; padding: 0em;}\n.headerShadow {color: #fff; vert-align: middle; padding: 6em 2em 1em 1em; left: -1px; top: -1px; }\n.headerShadow a {color: #fff;}\n.header a {color: #fff;}\n.header a:hover {background: #55a;}\n.siteTitle {font-size: 1.8em;}\n.siteSubtitle { padding: 2em; font-size: 1.2em;}\n\n#displayArea {margin: 0em 18em 0em 0em; background: #eee; padding: 1em 0em 30em 1em;}\n#sidebar { position: absolute; top: 0px; background: #ccc; padding: 0px 0px 20px 0px; width: 17em; }\n#sidebarOptions {background: #117; padding: 12px 0px 12px 1em; line-height: 1.35 em; height: 136px; }\n#sidebarOptions a {color: #fff; padding: .2em; display: block; line-height: 1.5em; border: none; }\n#sidebarOptions input { margin: 0.2em 0.1em; }\n#sidebarTabs {padding-left: .75em; background: #ccc; margin: 0px; width: 15em; }\n#sidebarTabs a {padding: .1em .2em; }\n\n.title {color: #339; }\n.tiddler {padding: 2px 10px 7px 8px; font-size: 9pt; border:none; }\n.tiddler.selected {padding: 1px 9px 6px 7px; background-color: #fff; border: 1px solid; border-color: #ccc; }\n.toolbar .button {padding: 0em .2em .1em .2em; }\n.selected .title {color: #117; }\n
/* This stylesheet defines positioning, layout, alignment, etc. */\nbody { text-align: left; }\ndiv#contentWrapper { text-align: left; width: 100%; margin: 1em auto 1em auto; }\ndiv#titleLine { width: 100%; width: expression('778px'); /* for IE */ padding: 20px 10px 10px 160px; height: 120px; }\n#titleLine {padding: 6px 6px 0px 6px; }\n.viewer h1,h2,h3,h4,h5 { width: 96%; }\n.viewer { width: 96%; }\n#licensePanel A { display: inline; padding: 0; }\n#xmlIcon { display: none; }\n.editor input, .editor textarea { width: 80%; width: expression('600px'); /* for IE */}\ndiv#displayArea { margin: 0em 15em 1em 1.5em; padding: .5em; }\ndiv#savingMessage { position: fixed; top: 5px; right: 5px; width: 50px; text-align: center; padding: 2px;}\n#messageArea { margin-top: 5px; width: 595px; width: expression('585px'); /* for IE */ }\ndiv#mainMenu { position: absolute; top: 8px; right: 20px; width: auto; text-align: right; padding: 1em 1em 1em 1em; }\ndiv#loginStatus { margin-left: 10px; }\n.toolbar { width: 80%; position: relative; top: 10px; height: 4px; }\n.footer { display: none; }\n.tiddler {padding: .5em .5em .5em 1em; width: auto; }\n.selectedTiddler {padding: .5em .5em .5em 1em; }\n.unselectedTiddler {padding: .5em .5em .5em 1em; }\n\n#sidebar { margin-left: 10px; margin-top: 5px; padding-left: 5px; padding-top: 0px; width: 18em; width: expression('155px'); /* for IE */ }\ndiv#loginStatus { margin-left: 10px; }\n#sidebarTabs .tabSelected, #sidebarTabs .tabSelected:active {position: static;}\n.tabContents { margin-top: 2px;}\n\n#sidebarOptions { display: none; background-color: transparent; color: #000; }\n.sliderPanel, #sidebarOptions .sliderPanel { background-color: #eee; }\n#sidebarOptions a:link, #sidebarOptions a:visited, #sidebarOptions a.button:link, #sidebarOptions a.button:visited, #sidebarOptions a.tiddlyLink:link, #sidebarOptions a.tiddlyLink:visited { color: #009; }\n#sidebarOptions a:hover, #sidebarOptions a.button:hover, #sidebarOptions a.tiddlyLink:hover { color: #009; background-color: #cf6; }\n.tabContents { border-top: 1px solid #ccc; }\n#sidebarTabs a { color: #009; }\n#sidebarTabs a:active { color: #000000; }\n#sidebar { border-left: 1px solid #ccc; }\n#popup { color: #000; background-color: #cf6; border-right: 1px solid #690; border-bottom: 1px solid #690; border-top: 1px solid #fff; border-left: 1px solid #fff; }\n.tabContentTags #popup { background-color: #cf6; }\n\n\n\n/* This stylesheet defines borders, colors, fonts, etc. */\n\nbody { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11pt; background-color: #eee; }\n.selectedTiddler { font-size: 11pt; background-color: #fff; }\n.unselectedTiddler { font-size: 11pt; background-color: #eee; }\n.title { font-size: 12pt; color:#fff; background-color: #995; padding: 1px 3px 1px 3px; display: inline; }\n#titleLine a:hover { color: #009; }\n#zwBadge { margin-top: 3px; }\n#zwBadge img { border: none; }\na.revisionCurrent { font-weight: bold; }\n.editorPrompt { font-size: 8pt; color: #000; }\n#mainMenu {color: #eee; }\n#mainMenu .tiddlyLink {padding: 1px 2px 1px 2px; color: #fff; }\n#mainMenu .externalLink:hover { background-color: #bbbbbb; color: #ffffff; }\n#mainMenu .button { color: #eeeeee; }\n#mainMenu .button:hover { color: #333399; background-color: #ccff66; }\ndiv#titleLine { background-image: url(images/welldotssmall.png); background-repeat: no-repeat; background-color: #339; }\n\ndiv#savingMessage { background-color: #f00; color: #fff; }\n#messageArea { background-color: #cf6; color: #000; }\n#licensePanel A { color: #33c; }\n#licensePanel A:hover { color: #33c; background-color: #cf6; }\n#licensePanel A:active { color: #33c; background-color: #cf6; }\n\n.tiddlyLink { color: #009; }\n.tiddlyLink:hover, #mainMenu .tiddlyLink:hover { color: #009; background-color: #cf6; }\n.externalLink, #mainMenu .externalLink { color: #009; }\n.externalLink:hover, #mainMenu .externalLink:hover { color: #009; background-color: #cf6; }\n#sidebarTabs .tabContents .tiddlyLink:hover { color: #009; background-color: #cf6; }\n#popup a, #popup a.button, a.button { color: #33c; }\n#popup a:hover, #popup a.button:hover, a.button:hover, .button .tiddlyLink:hover { background-color: #fff; color: #33c; }\n.viewer a:link, .body a:visited { color: #009; }\n.viewer a:hover { color: #009; background-color: #cf6; }\n\n#sidebarTabs { background-color: transparent; }\n#sidebarTabs .tabSelected, #sidebarTabs .tabUnselected { color: #009; background-color: transparent; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; }\n#sidebarTabs .tabContents, #sidebarTabs .txtMoreTab .tabUnselected, #sidebarTabs .txtMoreTab .tabContents { background-color: transparent; }\n#sidebarTabs .tabContents .tiddlyLink { color: #009; }\n#sidebarTabs .tabSelected, #sidebarTabs .txtMoreTab .tabSelected { background-color: #fff; }\n#sidebarTabs .tabContents #popup .tiddlyLink:hover { background-color: #fff; }\n#sidebarTabs .tabContents .button { color: #009; }\n#sidebarTabs .tabContents .button:hover { color: #009; background-color: #fff; }\n.tiddler a.button { color: #585; }\n.tiddler a.button:hover { color: #585; background-color: #cc9; }\n.toolbar a.button:hover {background-color: #cc9; }\n.tiddler .toolbar a.button { color: #585; }\n\n.sparkline { background-color: #eee; }\n.sparktick { background-color: #009; }\n\n#sidebarTabs .tabSelected, \n#sidebarTabs .tabSelected:active,\n#sidebarTabs .txtMoreTab .tabSelected,\n#sidebarTabs .txtMoreTab .tabSelected:active { color: #009; }\n#sidebarTabs .tabUnselected, #sidebarTabs .txtMoreTab .tabUnselected { color: #559; background-color: #eee; }\n\n.viewer table { border-color: #ccc; }\n.viewer th { background-color: #eee; border-color: #ccc; color: #000;}\n.viewer td, tr { border-color: #ccc; }
[[Welcome]] • [[Overview]]\n[[Terms]] • [[Skills]]\n[[Site Design]] • [[Contact]]\n----\n<<list all>>
[[Contribute to this site|Contribute]]\n[[Set|OptionsPanel]] username & password\n<<newTiddler>>\n<<saveChanges>><<upload http://reasoningwell.tiddlyspot.com/store.cgi index.html . . reasoningwell>>\n----\n<<tag excludeLists>>\n<<tabs txtMoreTab Missing 'Missing tiddlers' TabMoreMissing Orphans 'Orphaned tiddlers' TabMoreOrphans Shadowed 'Shadowed tiddlers' TabMoreShadowed>>
<<tagCloud excludeSearch excludeLists Setup systemConfig Upload tiddlyspot plugins private plugin>>\n----\n<<allTags>>\n
// //''Name:'' tagCloud plugin\n// //''Version:'' <<getversion tagCloud>> (<<getversiondate tagCloud "DD MMM YYYY">>)\n// //''Author:'' ClintChecketts\n\n// //''Syntax:'' << {{{tagCloud //tags//}}} >>\n// //Any //tags// listed as arguments are omitted from the cloud.\n\n// //''Code section''\nversion.extensions.tagCloud = {major: 0, minor: 2, revision: 0, date: new Date(2005,7,16)};\n\nconfig.macros.tagCloud = {noTags: "No tag cloud created because there are no tags."};\n\nconfig.macros.tagCloud.handler = function(place,macroName,params) {\n \nvar tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);\n\nvar tags = store.getTags();\nvar tagsNoParams = new Array();\nfor (t=0; t<tags.length; t++) {\n var keepTag = true;\n for (p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";\n// if (keepTag) tagsNoParams.push(tags[t][0]);\n}\n//tags = tagsNoParams;\n\n\n if(tags.length == 0) \n createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);\n //Findout the maximum number of tags\n var mostTags = 0;\n for (t=0; t<tags.length; t++) {\n if (tags[t][1] > mostTags) mostTags = tags[t][1];\n }\n //divide the mostTags into 4 segments for the 4 different tagCloud sizes\n var tagSegment = mostTags / 4;\n\n for (t=0; t<tags.length; t++) {\n var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);\n tagCloudWrapper.appendChild(document.createTextNode(" "));\n var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip + tags[t][0],onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));\n theTag.setAttribute("tag",tags[t][0]);\n }\n\n};\n\nsetStylesheet(".tagCloud li{height: 1.8em; float:left; margin: 3px; list-style: none;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}.clearer{clear:left;}#mainMenu .tagCloud{ font-size: .5em; margin: 0; padding: 0; font-weight: bold; } #mainMenu .tagCloudtag:hover{ text-decoration: underline; }","tagCloudsStyles");
Depth in philosophy requires fluency with most of the following, along with the relations among them:\n|!general topic|!key terms|\n|[[philosophy]]|[[problem]], [[argument]], and [[logic]]; [[ethics]], [[epistemology]] and [[metaphysics]], [[political philosophy]], [[aesthetics]]|\n|[[dialogue]]|[[hypothesis]], [[elenchus]], and [[refutation]] ; [[persuasion]] and [[irony]], [[objection]] and [[reply]], [[interpretation]] and [[principle of charity]]|\n|[[argument]]|[[inference indicator]]s; [[soundness]] and [[validity]]; [[premise]] and [[conclusion]]; [[deduction|deductive reasoning]] and [[induction|inductive reasoning]]; [[enthymeme]]; [[inference pattern]]s; [[fallacy]] types|\n|[[symbolization]]|[[inference pattern]]s, [[propositional logic]], [[categorical logic]], [[predicate logic]] and [[quantifier]]s, [[proof]]|\n//Note, additional terms can be found in the ''Contents'' sidebar tab.//
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |\n| 6/2/2007 0:31:34 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/2/2007 0:45:41 | ESpringer | [[reasoningwell.html|file://localhost/Users/espringer/Desktop/reasoningwell.html]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 1:7:34 | ESpringer | [[reasoningwell.html|file://localhost/Users/espringer/Desktop/reasoningwell.html]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/2/2007 2:19:18 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:23:58 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:30:33 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:37:11 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:39:46 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#ColorPalette]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:43:52 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#ColorPalette]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 2:49:10 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#ColorPalette]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 3:0:15 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#ColorPalette]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 3:20:16 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#ColorPalette]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/2/2007 3:48:22 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 20:59:49 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 21:5:47 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 21:8:38 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 21:14:9 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 21:16:9 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 21:18:30 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 22:0:24 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 22:36:39 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 22:41:15 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2007 22:43:12 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2007 7:5:19 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2007 7:6:23 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2007 7:14:41 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/2/2007 7:21:29 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/2/2007 20:52:56 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/2/2007 20:54:20 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2007 21:25:0 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/2/2007 10:34:7 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/2/2007 10:49:1 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/2/2007 10:55:20 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/2/2007 11:8:52 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/2/2007 1:18:57 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 1:31:6 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/2/2007 1:32:41 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 10/2/2007 1:33:4 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok | Ok |\n| 10/2/2007 8:44:2 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/3/2007 10:20:49 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2007 11:47:28 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 2/11/2007 11:57:26 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 2/11/2007 11:58:4 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2007 1:20:34 | espringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2007 1:44:10 | espringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2007 2:7:16 | espringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2007 12:31:20 | espringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 3/11/2007 12:35:44 | espringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2007 13:29:31 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 14:43:2 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 15:14:25 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 15:33:12 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 15:42:54 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 15:50:9 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 16:35:2 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#Contribute]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2007 16:44:33 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#Contribute]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2007 16:58:27 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#Contribute]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/9/2008 12:2:36 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/9/2008 12:3:18 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/1/2009 11:5:33 | parmenides | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/1/2009 11:6:41 | thafbub | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/1/2009 11:6:55 | reasoning | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/1/2009 11:7:34 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/2009 12:8:54 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/2009 12:11:38 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/2009 12:14:2 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/2009 12:16:50 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/1/2009 12:28:51 | reasoningwell | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/1/2009 22:31:51 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/1/2009 16:53:49 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 24/1/2009 17:43:36 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 6/2/2009 0:21:14 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 6/2/2009 0:26:59 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 7/2/2009 13:12:30 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 7/2/2009 13:13:32 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/2/2009 16:49:24 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#Skills]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 21/2/2009 16:54:14 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#%5B%5Banalysis%20exercise%5D%5D]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 21/2/2009 16:55:35 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/#%5B%5Banalysis%20exercise%5D%5D]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 1/3/2009 17:29:14 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 1/3/2009 17:48:32 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 24/6/2009 2:46:44 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 24/6/2009 2:50:20 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/4/2010 10:18:54 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/4/2010 10:24:0 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 22/4/2010 10:45:21 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/4/2010 11:33:50 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 22/4/2010 11:55:45 | ESpringer | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 5/11/2013 6:0:58 | es | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 5/11/2013 6:44:52 | es | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/11/2013 16:51:41 | es | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 19/2/2019 19:58:5 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 19/2/2019 20:0:17 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 9/5/2019 13:26:32 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 13:31:3 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 13:31:26 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 14:15:52 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 14:21:59 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 14:27:33 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 14:32:13 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 9/5/2019 14:34:16 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/5/2019 10:11:45 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 10/5/2019 10:40:39 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 12/5/2019 20:22:15 | YourName | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 8/3/2022 14:6:55 | ES | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 8/3/2022 14:10:51 | ES | [[/|http://reasoningwell.tiddlyspot.com/]] | [[store.cgi|http://reasoningwell.tiddlyspot.com/store.cgi]] | . | index.html | . |
/***\n|''Name:''|UploadPlugin|\n|''Description:''|Save to web a TiddlyWiki|\n|''Version:''|3.4.4|\n|''Date:''|Sep 30, 2006|\n|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|\n|''Documentation:''|http://tiddlywiki.bidix.info/#UploadDoc|\n|''Author:''|BidiX (BidiX (at) bidix (dot) info)|\n|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|\n|''~CoreVersion:''|2.0.0|\n|''Browser:''|Firefox 1.5; InternetExplorer 6.0; Safari|\n|''Include:''|config.lib.file; config.lib.log; config.lib.options; PasswordTweak|\n|''Require:''|[[UploadService|http://tiddlywiki.bidix.info/#UploadService]]|\n***/\n//{{{\nversion.extensions.UploadPlugin = {\n major: 3, minor: 4, revision: 4, \n date: new Date(2006,8,30),\n source: 'http://tiddlywiki.bidix.info/#UploadPlugin',\n documentation: 'http://tiddlywiki.bidix.info/#UploadDoc',\n author: 'BidiX (BidiX (at) bidix (dot) info',\n license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',\n coreVersion: '2.0.0',\n browser: 'Firefox 1.5; InternetExplorer 6.0; Safari'\n};\n//}}}\n\n////+++!![config.lib.file]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.file) config.lib.file= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\nconfig.lib.file.dirname = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(0, lastpos);\n } else {\n return filePath.substring(0, filePath.lastIndexOf("\s\s"));\n }\n};\nconfig.lib.file.basename = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("#")) != -1) \n filePath = filePath.substring(0, lastpos);\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(lastpos + 1);\n } else\n return filePath.substring(filePath.lastIndexOf("\s\s")+1);\n};\nwindow.basename = function() {return "@@deprecated@@";};\n//}}}\n////===\n\n////+++!![config.lib.log]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.log) config.lib.log= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 1}, \n date: new Date(2006,8,19)\n};\nconfig.lib.Log = function(tiddlerTitle, logHeader) {\n if (version.major < 2)\n this.tiddler = store.tiddlers[tiddlerTitle];\n else\n this.tiddler = store.getTiddler(tiddlerTitle);\n if (!this.tiddler) {\n this.tiddler = new Tiddler();\n this.tiddler.title = tiddlerTitle;\n this.tiddler.text = "| !date | !user | !location |" + logHeader;\n this.tiddler.created = new Date();\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[tiddlerTitle] = this.tiddler;\n else\n store.addTiddler(this.tiddler);\n }\n return this;\n};\n\nconfig.lib.Log.prototype.newLine = function (line) {\n var now = new Date();\n var newText = "| ";\n newText += now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear() + " ";\n newText += now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+" | ";\n newText += config.options.txtUserName + " | ";\n var location = document.location.toString();\n var filename = config.lib.file.basename(location);\n if (!filename) filename = '/';\n newText += "[["+filename+"|"+location + "]] |";\n this.tiddler.text = this.tiddler.text + "\sn" + newText;\n this.addToLine(line);\n};\n\nconfig.lib.Log.prototype.addToLine = function (text) {\n this.tiddler.text = this.tiddler.text + text;\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[this.tiddler.tittle] = this.tiddler;\n else {\n store.addTiddler(this.tiddler);\n story.refreshTiddler(this.tiddler.title);\n store.notify(this.tiddler.title, true);\n }\n if (version.major < 2)\n store.notifyAll(); \n};\n//}}}\n////===\n\n////+++!![config.lib.options]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.options) config.lib.options = {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\n\nconfig.lib.options.init = function (name, defaultValue) {\n if (!config.options[name]) {\n config.options[name] = defaultValue;\n saveOptionCookie(name);\n }\n};\n//}}}\n////===\n\n////+++!![PasswordTweak]\n\n//{{{\nversion.extensions.PasswordTweak = {\n major: 1, minor: 0, revision: 3, date: new Date(2006,8,30),\n type: 'tweak',\n source: 'http://tiddlywiki.bidix.info/#PasswordTweak'\n};\n//}}}\n/***\n!!config.macros.option\n***/\n//{{{\nconfig.macros.option.passwordCheckboxLabel = "Save this password on this computer";\nconfig.macros.option.passwordType = "password"; // password | text\n\nconfig.macros.option.onChangeOption = function(e)\n{\n var opt = this.getAttribute("option");\n var elementType,valueField;\n if(opt) {\n switch(opt.substr(0,3)) {\n case "txt":\n elementType = "input";\n valueField = "value";\n break;\n case "pas":\n elementType = "input";\n valueField = "value";\n break;\n case "chk":\n elementType = "input";\n valueField = "checked";\n break;\n }\n config.options[opt] = this[valueField];\n saveOptionCookie(opt);\n var nodes = document.getElementsByTagName(elementType);\n for(var t=0; t<nodes.length; t++) \n {\n var optNode = nodes[t].getAttribute("option");\n if (opt == optNode) \n nodes[t][valueField] = this[valueField];\n }\n }\n return(true);\n};\n\nconfig.macros.option.handler = function(place,macroName,params)\n{\n var opt = params[0];\n if(config.options[opt] === undefined) {\n return;}\n var c;\n switch(opt.substr(0,3)) {\n case "txt":\n c = document.createElement("input");\n c.onkeyup = this.onChangeOption;\n c.setAttribute ("option",opt);\n c.className = "txtOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n break;\n case "pas":\n // input password\n c = document.createElement ("input");\n c.setAttribute("type",config.macros.option.passwordType);\n c.onkeyup = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "pasOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n // checkbox link with this password "save this password on this computer"\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option","chk"+opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options["chk"+opt];\n // text savePasswordCheckboxLabel\n place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));\n break;\n case "chk":\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options[opt];\n break;\n }\n};\n//}}}\n/***\n!! Option cookie stuff\n***/\n//{{{\nwindow.loadOptionsCookie_orig_PasswordTweak = window.loadOptionsCookie;\nwindow.loadOptionsCookie = function()\n{\n var cookies = document.cookie.split(";");\n for(var c=0; c<cookies.length; c++) {\n var p = cookies[c].indexOf("=");\n if(p != -1) {\n var name = cookies[c].substr(0,p).trim();\n var value = cookies[c].substr(p+1).trim();\n switch(name.substr(0,3)) {\n case "txt":\n config.options[name] = unescape(value);\n break;\n case "pas":\n config.options[name] = unescape(value);\n break;\n case "chk":\n config.options[name] = value == "true";\n break;\n }\n }\n }\n};\n\nwindow.saveOptionCookie_orig_PasswordTweak = window.saveOptionCookie;\nwindow.saveOptionCookie = function(name)\n{\n var c = name + "=";\n switch(name.substr(0,3)) {\n case "txt":\n c += escape(config.options[name].toString());\n break;\n case "chk":\n c += config.options[name] ? "true" : "false";\n // is there an option link with this chk ?\n if (config.options[name.substr(3)]) {\n saveOptionCookie(name.substr(3));\n }\n break;\n case "pas":\n if (config.options["chk"+name]) {\n c += escape(config.options[name].toString());\n } else {\n c += "";\n }\n break;\n }\n c += "; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";\n document.cookie = c;\n};\n//}}}\n/***\n!! Initializations\n***/\n//{{{\n// define config.options.pasPassword\nif (!config.options.pasPassword) {\n config.options.pasPassword = 'defaultPassword';\n window.saveOptionCookie('pasPassword');\n}\n// since loadCookies is first called befor password definition\n// we need to reload cookies\nwindow.loadOptionsCookie();\n//}}}\n////===\n\n////+++!![config.macros.upload]\n\n//{{{\nconfig.macros.upload = {\n accessKey: "U",\n formName: "UploadPlugin",\n contentType: "text/html;charset=UTF-8",\n defaultStoreScript: "store.php"\n};\n\n// only this two configs need to be translated\nconfig.macros.upload.messages = {\n aboutToUpload: "About to upload TiddlyWiki to %0",\n backupFileStored: "Previous file backuped in %0",\n crossDomain: "Certainly a cross-domain isue: access to an other site isn't allowed",\n errorDownloading: "Error downloading",\n errorUploadingContent: "Error uploading content",\n fileLocked: "Files is locked: You are not allowed to Upload",\n fileNotFound: "file to upload not found",\n fileNotUploaded: "File %0 NOT uploaded",\n mainFileUploaded: "Main TiddlyWiki file uploaded to %0",\n passwordEmpty: "Unable to upload, your password is empty",\n urlParamMissing: "url param missing",\n rssFileNotUploaded: "RssFile %0 NOT uploaded",\n rssFileUploaded: "Rss File uploaded to %0"\n};\n\nconfig.macros.upload.label = {\n promptOption: "Save and Upload this TiddlyWiki with UploadOptions",\n promptParamMacro: "Save and Upload this TiddlyWiki in %0",\n saveLabel: "save to web", \n saveToDisk: "save to disk",\n uploadLabel: "upload" \n};\n\nconfig.macros.upload.handler = function(place,macroName,params){\n // parameters initialization\n var storeUrl = params[0];\n var toFilename = params[1];\n var backupDir = params[2];\n var uploadDir = params[3];\n var username = params[4];\n var password; // for security reason no password as macro parameter\n var label;\n if (document.location.toString().substr(0,4) == "http")\n label = this.label.saveLabel;\n else\n label = this.label.uploadLabel;\n var prompt;\n if (storeUrl) {\n prompt = this.label.promptParamMacro.toString().format([this.toDirUrl(storeUrl, uploadDir, username)]);\n }\n else {\n prompt = this.label.promptOption;\n }\n createTiddlyButton(place, label, prompt, \n function () {\n config.macros.upload.upload(storeUrl, toFilename, uploadDir, backupDir, username, password); \n return false;}, \n null, null, this.accessKey);\n};\nconfig.macros.upload.UploadLog = function() {\n return new config.lib.Log('UploadLog', " !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |" );\n};\nconfig.macros.upload.UploadLog.prototype = config.lib.Log.prototype;\nconfig.macros.upload.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {\n var line = " [[" + config.lib.file.basename(storeUrl) + "|" + storeUrl + "]] | ";\n line += uploadDir + " | " + toFilename + " | " + backupDir + " |";\n this.newLine(line);\n};\nconfig.macros.upload.UploadLog.prototype.endUpload = function() {\n this.addToLine(" Ok |");\n};\nconfig.macros.upload.basename = config.lib.file.basename;\nconfig.macros.upload.dirname = config.lib.file.dirname;\nconfig.macros.upload.toRootUrl = function (storeUrl, username)\n{\n return root = (this.dirname(storeUrl)?this.dirname(storeUrl):this.dirname(document.location.toString()));\n}\nconfig.macros.upload.toDirUrl = function (storeUrl, uploadDir, username)\n{\n var root = this.toRootUrl(storeUrl, username);\n if (uploadDir && uploadDir != '.')\n root = root + '/' + uploadDir;\n return root;\n}\nconfig.macros.upload.toFileUrl = function (storeUrl, toFilename, uploadDir, username)\n{\n return this.toDirUrl(storeUrl, uploadDir, username) + '/' + toFilename;\n}\nconfig.macros.upload.upload = function(storeUrl, toFilename, uploadDir, backupDir, username, password)\n{\n // parameters initialization\n storeUrl = (storeUrl ? storeUrl : config.options.txtUploadStoreUrl);\n toFilename = (toFilename ? toFilename : config.options.txtUploadFilename);\n backupDir = (backupDir ? backupDir : config.options.txtUploadBackupDir);\n uploadDir = (uploadDir ? uploadDir : config.options.txtUploadDir);\n username = (username ? username : config.options.txtUploadUserName);\n password = config.options.pasUploadPassword; // for security reason no password as macro parameter\n if (!password || password === '') {\n alert(config.macros.upload.messages.passwordEmpty);\n return;\n }\n if (storeUrl === '') {\n storeUrl = config.macros.upload.defaultStoreScript;\n }\n if (config.lib.file.dirname(storeUrl) === '') {\n storeUrl = config.lib.file.dirname(document.location.toString())+'/'+storeUrl;\n }\n if (toFilename === '') {\n toFilename = config.lib.file.basename(document.location.toString());\n }\n\n clearMessage();\n // only for forcing the message to display\n if (version.major < 2)\n store.notifyAll();\n if (!storeUrl) {\n alert(config.macros.upload.messages.urlParamMissing);\n return;\n }\n // Check that file is not locked\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n if (BidiX.GroupAuthoring.lock.isLocked() && !BidiX.GroupAuthoring.lock.isMyLock()) {\n alert(config.macros.upload.messages.fileLocked);\n return;\n }\n }\n \n var log = new this.UploadLog();\n log.startUpload(storeUrl, toFilename, uploadDir, backupDir);\n if (document.location.toString().substr(0,5) == "file:") {\n saveChanges();\n }\n var toDir = config.macros.upload.toDirUrl(storeUrl, toFilename, uploadDir, username);\n displayMessage(config.macros.upload.messages.aboutToUpload.format([toDir]), toDir);\n this.uploadChanges(storeUrl, toFilename, uploadDir, backupDir, username, password);\n if(config.options.chkGenerateAnRssFeed) {\n //var rssContent = convertUnicodeToUTF8(generateRss());\n var rssContent = generateRss();\n var rssPath = toFilename.substr(0,toFilename.lastIndexOf(".")) + ".xml";\n this.uploadContent(rssContent, storeUrl, rssPath, uploadDir, '', username, password, \n function (responseText) {\n if (responseText.substring(0,1) != '0') {\n displayMessage(config.macros.upload.messages.rssFileNotUploaded.format([rssPath]));\n }\n else {\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, rssPath, uploadDir, username);\n displayMessage(config.macros.upload.messages.rssFileUploaded.format(\n [toFileUrl]), toFileUrl);\n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n });\n }\n return;\n};\n\nconfig.macros.upload.uploadChanges = function(storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var original;\n if (document.location.toString().substr(0,4) == "http") {\n original = this.download(storeUrl, toFilename, uploadDir, backupDir, username, password);\n return;\n }\n else {\n // standard way : Local file\n \n original = loadFile(getLocalPath(document.location.toString()));\n if(window.Components) {\n // it's a mozilla browser\n try {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]\n .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);\n converter.charset = "UTF-8";\n original = converter.ConvertToUnicode(original);\n }\n catch(e) {\n }\n }\n }\n //DEBUG alert(original);\n this.uploadChangesFrom(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password);\n};\n\nconfig.macros.upload.uploadChangesFrom = function(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var startSaveArea = '<div id="' + 'storeArea">'; // Split up into two so that indexOf() of this source doesn't find it\n var endSaveArea = '</d' + 'iv>';\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n {\n alert(config.messages.invalidFileError.format([document.location.toString()]));\n return;\n }\n var revised = original.substr(0,posOpeningDiv + startSaveArea.length) + \n allTiddlersAsHtml() + "\sn\st\st" +\n original.substr(posClosingDiv);\n var newSiteTitle;\n if(version.major < 2){\n newSiteTitle = (getElementText("siteTitle") + " - " + getElementText("siteSubtitle")).htmlEncode();\n } else {\n newSiteTitle = (wikifyPlain ("SiteTitle") + " - " + wikifyPlain ("SiteSubtitle")).htmlEncode();\n }\n\n revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");\n revised = revised.replaceChunk("<!--PRE-HEAD-START--"+">","<!--PRE-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPreHead","") + "\sn");\n revised = revised.replaceChunk("<!--POST-HEAD-START--"+">","<!--POST-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPostHead","") + "\sn");\n revised = revised.replaceChunk("<!--PRE-BODY-START--"+">","<!--PRE-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPreBody","") + "\sn");\n revised = revised.replaceChunk("<!--POST-BODY-START--"+">","<!--POST-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPostBody","") + "\sn");\n\n var response = this.uploadContent(revised, storeUrl, toFilename, uploadDir, backupDir, \n username, password, function (responseText) {\n if (responseText.substring(0,1) != '0') {\n alert(responseText);\n displayMessage(config.macros.upload.messages.fileNotUploaded.format([getLocalPath(document.location.toString())]));\n }\n else {\n if (uploadDir !== '') {\n toFilename = uploadDir + "/" + config.macros.upload.basename(toFilename);\n } else {\n toFilename = config.macros.upload.basename(toFilename);\n }\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n if (responseText.indexOf("destfile:") > 0) {\n var destfile = responseText.substring(responseText.indexOf("destfile:")+9, \n responseText.indexOf("\sn", responseText.indexOf("destfile:")));\n toFileUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + destfile;\n }\n else {\n toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n }\n displayMessage(config.macros.upload.messages.mainFileUploaded.format(\n [toFileUrl]), toFileUrl);\n if (backupDir && responseText.indexOf("backupfile:") > 0) {\n var backupFile = responseText.substring(responseText.indexOf("backupfile:")+11, \n responseText.indexOf("\sn", responseText.indexOf("backupfile:")));\n toBackupUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + backupFile;\n displayMessage(config.macros.upload.messages.backupFileStored.format(\n [toBackupUrl]), toBackupUrl);\n }\n var log = new config.macros.upload.UploadLog();\n log.endUpload();\n store.setDirty(false);\n // erase local lock\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n BidiX.GroupAuthoring.lock.eraseLock();\n // change mtime with new mtime after upload\n var mtime = responseText.substr(responseText.indexOf("mtime:")+6);\n BidiX.GroupAuthoring.lock.mtime = mtime;\n }\n \n \n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n }\n );\n};\n\nconfig.macros.upload.uploadContent = function(content, storeUrl, toFilename, uploadDir, backupDir, \n username, password, callbackFn) {\n var boundary = "---------------------------"+"AaB03x"; \n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n if (window.netscape){\n try {\n if (document.location.toString().substr(0,4) != "http") {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');}\n }\n catch (e) {}\n } \n //DEBUG alert("user["+config.options.txtUploadUserName+"] password[" + config.options.pasUploadPassword + "]");\n // compose headers data\n var sheader = "";\n sheader += "--" + boundary + "\sr\snContent-disposition: form-data; name=\s"";\n sheader += config.macros.upload.formName +"\s"\sr\sn\sr\sn";\n sheader += "backupDir="+backupDir\n +";user=" + username \n +";password=" + password\n +";uploaddir=" + uploadDir;\n // add lock attributes to sheader\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n var l = BidiX.GroupAuthoring.lock.myLock;\n sheader += ";lockuser=" + l.user\n + ";mtime=" + l.mtime\n + ";locktime=" + l.locktime;\n }\n sheader += ";;\sr\sn"; \n sheader += "\sr\sn" + "--" + boundary + "\sr\sn";\n sheader += "Content-disposition: form-data; name=\s"userfile\s"; filename=\s""+toFilename+"\s"\sr\sn";\n sheader += "Content-Type: " + config.macros.upload.contentType + "\sr\sn";\n sheader += "Content-Length: " + content.length + "\sr\sn\sr\sn";\n // compose trailer data\n var strailer = new String();\n strailer = "\sr\sn--" + boundary + "--\sr\sn";\n //strailer = "--" + boundary + "--\sr\sn";\n var data;\n data = sheader + content + strailer;\n //request.open("POST", storeUrl, true, username, password);\n try {\n request.open("POST", storeUrl, true); \n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if (request.status == 200)\n callbackFn(request.responseText);\n else\n alert(config.macros.upload.messages.errorUploadingContent + "\snStatus: "+request.status.statusText);\n }\n };\n request.setRequestHeader("Content-Length",data.length);\n request.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);\n request.send(data); \n};\n\n\nconfig.macros.upload.download = function(uploadUrl, uploadToFilename, uploadDir, uploadBackupDir, \n username, password) {\n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n try {\n if (uploadUrl.substr(0,4) == "http") {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n else {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n }\n } catch (e) { }\n //request.open("GET", document.location.toString(), true, username, password);\n try {\n request.open("GET", document.location.toString(), true);\n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n \n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if(request.status == 200) {\n config.macros.upload.uploadChangesFrom(request.responseText, uploadUrl, \n uploadToFilename, uploadDir, uploadBackupDir, username, password);\n }\n else\n alert(config.macros.upload.messages.errorDownloading.format(\n [document.location.toString()]) + "\snStatus: "+request.status.statusText);\n }\n };\n request.send(null);\n};\n\n//}}}\n////===\n\n////+++!![Initializations]\n\n//{{{\nconfig.lib.options.init('txtUploadStoreUrl','store.php');\nconfig.lib.options.init('txtUploadFilename','');\nconfig.lib.options.init('txtUploadDir','');\nconfig.lib.options.init('txtUploadBackupDir','');\nconfig.lib.options.init('txtUploadUserName',config.options.txtUserName);\nconfig.lib.options.init('pasUploadPassword','');\nsetStylesheet(\n ".pasOptionInput {width: 11em;}\sn"+\n ".txtOptionInput.txtUploadStoreUrl {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadFilename {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadDir {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadBackupDir {width: 25em;}\sn"+\n "",\n "UploadOptionsStyles");\nconfig.shadowTiddlers.UploadDoc = "[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadDoc ]]\sn"; \nconfig.options.chkAutoSave = false; saveOptionCookie('chkAutoSave');\n\n//}}}\n////===\n\n////+++!![Core Hijacking]\n\n//{{{\nconfig.macros.saveChanges.label_orig_UploadPlugin = config.macros.saveChanges.label;\nconfig.macros.saveChanges.label = config.macros.upload.label.saveToDisk;\n\nconfig.macros.saveChanges.handler_orig_UploadPlugin = config.macros.saveChanges.handler;\n\nconfig.macros.saveChanges.handler = function(place)\n{\n if ((!readOnly) && (document.location.toString().substr(0,4) != "http"))\n createTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);\n};\n\n//}}}\n////===\n
[>img(30%,auto)[VennSchema|https://i.pinimg.com/originals/92/e6/c3/92e6c30477778e8847ad0276d3273e11.jpg]]\nA visual tool for illustrating the logical relations among categories (generally two or three categories) by representing each category as a circle, and each point in space as falling within one or more circles (or, conceivably, outside all of the circles).\nIf the three circles represent the S-term category, the P-term category, and the M-term category, the various colored spaces at right illustrate the potential overlaps between category memberships (Bars over letters indicate non-membership): \n\n''Conventions'' for marking up a Venn diagram are as follows:\n* Hash-marks across a space indicate that the space is empty: nothing "lives" in this intersection of categories.\n* An asterisk within a space indicates that at least one item //does// occupy the category-intersection in question.\n** When something occupies an incompletely-described space (if, for example, it is both S and M, but may or may not be P), an asterisk is drawn exactly at the border between the spaces it might occupy.
<!--{{{-->\n<div class='toolbar' macro='toolbar closeTiddler +editTiddler references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->
''Reasoning Well'' is set up to allow philosophy students and others to browse through key concepts in the analysis of reasoning, and to seek more or less detail according to need and interest. Most of the initial sample entries are loose definitions or explanations, and they are written with links to make them maximally interconnected.\n\nVisitors are invited to click on links to learn [[about|Site Design]] this site, or just to dive in with some [[terms|Terms]]...\n\n[[Interested in helping to expand or edit the site?|Signing in]]
a string of alphanumeric characters that meets the following criteria:\n* it includes no spaces \n* it begins with a capital letter \n* It has at least one lowercase letter \n* It has an additional capitalized letter after the first.\n\nSo, the word 'WikiWord' is an example of a WikiWord. Any WikiWord automatically becomes a link on a wiki-style page
attribute of knowledge-claims insofar as they are logically //prior// to experience: they neither require nor permit confirmation by experiential evidence.\n(Antonym: //a posteriori//)\n----\nWe know, //a priori//, that triangles have three sides. To look in the world of experience for an exception to this rule -- the newly-discovered four-sided triangle found in a remote jungle, say -- is unintelligible.\nMany philosophers had treated the [[a priori]] as equivalent to things that are true by definition, or [[analytic]]. [[Kant]] opposes this assumption, arguing that there are also [[synthetic]] [[a priori]] truths.\nNote: The phrase //a priori// should generally appear in italics, as it is borrowed from Latin.
inquiry into the immediate values of experience, including concepts such as beauty, taste, art, and the role of criticism in relation to these. \n* Usage: //Several thinkers in the pragmatist school argued that logic and science ultimately depended upon an ''aesthetic'' appreciation of correctness and fit.//
a ''fallacy'' (flaw in an argument) that occurs within conditional-based (if-then) reasoning whenever the reasoner speaks as though we can draw a reliable conclusion by affirming the consequent of the conditional.\n* //Example:// \n<<<\nIf you ate all the cookies, then ''the cookies are gone''.\n''The cookies are gone''.\n----\nYou ate all the cookies!\n<<<\n* Note: The [[fallacy]] of [[affirming the consequent]] assumes that a conditional (if-then claim) is being employed in the "material" sense preferred by logicians. In ordinary speech, people often use "if-then" language to express an "if, and ONLY if..." relationship (a biconditional), as in "I said you could come IF you're nice."
Any [[argument]] which projects the relevance of some claim about a familiar ("grounding") situation or item onto a presumably similar yet less familiar ("target") situation or item.
The following passage from Aristotle's //Nicomachean Ethics// contains a network of complex [[inferences|inference]]. Discuss and evalaute the argument using [[terms|Terms]] of argument analysis, paying particular attention to [[inference indicators|inference indicator]]. Then, try [[reconstructing the argument|argument reconstruction]] by \n# paraphrasing and numbering the distinct [[claims]] made\n# filling in any likely [[suppressed claims|enthymeme]] that would bring the argument closer to [[deductive|deductive reasoning]] strength, and \n# creating a [[diagram]] to illustrate the relations of support that Aristotle seems to be invoking.\n|Now each man judges well the things he knows, and of these he is a good judge. And so the man who has been educated in a subject is a good judge of that subject, and the man who has received an all-round education is a good judge in general. Hence a young man is not a proper hearer of lectures on political science; for he is inexperienced in the actions that occur in life, but its discussions start from these and are about these; and, further, since he tends to follow his passions, his study will be vain and unprofitable, because the end aimed at is not knowledge but action.|\n[[First, notice indicators, such as "so" and "since"...|inference indicator]]\n\n''Then, paraphrase each claim as a sentence that makes sense by itself''\n\n[[You can try arranging your claims into a table...|Aristotle result]]\n\n''... or a diagram, as below'':\n[img[AristotleDiagram|http://espringer.web.wesleyan.edu/images/AristPlusDiagram.png]]
A pattern of argument in which a claim is supported mainly or solely by the fact that an authoritative figure said so (or evidently believed so).\n----\nNote: this pattern of argument is taken to be [[fallacious|fallacy]] only insofar as //too much// weight is placed on the single figure's judgment, and/or the supposed authority is not of the right kind for the claim in question.
# the communicative ''representation'' of [[inferences|inference]]: a segment of text or speech in which a [[conclusion]] is endorsed as following from one or more [[premise]]s, with one or more steps of reasoning required.\n# a ''process'' of [[inference]] whereby reasons are taken to lead assent from some claims toward others. \n# in ordinary language: an episode of expressed ''disagreement''. Note that this usage is not common within philosophy.\n(//See also// [[argument vs explanation]], [[inference pattern]], [[soundness]], [[validity]], [[enthymeme]], [[fallacy]])
the process of [[interpretation]] by which an argument is rephrased in a way that brings it as close to [[deductive|deduction]] [[validity]] as possible. Fully reconstructed arguments often appear redundant at first, since we ordinarily reason with [[enthymemes|enthymeme]] which leave out obvious or awkward premises.\n* //See [[analysis exercise]] for example.//
[[Argument|argument]] and explanation both present relations of support among ideas. In [[explanation]], the "point" (//explanandum//) is already known or taken for granted, and the //explanans// purports to illuminate the story //behind// the point. In an [[inference]] (the building block of an [[argument]]), the "point" ([[conclusion]]) is treated as //not// previously confirmed, and [[premises|premise]] are taken as relatively established grounds to lead thought toward the conclusion.\n* Arguments: \n**__She scored high__, ''so'' surely __she__ had __studied well__. \n**''Since'' __I studied well__, surely __I scored high__ on the exam (I expect).\n* Explanations: \n**The ''reason'' __she scored__ so __high__ was that __she studied well__.\n**__She studied__ that __hard__ ''because'' that was how __she__ could __score high__.\n|Note: As these examples illustrate, the very same bits of [[propositional content]] can be found in arguments and explanations, and can switch roles within these. Context, and sometimes [[indicators|inference indicator]] within the text, give us the clues we need to tell the difference. <br>Also, we should note that explanation and argument can be intertwined. We often use a pattern of reasoning called "inference to the best explanation". The fact that X is the best explanation for P is taken to be a reason to believe X. Still, it is not that P suffices to convince us of X; such arguments work only when X is clearly the //best// explanation.|
Together with the generic word [[reasoning]], these words may be used interchangeably. Two subtleties: \n*The word [[inference]] emphasizes the workings of thoughts, whereas the word [[argument]] emphasizes a communicative representation. \n**Thus bad inferences are a kind of mistake, while bad arguments either express mistakes or engage in dishonest [[persuasion]].\n*Also, when we count [[inferences|inference]], we focus on a specific steps, while the word [[argument]] may cover more than one step of reasoning. When we speak of multiple arguments for a conclusion, we mean multiple possible routes of [[persuasion]].\n**So, a philosopher raising an [[objection]] might say, \n>That argument seems to require at least three [[fallacious|fallacy]] inferences!
explicit endorsement of a [[claim]], to be distinguished from weaker relations to an idea (such as [[speculation]] and [[hypothesis]]) as well as from its opposite, [[negation]].
a ''fallacy'' (flaw in reasoning) in which a respondent pleads directly for the audience simply to accept the claim for which reasons have been demanded. \n* Note: the original sense of "begging the question" is now nearly lost outside of specialized philosophy and law, since it is being eclipsed by a viral misunderstanding. On the mutant usage, the writer intends to suggest that a certain observation "should invite us to ask..." The original sense of the words could be paraphrased as "pleading the issue" or "being stubborn about the matter" — not as "inviting a question."
the structure of [[arguments|argument]] whose [[premises|premise]] and [[conclusion]] concern relations among categories. (//rough syn. [[Aristotelian syllogisms]]//)\nIn [[valid|validity]] patterns of categorical logic, the [[conclusion]] asserts a particular quantificational relation between two terms (called the ''minor'' and ''major'' terms). The premises show how the conclusion follows from two claims about how these terms each relate to a third term (called the ''middle term'').\n//For example, see the [[Barbara]] [[inference pattern]].//
a representation ''presented as true'', generally corresponding to a complete ''sentence''. (syn: [[assertion]])\n* //distinguished from// a [[hypothesis]] merely being //entertained// or discussed as potentially true: "Suppose ''your friend asks to borrow money''..."\n* //distinguished from// a [[concept]] or idea //about which// claims can be made, but which cannot be true or false: "Consider this ''triangle'' here..."
the claim to which an [[argument]] (or the process of [[inference]]) points, by way of harnessing our assent to [[premise]]s.
//syn. ''compatibility''// ... //ant. ''inconsistency''//\nPossibility of being true or actual at the same time.
Some patterns of reasoning are not [[valid|validity]] and yet retain some non-deductive [[strength|strength of argument]]. Because they can be abused in attempts at [[persuasion]], they are called [[fallacies|fallacy]]. Still, there may be appropriate uses of such arguments. \nExamples:\n[[appeal to authority]]\n[[hasty generalization]]
The simultaneous assertion of contrary claims.\n//Example:// "I have visited India and I have not visited India"\nIn symbolic notation we can represent a contradiction very starkly: {{{P and not P}}}. \n\nThe word ''contradiction'' is a red flag in [[philosophical|philosophy]] discussion, and as such it is often overused by hasty thinkers. Often what //seems// to be a contradiction within a prose philosophical text is not, on closer inspection. So, it's wise to call something an ''apparent contradiction'' until and unless you ''can'' articulate exactly which claim is both being affirmed and denied at the same time and in the same way, and ''cannot'' find any clarification (using [[charitable interpretation|principle of charity]] that shows how the text might be ''consistent'' after all.
The skill of communicating something other than what is literally said, harnessing hearers' conventional expectations in order to [[imply]] something other than what is [[asserted|assertion]].\nExamples: \n"In the past year, I have not committed a single crime" //conversationally implies// (in most contexts) that I committed crimes prior to the past year, though it does not assert any such thing.\n//See also// [[irony]]
reasoning within which each inference is tightly necessary, as the [[conclusion]] at each step could not fail to be true supposing its [[premises|premise]] to be true.
# method of inquiry consisting of systematic [[dialogue]]\n# a phenomenon of interaction among elements in a complex historical or psychological process, as in Hegelian, Marxist, and Freudian dialectics.
conversation and mutual interrogation among two or more lines of thought, generally represented by two or more ''interlocutors'', or speakers. In [[philosphical|philosophy]] dialogues, interlocutors may or may not be trying to [[persuade|persuasion]] one another, and may or may not have fixed positions to defend.\n* (See also: [[hypothesis]], [[elenchus]], [[persuasion]], [[charity|principle of charity]], [[refutation]], [[aporia]] and [[irony]].)
a [[syllogistic|syllogism]] [[inference pattern]] that supports a [[conclusion]] by ''process of elimination'', given a disjunctive ("either-or") premise, and another premise that consists of a denial of one of the disjuncts. Its formal structure might be represented as follows:\n|Premise 1: ''Either P or Q.'' <br>Premise 2: ''//not// P.''|\n|Conclusion: ''Q.''|\n* Informal arguments often use an [[enthymematic|enthymeme]] version of this pattern -- specifically omitting the either-or claim.\n* The [[false dilemma]] [[fallacy]] amounts to using this ''disjunctive syllogism'' pattern with a false or unjustifiable either-or claim.
the testing, or “cross-examination” of a [[hypothesis]] in [[dialogue]], often leading to [[refutation]] (from Greek)
an [[argument]] which is incompletely expressed, but which suggests the crucial ingredients for an argument. Often a common-sense [[premise]] is ''suppressed'' (not made explicit); less commonly the [[conclusion]] is left to the audience to discern. \n* A deceptive tactic used in [[persuasion]] is to suppress a [[premise]] that will likely be rejected as soon as it is spelled out. For example, some cases of the [[fallacy]] called [[false dilemma]] seem persuasive only until the missing "either/or" premise is brought to light.\n//Note: most ordinary reasoning takes place in ''enthymemetic'' form. Being able to [[reconstruct|argument reconstruction]] an argument is thus a vital skill!
the study of knowledge, including whether and how knowledge-claims can be well justified\n*//Usage example:// "Whether there's a God is a matter of [[metaphysics]], but what would best count as ''evidence'' about God's existence is a problem of [[epistemology]]."
a [[fallacy]] (flaw in an [[argument]]) that depends on using the same term twice, but in ways that would need to mean different things in different instances in order for all the [[premises|premise]] to be plausible, or in order for the [[conclusion]] to follow with [[validity]].\n* //Example:// \n<<<\n''Animals'' cannot inherit legal title to any property.\nHuman beings are ''animals''.\n----\nHuman beings cannot inherit legal title to any property.\n<<<\n* Note: The [[fallacy]] of [[equivocation]] resists being handled by the usual rule for [[objections|objection]], namely: One must object //either// to the credibility of some particular [[premise(s)|premise]], or to some [[inference pattern]] by which the premises supposedly lead to the conclusion. An equivocal argument has premises which, one by one, //seem// correct, and their [[inference|inference pattern]] may //seem// [[valid|validity]]. Their fault lies in failing to use the same word or phrase consistently to mean the same thing. \n* //See also this// [[potential example of equivocation|Mill on desirability]] //from a philosophical argument//
Articulation of and adherence to norms or values regarding choice and behavior. (syn. [[morality]], but also see [[ethics vs morality]])\n* [[normative ethics]] (or simply ''ethics'' or ''moral philosophy'') directly inquires into how best to make individual choices and morally sound policies. Its theoretical framework may involve elements of [[deontology]] and/or [[consequentialism]]. An alternative [[virtue ethics]] approach focuses on ideal traits of character.\n* [[metaethics]] asks philosophical questions about ethics and morality, such as whether moral theories are explanatory, how to understand moral language, or how moral life is related to natural and causal processes.
''//Comparative note//'': Within non-academic language '[[ethics]]' has been associated either with systematically articulated commitments of a practice (as in a //code of medical ethics//) or with cohesive social and cultural attitudes which may be inarticulate (the //ethos// of a community), while '[[morality]]' has frequently been associated with obedience to transcendent authority and with the denial or repression of impulse (such as sexual impulse). \n\nWithin most analytic philosophy, authors use forms of both terms interchangeably, although distinctions between the concepts remain important to certain approaches.
: the state of flourishing or thriving, sometimes translated as [[happiness]].\n: (Contrast to modern notion of happiness, which is determined by subjective feelings.)\n;eudaimonism\n: the moral-theoretical claim that morality and flourishing ([[eudaimonia]]) go hand-in-hand. Nobody really thrives without [[virtue]], and virtuous people tend to thrive (though bad luck may interfere).\n: (Note how the view is challenged, yet not refuted, by the possibility of systemic constitutive [[moral luck]]: some people's lives are predictably structured so that it is difficult for them to thrive, no matter what character they try to cultivate.)\n\nCan a person //claim to// "be happy" and be wrong?
An attempt to provide ''understanding'' of one event or fact by pointing to its (likely) causes or sources. In an explanation, unlike an [[argument]], the hearer or reader is not expected to question the "result" of the process or situation under discussion; that fact is treated as a given, and the explanation's purpose is not to persuade, but to illuminate. (Note: This is //why// it was so clever of Nietzsche to have a chapter called, "Why I am so clever", bypassing entirely all argument in support of that claim.)\n\nHowever, the availability of some particular explanation may play a role in an [[argument]] pattern called [[inference to the best explanation]]. Widely used in scientific reasoning, that pattern consists of pointing out that a certain [[hypothesis]] //would explain// some observed fact, and using that premise to [[persuade|persuasion]] us that the [[hypothesis]] is true or acceptable.\n//See// [[argument vs explanation]]
!!!Note for Faculty contributors:\nThis site was initially envisioned to clarify the Informal Reasoning requirement for [[Philosophy at Wesleyan University|http://www.wesleyan.edu/phil/]]. The original requirement is described [[here|http://www.wesleyan.edu/phil/reasoning/reasoning.html]], and that original site also points students toward [[this guide|http://www.philosophy.ed.ac.uk/study_html/vade_mecum/sections/section2.htm]], which is considerably more technical in tone, and perhaps especially useful for those interested in logic, metaphysics, philosophy of language, etc.\n\nAt any rate, you should feel free to modify the site as you see fit; all definitions and examples are provisional, and intended only as a proof of concept. You need not worry about "breaking" anything, since the server stores backup information on all previous versions of each item.
An [[argument]] or [[argument form|inference pattern]] that misleads its users or listeners into overestimating the [[strength|strength of argument]] of the support being offered for the [[conclusion]].\n|!Formal fallacies:|[[affirming the consequent]] and [[denying the antecedent]]|\n|!Informal fallacies:|[[ad hominem]], [[equivocation]], [[post hoc]], [[false dilemma]] (including [[slippery slope]] and [[straw man]]), [[appeal to authority]], [[appeal to emotion]], [[appeal to ignorance]], [[circular reasoning]], [[non-sequitur]], [[begging the question]]...|\n* //Note//: Philosophers may occasionally claim to discover and diagnose a very particular [[fallacy]] in another philosopher's reasoning, sometimes claiming even that an entire philosophical //position// is fallacious (though strictly speaking, only patterns of reasoning exhibit fallacies). Thus, what counts as a [[fallacy]] is contestable. (see [[contested fallacies]])
a potential [[claim]], or an idea under consideration in a [[dialogue]]\n* See also: [[elenchus]], [[implication]], [[refutation]], [[proof]]
An unstated claim whose truth must be assumed in order to make sense of an inference. \n----\n//Note: Not all background assumptions are implicit premises. Something should be counted as an implicit premise only when the author apparently expects us to accept that (P) implies (R), but where (P) could not imply (R) unless we also accepted (Q), which is not explicit; (P) and (Q) "add up to" (R), while (P) by itself falls short.//\nTip: A good technique for formulating implicit premises is to notice the presence of concepts in a conclusion that have not been mentioned in any of the explicit premises. We should also notice interesting concepts mentioned in a premise that don't yet "hook up with" anything in the conclusion. Often, an implicit premise can be cobbled together based on phrases from existing premises and conclusions.\n!!!Example:\n{{indent{\n>The many can inflict neither the greatest of harms nor the greatest of goods; they cannot make a man foolish or wise. (Socrates, //Crito//)\n|The many cannot make a man foolish or wise.|@@IMPLICIT: Making a man foolish or wise amounts to causing the greatest harm or greatest benefit (respectively).@@|\n|>|The many can cause neither the greatest of harms nor the greatest of goods.|\n}}}
# //technical:// reasoning within which the [[conclusion]] is a general claim which is supported by appeal to some number of particular instances as [[premises|premise]]. \n# //informal:// any reasoning in which [[premises|premise]] do provide reasonable support for a [[conclusion]], but do not rule out the possibility of the conclusion's falsity. (//See antonym [[deductive reasoning]]//.)\n//Note: Technically, no inductive argument is [[valid|validity]], but it may be more or less [[strong|strength of argument]].
The movement of thought from some [[claim]]s (or [[proposition]]s) towards others, based upon their content. \n* Inference may support its conclusion loosely ([[abduction]] or [[induction]]) or tightly ([[deduction]]).\n* Good inference is the concern of [[logic]], and requires both [[validity]] of form and credibility of [[premise]]s.
word or phrase whose function is to draw attention to relations of logical support among ideas.\n*//Examples//: ''for'', ''since'', ''because'' (premise indicators); ''thus'', ''so'', ''therefore'' (conclusion indicators)\n*//Note//: Such words are also often used in contexts of explanation. See [[argument vs explanation]].\nSome philosophical passages are liberal in the use of indicators, such as this passage from Aristotle's //Nicomachean Ethics//:\n|^^(1.1)^^Now each man judges well the things he knows, and ^^(1.2)^^of these he is a good judge. And @@so@@ ^^(2.1)^^the man who has been educated in a subject is a good judge of that subject, and ^^(2.2)^^the man who has received an all-round education is a good judge in general. @@Hence@@ ^^(3.1)^^a young man is not a proper hearer of lectures on political science; @@for@@ ^^(3.2)^^he is inexperienced in the actions that occur in life, but ^^(3.3)^^its discussions start from these and are about these; and, further, @@since@@ ^^(3.4)^^he tends to follow his passions, ^^(3.5)^^his study will be vain and unprofitable, @@because@@ ^^(3.6)^^the end aimed at is not knowledge but action.|\n//See [[analysis|analysis exercise]] and [[diagram]] for more on this example.//
formal structure of an inference (step of reasoning) abstracted away from its contents, such that an argument's [[conclusion]] might be understood as emerging from some reorganization of elements available with an argument's [[premises|premise]].\n* valid propositional logic patterns: [[modus ponens]], [[modus tollens]], [[contraposition]], [[disjunctive syllogism]], [[hypothetical syllogism]]\n* valid categorical logic patterns: [[Barbara]] and friends
The attempt to understand the significance of someone's speech, writing, or other gestures. In philosophical work, the ability to raise [[objections|objection]] and critical questions must be balanced together with a responsibility to interpret ideas [[charitably|principle of charity]].
Spoken (or written) claims that are framed or inflected so as to raise doubts about whether the speaker could possibly mean them, especially when such doubts [[prompt more complex insights|conversational implicature]] about a speaker's attitudes.\n|Confucius supposedly commented, ''“Yan Hui is of no help to me — he is pleased with everything I say.”''<br><br>Of course, it is hard to believe that Confucius is upset with Yan Hui for agreeing with him. On the other hand, the fact that the comment is ironic //does not mean// that Confucius is simply communicating the opposite of what the words apparently mean. The more subtle insight is that Confucius is aware that we have much to learn through thoughtful disagreement. Though he does not want students to disagree hastily and without understanding, he also recognizes that Yan Hui, as his best student, could become wise enough to offer criticism to Confucius, and that this would require not being pleased with everything Confucius says.|
The discipline of using and appreciating good [[inference]] methods (making and evaluating [[argument]]s).\n* ''Informal logic'' concerns patterns of [[inference]] and [[argument]] in ordinary language and most [[philosophical|philosophy]] inquiry.\n* ''Formal logic'' concerns the distillation of [[patterns of inference|inference pattern]] through [[symbolization]] into elements that may be represented in formulae, [[diagrams|diagram]], and [[proofs|proof]].\nNaturally, formal logic becomes generally valuable for philosophy insofar as we can [[translate|translation]] back and forth between informal and formal approaches.
the study of ''features of reality'' insofar as they are open primarily to [[philosophy]] and not settled by other disciplinary methods, such as those of the [[empirical]] sciences.
An [[syllogistic|syllogism]] [[inference pattern]] that supports a [[conclusion]] by affirming a [[premise]] that it follows from some other claim, and then affirming the other claim. Its formal structure might be represented as follows:\n|Premise 1: ''If P then Q.'' <br>Premise 2: ''P.''|\n|Conclusion: ''Q.''|
a [[syllogistic|syllogism]] [[inference pattern]] whose conclusion negates a proposition on the basis of two [[premises|premise]]: that this proposition would entail some other one, and that the other one is not true. Its formal structure might be represented as follows:\n|Premise 1: ''If P then Q.'' <br>Premise 2: ''not Q.''|\n|Conclusion: ''not P.''|
: the perhaps-[[paradoxical|paradox]] phenomenon of being morally responsible for things that are not fully under one's control, whether it is an [[incidental|incident moral luck]] bad outcome (manslaughter) or a flawed [[constitution|constitutive moral luck]] of self (character) due to upbringing.\n: (Contrast to a Kantian view on which moral awareness and motivation derives from [[a priori]] reasoning and thus immune from causal interference.)\n: (Contrast also to a [[determinist view|determinism]] on which we are all always subject to causal forces, and therefore not really considered ultimately responsible; for example, we may need to lock up vicious criminals, but they are not seen as inherently deserving retribution if their actions are traceable to things beyond themselves.)\n;moral damage\n: ways in which oppression may harm people not just by depriving them of material advantages, but by making it difficult for them to develop or maintain good character ([[virtues|virtue]]).\n\nMORAL LUCK for the PRIVILEGED makes it hard to recognize privilege\n Intersubjectivity suports their privileged and insulated views...\nMORAL LUCK for the OPPRESSED brings experience of contradiction...\nTessman argues for a kind of "epistemic privilege" that sits with the oppressed, who are aware of the need for change, even if they don't know how...\n\nCan we hold oppressors responsible for attitudes/habits that "they couldn't have avoided"?\nShould moral luck be treated //differently// depending on its structurally dominant or subordinate origin?\n
Active concern for good conduct, characteristics of which are studied by moral philosophy (see also [[ethics]])
a complaint, especially one that casts doubt on the [[soundness]] of an argument. \n*Objections include those that deny the credibility of a [[premise]], and those that question the [[validity]] of an [[argument]].\n**One kind of objection falls between the above categories: if an argument commits [[equivocation]] then there is a difficulty of interpretation where on some reading the premises seem true but don't lead to the conclusion; on other readings the argument is valid, but not all premises are true.\n**Objections sometimes take the form of diagnosing a [[fallacy]] within the reasoning that is being challenged.
The password is the name of an early one for whom being is never other than one -- to be typed in lowercase.
the structure of a step of reasoning (i.e., of an inference) considered entirely apart from its contents.\n----\nNote: Patterns of inference are usually represented with sentential variables or predicate variables in place of the substantive ideas being discussed.\nExamples: [[modus ponens]], [[modus tollens]]
success in bringing others to ''agree'' with one's [[claim]]s. (see also [[rhetoric]])
|[[Overview]]|what we mean by Philosophical Reasoning, why it matters, which courses cover it.|\n|[[Terms]]|names for the patterns and themes at work in philosophical inquiry and reasoning. |\n|[[Skills]]|discerning philosophical ingredients and responding to them appropriately.|\n
The roots of the Greek word from which '' 'philosophy' '' derives are these:\n* ''//philo//-'': love (for or of)\n* ''//sophia//'': wisdom \n\nIn practice, philosophy is a discipline concerned with questions and [[problems|problem]] that lie beyond other academic disciplines' research methods (including questions about virtually any discipline's deepest concepts), and with the [[argument]]s by which people acquire and change their attitudes, beliefs, and practices.
inquiry into the nature of justice and other political ideals
Claim serving to lend support to the [[conclusion]] of an [[argument]] or [[inference]].\n*//Note//: "Premiss" is the more conservative spelling, though "premise" has become more common.
A central norm governing philosophical [[interpretation]], according to which we read a text with an eye towards noticing the most [[consistent|consistency]] and reasonable view (by our own lights) it could possibly be trying to express, without ignoring clear differences between the author's views and our own.
a situation of uncertainty about what to believe or how to proceed. \n* Philosophical inquiry, like other inquiry, emerges only when we encounter problems, such as tension between two plausible ideas that seem incompatible, or having an experience that requires us to reorganize our expectations. In both writing and reading a philosophical text, a useful starting point is to ask: what is the //problem// being explored here?
the structure of arguments which may be reperesented by [[operations|sentential operators]] on propositions, or claim-like units.\nSee [[modus ponens]], [[modus tollens]] and [[hypothetical syllogism]] for examples.
A form of argument, based on the [[modus tollens]] [[inference pattern]], whereby some [[hypothesis]] is rejected on the grounds that it has some [[implication]] (often an application of a general claim to an extreme case) which is obviously unbelievable (absurd).
the process by which a claim, or an [[argument]] for a claim is decisively rejected. An [[objection]] can have the force of a ''refutation'' if no good [[reply]] is possible.
A speaker's (or author's) response to an [[objection]] (which may be actual or anticipated). A reply often takes the form of a more detailed discussion of the point being criticized, but it might also involve some ''amendment'' or ''concession'' in light of the objection raised.
The whole range of techniques of [[persuasion]], especially including appeal to non-logical dispositions of an audience.\n* ''Methods'' range from [[argument]] based in [[valid|validity]] [[inference]] to the use of [[fallacy]] to manipulate listeners. \n* //Comparative note:// Plato's Socrates portrays the the [[dialectic]] of philosophers as pitted in battle against rhetoric (meaning especially the [[sophistry]] of public orators), as rhetoric could [[persuasively|persuasion]] seduce and confuse speakers and listeners with [[fallacies|fallacy]] (bad [[argument]]s) and encouraging them to accept irrational [[conclusion]]s.\n* See also [[aesthetics]]
operations upon propositions, sentences, or claims\n[[Propositional logic|propositional logic]] is concerned with a special category of such operators, namely the ''truth-functional'' operators. When one or more sentences are connected or modified with truth-functional operators, then the result is a sentence whose truth is strictly a function of the truth of the original claims. Truth-functional operators correspond roughly to everyday connections between sentences as expressed by ''and'', ''or'', ''implies'' and ''not'', although logicians differ in which operations they take to be most fundamental.
Perfection of an argument, both formally and materially.\n* If an [[argument]] is ''sound'', then it is [[valid|validity]] and //also// all of its [[premise]]s are true.
the degree to which the [[premises|premise]] support the [[conclusion]] of an [[argument]]. [[Validity|validity]] is perfect strength.
{{{\nconfig.macros.allTags.noTags = "There are no tagged items";\nconfig.macros.allTags.tooltip = "Show items tagged with "; \nconfig.macros.closeAll.prompt = "Close all displayed items (except any that are being edited)";\nconfig.macros.list.all.prompt = "All items in alphabetical order";\nconfig.macros.list.missing.prompt = "Items that have links to them but are not defined";\nconfig.macros.list.orphans.prompt = "Items that are not linked to from any other items";\nconfig.macros.newTiddler.label = "new item";\nconfig.macros.newTiddler.prompt = "Create a new item";\nconfig.macros.permaview.prompt = "Link to an URL that retrieves all the currently displayed items";\nconfig.macros.saveChanges.prompt = "Save all items to create a new Site";\nconfig.macros.search.label = "search ";\nconfig.macros.search.prompt = "search this site";\nconfig.macros.search.successMsg = " items found matching: ";\nconfig.macros.search.failureMsg = "No items found matching: ";\nconfig.macros.list.all.prompt = "All terms in alphabetical order";\nconfig.views.wikified.defaultText = "This item doesn't yet exist.";\nconfig.views.wikified.tag.openAllText = "Open all items tagged with ";\nconfig.views.wikified.tag.openAllTooltip = "Open all of these items";\nconfig.views.wikified.tag.popupNone = "No other items tagged with ";\nconfig.commands.closeTiddler.tooltip = "Close this item";\nconfig.commands.editTiddler.tooltip = "Edit this item";\nconfig.commands.permalink.tooltip = "Permalink for this item";\nconfig.commands.references.tooltip = "Show items that link to this one";\n}}}
a formal [[argument]] or [[inference pattern]] proceeding from two [[premises|premise]] to a [[conclusion]]. The term is usually restricted to patterns of [[deductive reasoning]] such as [[Barbara]], [[modus ponens]], and [[disjunctive syllogism]].
Translation of an argument from ordinary language into an abstract notation that facilitates attention to its [[patterns of inference|inference pattern]] for the purpose of [[proof]] or analysis.
| tiddlyspot password:|<<option pasUploadPassword>>|\n| site management:|<<upload http://reasoningwell.tiddlyspot.com/store.cgi index.html . . reasoningwell>>//(requires tiddlyspot password)//<<br>>[[control panel|http://reasoningwell.tiddlyspot.com/controlpanel]], [[download (go offline)|http://reasoningwell.tiddlyspot.com/download]]|\n| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|
Formal perfection of an [[argument]] or [[inference pattern]]\n*If an [[argument]] is valid, then its [[conclusion]] cannot be false so long as the [[premise]]s are all true. Only [[deduction|deductive reasoning]] allows for full validity.\n*//Note//: An argument can be ''valid'' and yet lack [[soundness]] (in the event that at least one [[premise]] is unacceptable).
:a habitual character trait, in some domain of activity, that marks admirable or exemplary people.\n: (Contrast to [[vice]]: a character trait that marks people who do not live well.)\n: (Contrast to [[continence]]: doing the right thing against inclination -- with reluctance)\n: (Contrast to [[incontinence]]: wanting to do what is right, and not finding oneself capable)\n;virtue ethics\n: a tradition in [[ethics]] whose focus is on the activities and character traits of a well-lived life.\n: (Contrast to Kantian focus on respect-[[duty]]-principles-intentions)\n: (Contrast also to Utilitarian focus on impersonal maximization of satisfaction/[[pleasure]])\n\nExamples:\nhonesty, integrity, kindness, generosity, trustworthiness, respectfulness,\ncompassion, (filial?) piety, reverence, machismo, humility, ren/jen (benevolence/humeness in Confucian tradition), chastity, modesty, courage, temperance, industriousness, creativity/ingenuity, loyalty, self-knowledge, strength of will, "will to power", justice, prudence, silence?\n\ntheory of virtue: each virtue is "the right about of _______ -- not too much, not too little"\n\nDo cultures disagree entirely on which virtues matter, or just in ranking and applying virtues?\n\nself-regarding virtues vs. other-regarding virtues...\n