Section 1
[arxana.git] / org / farm-2017.org
blobd0e7ab75667feb1b987ed60513e82322710ff110
1 #+TITLE:     Functional models of mathematical reasoning
2 #+AUTHOR:    Joseph Corneli and Raymond Puzio
3 #+EMAIL:     contact@planetmath.org
4 #+DATE:      May 27, 2017 for Thursday 1 June, 2017 deadline 
5 #+DESCRIPTION: Outline and draft of 12 page paper on math text analysis for FARM workshop at ICFP 2017
6 #+KEYWORDS: arxana, hypertext, inference anchoring theory
7 #+LANGUAGE: en
8 #+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
9 #+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:t pri:nil tags:not-in-toc
10 #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
11 #+EXPORT_SELECT_TAGS: export
12 #+EXPORT_EXCLUDE_TAGS: noexport
13 #+LINK_UP:
14 #+LINK_HOME:
15 #+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://metameso.org/~joe/solarized-css/build/solarized-light.css" />
16 #+BIBLIOGRAPHY: farm-refs plain
17 #+LATEX_HEADER: \usepackage[backend=bibtex,sorting=none]{biblatex}
18 #+LATEX_HEADER: \addbibresource{farm-refs}
19 #+STARTUP: showeverything
22 #+BEGIN_QUOTE
23 Functional Programming has emerged as a mainstream software
24 development paradigm, and its artistic and creative use is booming. A
25 growing number of software toolkits, frameworks and environments for
26 art, music and design now employ functional programming languages and
27 techniques. FARM is a forum for exploration and critical evaluation of
28 these developments, for example to consider potential benefits of
29 greater consistency, tersity, and closer mapping to a problem domain.
31 FARM encourages submissions from across art, craft and design,
32 including textiles, visual art, *music*, 3D sculpture, animation, GUIs,
33 video *games*, 3D printing and architectural models, choreography,
34 *poetry*, and even VLSI layouts, GPU configurations, or
35 *mechanical engineering designs*.  *Theoretical foundations*, *language design*,
36 *implementation issues*, and *applications* in industry or the arts are
37 all within the scope of the workshop.  The language used need not be
38 purely functional (“mostly functional” is fine), and may be manifested
39 as a domain specific language or tool.  Moreover, submissions focusing
40 on questions or issues about the use of functional programming are
41 within the scope.
42 #+END_QUOTE
44 * 0 Introduction
46 ** 0.1 CONTEXT OF APPLICATION
47 - modelling mathematical dialogues, people don't just write their things in metamath
48 - people may make different expository choices
49 - mathematical text contains argumentation an narrative in addition to logic and calculations ([[1.2][1.2]])
50 ** 0.2 FORCES
51 - push to make everything formal (QED, Tarski, LCF) [[1.1][1.1]]
52 - push to make everything understandable (Alexander)
53 ** 0.3 PROBLEM
54 - each different user will have a different "way in", depending on their background knowledge ([[3.2][3.2]])
55 - how to get behind the scenes to see why?
56 - how to tailor a given formal content to a given reader?
57 ** 0.4 SOLUTION (STRATEGY)
58 - focus on expressivity
59 - focus on representing process
60 - formalization and efficiency are important, but will be left for later.
61 ** 0.5 RATIONALE
62 - objective: understand mathematics as people do it (literary criticism, rhetoric, argumentation)
63 - objective: learn from these methods to build new mathematical texts
64 - build on intuitive diagrams
65 - build on the idea of parsing natural language (complementary to Mohan's work)
66 ** 0.6 RESOLUTION of FORCES
67 - outcome: sharing diagrams with people who can use them
68 - potential: draw new diagrams
69 - philosophical: bridging 'two cultures' (proof checkers and artists/designers/hackers)
71 * 1 THEORETICAL FOUNDATIONS Informal mathematical language is more general, and  the reasoning involved may be abductive, inductive, or heuristic. :RAY:
73 Even though a mathematical result and its proof involve strict logic,
74 the process of formulating, motivating proving and explaining go
75 beyond strict formality. (Pierce, Lautman)
77 ** <<1.1>> 1.1 Examples of actual texts (different registers)
79 *** TODO Pull up examples from real texts.
81 - E.g. Artin's Galois theory book
82 - E.g. Gowers's "Eventually this is something a computer can solve"
84 ** <<1.2>> 1.2 A formal language doesn't do anything with this ("Proofs and Prologues")
86 - (Conclusion from inductive reasoning in 1.1.)
88 ** Text
90 Since our purpose is to understand mathematical reasoning as practiced
91 by mathematicians, we will begin by studying examples of mathematical
92 texts.  We would like to characterize the use of language
93 gramatically and rhetorically, describe the logic and argumentation
94 structures used so as to develop our formalism for representing
95 mathematical knowledge in an informed matter.  For the purposes of
96 illustration, we will examine four short texts:
98 - *MPM* Mini-polymath thread 11.
100 - *GCP* Timothy Gowers - What is the 500th digit of
101   $(\sqrt{2}+\sqrt{3})^2012?
103 - *AGT* Section II.H, ``Normal Extensions'' of ``Galois Theory'' by
104   Emil Artin.
106 - *HHS* Section 22, ``Adjoints'' of ``Introduction to Hilbert Space''
107   by P. R. Halmos.
109 One of the first features which leaps to the eye when reading these
110 texts is that much of the text is written in a fashion which employs a
111 precise technical vocabulary, logical idioms, and symbolic notation to
112 state mathematical propositions.  We will refer to this as the /formal
113 register/ of mathematical discourse.  Here are two typical instances
114 from our sample texts:
116 - If, conversely, $\varphi$ is a bounded linear functional, then
117   there exists a unique operator $A$ such that $\varphi (x,y) = (Ax,
118   y)$ for all $x$ and $y$.  (HHS, statement of theorem 1)
120 - The intermediate field $B$ is a normal extension of $F$ if and only
121   if the subgroup $G_B$ is a normal subgroup of $G$. (AGT, statement
122   of theorem 16)
124 Semantically, such statements are assumed to be equivalent to symbolic
125 expressions in formal logic (in whatever formal system one is
126 working).  For the examples above, the following might be formal
127 equivalents:
128 \begin{align*}
129   &\varphi \in \mathrm{BLF} \Rightarrow (\exists ! A) (\forall x,y) 
130   \varphi (x,y) = (Ax,y) \\
131   &\mathrm{norm_ext} (B, F) \Leftrightarrow \mathrm{norm_subgp} (G_B,
132   G)
133 \end{align*}
135 While statements in the formal register are an important part of
136 mathematical writing, a text consisting only of formal statements
137 would be frustrating to read because, while it might contain all the
138 technical information, it would offer no guidance to the reader as to
139 where the statements came from, why they are interesting, and how to
140 go about understanding them.  To offer this guidance, a mathematical
141 text will also contain expository statements such as the following:
143 + We begin the proper business of this section by showing that the
144   connection between linear transformations and bilinear functionals
145   goes quite deeper than these superficial remarks. (HHS, first
146   paragraph)
148 + We come now to a theorem known as the
149   _Fundamental_Theorem_of_Galois_Theory_ which gives the relation
150   between the structure of a splitting field and its group of
151   automorphisms.  (AGT, right before statement of theorem 16)
153 + Is it possible to prove that any point and any line will do?
155 + Can we do this for $x+yx+y$? For $e$? Rationals with small
156   denominator?
158 The expository register has several salient features which work
159 together and which distinguish it from the formal register.
161 While the subject matter of expository statements is also mathematical
162 objects and propositions, the language is not only descriptive, but
163 also narrative and argumentative.  For instance, the phrases ``we
164 begin'' and ``we come now'' in the first two examples are indicative
165 of a narrative structure; the former serves to introduce and motivate
166 the theory of adjoint operators in terms of a few observations and the
167 latter motivates the theorem by describing its purpose in general
168 terms.  The third example is argumentative, asking whether an earlier
169 proposal might be generalizable.
171 Whereas in formal logic, only the strictest deductive reasoning is
172 allowed, mathematical exposition also makes use of inductive and
173 abductive reasoning, and even looser reasoning by analogy.  For
174 instance, the fourth example illustrates an inductive mode of
175 reasoning in which the questioner is looking for a general result of
176 which the problem posed would be a special case.  In the first
177 example, an analogy is being set up between the remarks which precede
178 that statement and the propositions which follow it.
180 A related point is that, whereas formal statements only make use of
181 the truth values and predicates of formal logic, the expository
182 register also makes use of looser judgements of plausibility and
183 heuristics.  For instance, in the first example, the adjectives
184 ``superficial'' and ``deeper'' appear.  Terms such as these are not
185 formally definable but refer to approximate notions which inform
186 heuristic choices.  
188 Allowing such loose notions and non-deductive reasoning serves an
189 important purpose because, quite often, the exact deduction of some
190 result might be lengthy and/or opaque.  When that happens, it is
191 helpful to the reader to augment the formal reasoning with informal
192 reasoning which is shorter and easier to understand.  Moreover, it
193 not infrequently happens that such informal reasoning can serve to
194 guide the construction of a formal proof, as in GCP and MPM.
196 Finally, the expository register is metamathematical, discussing not
197 only objects and propositions, but also inference and proofs.  For
198 instance, the third example asks about the provability of a
199 statement.  Furthermore, this is not just strict metamathematics, but
200 also may involve approximate and heuristic elements.  In particular,
201 when setting out to prove a theorem, one may first assess different
202 possible proof strategies using heuristic notions such as difficult
203 vesrus easy or by making analogies with techniques used to
204 successfully prove similar results.
206 In this essay, our main focus will be to construct a theory of
207 mathematical exposition which will account for the features noted
208 above and provide a semantics for utterances in the expository
209 register which can be implemented and queried algorithmically.  Our
210 focus here will be on the representation and what can be done with it
211 as opposed to parsing natural language.  This is a matter of
212 specialization, not of trivializing the latter.  We also note that
213 there has been progress by Mohan in parsing the formal register and
214 will later note that there exist natural language parsers for related
215 AI problems in order to suggest that it is plausible that one could
216 build a parser.
218 ** Urban explorer metaphor
220 As a way of illustrating the formal and expository registers, we offer
221 the following analogy.  Instead of mathematical objects and
222 propositions, consider locations and buildings in a city.  Instead of
223 inferences, roads and paths and, instead of theoroes, neighborhoods
224 and districts.
226 Now consider guides to that city.  A basic feature of a guide is
227 description --- ``The exchange building is built of red brick and has
228 a gabled roof.'', ``The memorial fountain is made of white marble and
229 has a stream of water coming out of the lion's mouth into an
230 octagonal basin filled with goldfish.''  This corresponds to the
231 formal register.  The most utilitarian form of a gudance is a list of
232 directions --- ``Go straight three blocks, turn left, go another two
233 blocks.  In the middle of the third block, there will be a building
234 with yellow clapboard siding.''.  This corresponds to formal
235 mathematical proofs.
237 However, there is much more to city guides than just straightforward
238 descriptions and directions.  They may contain value judgements ---
239 ``For a more scenic view, take this detour.'', ``To avoid nasty taxi
240 traffic, go under the intersection through the tunnel.''  While a
241 straightforward set of directions might suffice for a business person
242 passing through town, for someone with more leisure a single route or
243 tree-like transportation map may be dissatisfying since that person
244 would like to learn about all the different ways around together with
245 their historical, cultural, and aesthetic associations.  A newcomer
246 might appreciate a book which not only says what there is and how to
247 get there, but also provides a higher level guidance as to what are
248 some prominant landmarks and important sites and have things laid out
249 in some order that makes it possible to assimilate information
250 gradually rather than be barraget with everything at once.  Three
251 comrades going out for a night together might start out by having a
252 debate on which way to go is the best, weighing different concerns
253 such as travel time versus convenience.  This is like the expository
254 register.
256 Since the city is not a tree, any guide to it which lays things out
257 in a straightforward tree-like fashion will necessarily leave things
258 out and be of limited use.  Likewise, for math, in order to go beyond
259 the superficial, we will want some more rhizomatic sort of
260 description which enables one to wander along a derive along quirky
261 winding roads.
263 * 2 LANGUAGE DESIGN The presentation here will describe a strategy we have been developing for representing mathematical dialogues and other informal texts. :JOE:
265 Since we cannot simply build on formal theorem proving, we need to
266 look further afield for prior work on which to build. (Bundy: choosing
267 representation strategy that fits can make the problem easier to
268 solve; Corneli: here we are looking for representations *of*
269 reasoning, so this gives us a heuristic to guide our search.)
271 ** <<2.1>> 2.1 Gabi's work on IATC
272 ** <<2.2>> 2.2 Lytinen CD
274 * 3 IMPLEMENTATION ISSUES (REQUIREMENTS) :JOE:
276 We've already seen an *abstract* model of social creativity in
277 Lakatos, but when we try to zoom in and look at concrete details, we
278 see further challenges. We know that a `city is not a tree', let's
279 generalise and assert that a proof dialogue is not a tree.  This gives
280 us a guiding principle.
282 ** <<3.1>> 3.1 Let's look at one of our illustrations: it's a graph, no it's a hypergraph!
284 ** <<3.2>> 3.2 Reason as a social thing (Minsky, Sperber & Mercier, Gowers 'quantum of progress' from Polymath)
286 ** <<3.3>> 3.3 Lakatos stuff: How is this different from what we're doing?
288 * 4 APPLICATIONS Our latest efforts produce more detailed models of mathematical arguments. :JOE:
290 We need to model what's there and how it evolves, noting that evolution is heuristic
292 ** <<4.1>> 4.1 Kinematics (IATC+CD)
293 ** <<4.2>> 4.2 Dynamics (Lytinen's stuff with goals and scripts)
295 * 5 MECHANICAL ENGINEERING DESIGNS A graphical formalism and a corresponding prototype implementation will be described. :RAY:
297 ** <<5.1>> 5.1 Import and improve technical stuff on Arxana (cf. Nemas doc)
298 ** <<5.2>> 5.2 Example
300 * 6 RELATED WORK (GAMES, POETRY): parallels between dialogues and discursive Q&A, traditional proofs. :JOE:
302 How does this look in a broader context?
304 ** <<6.1>> 6.1 prior art: board games, story stuff; table that compares between.
305 ** <<6.2>> 6.2 Alexander: "a city is not a tree"; compare Lamport
307 -----
309 * 7 PART TWO In our planned next steps we plan to bring in explicit type-theoretic representations of mathematical objects within a service-oriented architecture. :onhold:
311 ** <<7.1>> 7.1 There is a degree of formality in the specifications, but also informality in the heuristics.
313 * 8 MOB PROGRAMMING :onhold:
315 ** <<8.1>>
316 ** <<8.2>>
318 * 9 RELATED WORK music from corneli, pease, stefanou survey ("Chapter 6"); NNexus project; Socratic :onhold:
320 ** <<9.1>>
321 ** <<9.2>>
323 * 10 CONCLUSION :onhold:
325 ** <<10.1>>
326 ** <<10.2>>