minor
[arxana.git] / org / farm-2017.org
blob9d42794f859d0c030b1dca458fc79b0ca4d03f17
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 #+BEGIN_QUOTE
47 ``To get to the moon, we needed crashes and endless fiddling.'' Gabriel and Goldman, "Mob Software: The Erotic Life of Code" \cite{gabriel2000mob}
48 #+END_QUOTE
50 ** 0.1 CONTEXT OF APPLICATION
51 - modelling mathematical dialogues, people don't just write their things in metamath
52 - people may make different expository choices
53 - mathematical text contains argumentation an narrative in addition to logic and calculations
54 ** 0.2 FORCES
55 - push to make everything formal (QED, Tarski, LCF)
56 - push to make everything understandable (Alexander)
57 ** 0.3 PROBLEM
58 - each different user will have a different "way in", depending on their background knowledge ([[3.2][3.2]])
59 - how to get behind the scenes to see why?
60 - how to tailor a given formal content to a given reader?
61 ** 0.4 SOLUTION (STRATEGY)
62 - focus on expressivity
63 - focus on representing process
64 - formalization and efficiency are important, but will be left for later.
65 ** 0.5 RATIONALE
66 - objective: understand mathematics as people do it (literary criticism, rhetoric, argumentation)
67 - objective: learn from these methods to build new mathematical texts
68 - build on intuitive diagrams
69 - build on the idea of parsing natural language (complementary to Mohan's work)
70 ** 0.6 RESOLUTION of FORCES
71 - outcome: sharing diagrams with people who can use them
72 - potential: draw new diagrams
73 - philosophical: bridging 'two cultures' (proof checkers and artists/designers/hackers)
75 * 1 THEORETICAL FOUNDATIONS Informal mathematical language is more general, and  the reasoning involved may be abductive, inductive, or heuristic. :RAY:
77 Even though a mathematical result and its proof involve strict logic,
78 the process of formulating, motivating proving and explaining go
79 beyond strict formality. (Pierce, Lautman)
81 # ** <<1.1>> 1.1 Examples of actual texts (different registers)
83 # *** TODO Pull up examples from real texts.
85 # - E.g. Artin's Galois theory book
86 # - E.g. Gowers's "Eventually this is something a computer can solve"
88 # ** <<1.2>> 1.2 A formal language doesn't do anything with this ("Proofs and Prologues")
90 # - (Conclusion from inductive reasoning in 1.1.)
92 # ** Text
94 Since our purpose is to understand mathematical reasoning as practiced
95 by mathematicians, we will begin by studying examples of mathematical
96 texts.  We would like to characterize the use of language
97 gramatically and rhetorically, describe the logic and argumentation
98 structures used so as to develop our formalism for representing
99 mathematical knowledge in an informed matter.  For the purposes of
100 illustration, we will examine four short texts:
102 - *MPM* :: Mini-polymath 3, thread 11 - part of a collaborative online
103            effort to a problem from the 2011 International Mathematics
104            Olympiad.[fn:: https://polymathprojects.org/2011/07/19/minipolymath3-project-2011-imo/]
106 - *GCP* :: Timothy Gowers - What is the 500th digit of
107   $(\sqrt{2}+\sqrt{3})^{2012}$?
109 - *AGT* :: Section II.H, ``Normal Extensions'' of ``Galois Theory'' by
110   Emil Artin.
112 - *HHS* :: Section 22, ``Adjoints'' of ``Introduction to Hilbert Space''
113   by P. R. Halmos.
115 One of the first features which leaps to the eye when reading these
116 texts is that much of the text is written in a fashion which employs a
117 precise technical vocabulary, logical idioms, and symbolic notation to
118 state mathematical propositions.  We will refer to this as the /formal
119 register/ of mathematical discourse.  Here are two typical instances
120 from our sample texts:
122 - If, conversely, $\varphi$ is a bounded linear functional, then
123   there exists a unique operator $A$ such that $\varphi (x,y) = (Ax,
124   y)$ for all $x$ and $y$.  (HHS, statement of theorem 1)
126 - The intermediate field $B$ is a normal extension of $F$ if and only
127   if the subgroup $G_B$ is a normal subgroup of $G$. (AGT, statement
128   of theorem 16)
130 Semantically, such statements are assumed to be equivalent to symbolic
131 expressions in formal logic (in whatever formal system one is
132 working).  For the examples above, the following might be formal
133 equivalents:
134 \begin{align*}
135   &\varphi \in \mathrm{BLF} \Rightarrow (\exists ! A) (\forall x,y) 
136   \varphi (x,y) = (Ax,y) \\
137   &\mathrm{norm\_ext} (B, F) \Leftrightarrow \mathrm{norm\_subgp} (G_B,
138   G)
139 \end{align*}
141 While statements in the formal register are an important part of
142 mathematical writing, a text consisting only of formal statements
143 would be frustrating to read because, while it might contain all the
144 technical information, it would offer no guidance to the reader as to
145 where the statements came from, why they are interesting, and how to
146 go about understanding them.[fn:lamport-reviewer:Lamport \cite[p.~20]{lamport2012write21st} quotes a referee who had read one of his structured proofs (see Section [[2.3][2.3, below]]): "The proofs ... are lengthy, and are presented in a style which I find very tedious. I think the readers ... are going to be more interested in understanding the techniques and how they can apply them, than they will be in reading the formal proofs. A problem with the proofs is that they do not clearly distinguish the trivial manipulations from the nontrivial or surprising parts. ... My feeling is that informal proof sketches ... to explain the crucial ideas in each result would be more appropriate."] To offer this
147 guidance, a mathematical text will also contain expository statements
148 such as the following:
150 + We begin the proper business of this section by showing that the
151   connection between linear transformations and bilinear functionals
152   goes quite deeper than these superficial remarks. (HHS, first
153   paragraph)
155 + We come now to a theorem known as the /Fundamental Theorem of Galois
156   Theory/ which gives the relation between the structure of a
157   splitting field and its group of automorphisms.  (AGT, right before
158   statement of theorem 16)
160 + Is it possible to prove that any point and any line will do? (MPM)
162 + Can we do this for $x+y$? For $e$? Rationals with small denominator?
163   (GCP)
165 The /expository register/ has several salient features which work
166 together and which distinguish it from the formal register.
168 While the subject matter of expository statements is also mathematical
169 objects and propositions, the language is not only descriptive, but
170 also narrative and argumentative.  For instance, the phrases ``we
171 begin'' and ``we come now'' in the first two examples are indicative
172 of a narrative structure; the former serves to introduce and motivate
173 the theory of adjoint operators in terms of a few observations and the
174 latter motivates the theorem by describing its purpose in general
175 terms.  The third example is argumentative, asking whether an earlier
176 proposal might be generalizable.
178 Whereas in formal logic, only the strictest deductive reasoning is
179 allowed, mathematical exposition also makes use of inductive and
180 abductive reasoning, and even looser reasoning by analogy.  For
181 instance, the fourth example illustrates an inductive mode of
182 reasoning in which the questioner is looking for a general result of
183 which the problem posed would be a special case.  In the first
184 example, an analogy is being set up between the remarks which precede
185 that statement and the propositions which follow it.
187 A related point is that, whereas formal statements only make use of
188 the truth values and predicates of formal logic, the expository
189 register also makes use of looser judgements of plausibility and
190 heuristics.  For instance, in the first example, the adjectives
191 ``superficial'' and ``deeper'' appear.  Terms such as these are not
192 formally definable but refer to approximate notions which inform
193 heuristic choices.
195 Allowing such loose notions and non-deductive reasoning serves an
196 important purpose because, quite often, the exact deduction of some
197 result might be lengthy and/or opaque.  When that happens, it is
198 helpful to the reader to augment the formal reasoning with informal
199 reasoning which is shorter and easier to understand.  Moreover, it
200 not infrequently happens that such informal reasoning can serve to
201 guide the construction of a formal proof, as in GCP and MPM.
203 Finally, the expository register is metamathematical, discussing not
204 only objects and propositions, but also inference and proofs.  For
205 instance, the third example asks about the provability of a
206 statement.  Furthermore, this is not just strict metamathematics, but
207 also may involve approximate and heuristic elements.  In particular,
208 when setting out to prove a theorem, one may first assess different
209 possible proof strategies using heuristic notions such as difficult
210 vesrus easy or by making analogies with techniques used to
211 successfully prove similar results.
213 In this essay, our main focus will be to construct a theory of
214 mathematical exposition which will account for the features noted
215 above and provide a semantics for utterances in the expository
216 register which can be implemented and queried algorithmically.  Our
217 focus here will be on the representation and what can be done with it
218 as opposed to parsing natural language.  This is a matter of
219 specialization, not of trivializing the latter.  We also note that
220 there has been progress by Mohan in parsing the formal register and
221 will later note that there exist natural language parsers for related
222 AI problems in order to suggest that it is plausible that one could
223 build a parser.
225 ** Urban explorer metaphor
227 As a way of illustrating the formal and expository registers, we offer
228 the following analogy.  Instead of mathematical objects and
229 propositions, consider locations and buildings in a city.  Instead of
230 inferences, roads and paths and, instead of theoroes, neighborhoods
231 and districts.
233 Now consider guides to that city.  A basic feature of a guide is
234 description --- ``The exchange building is built of red brick and has
235 a gabled roof''; ``The memorial fountain is made of white marble and
236 has a stream of water coming out of the lion's mouth into an octagonal
237 basin filled with goldfish.''  This corresponds to the formal
238 register.  The most utilitarian form of a guidance is a list of
239 directions --- ``Go straight three blocks, turn left, go another two
240 blocks.  In the middle of the third block, there will be a building
241 with yellow clapboard siding.''  This kind of statement corresponds to
242 formal mathematical proofs.
244 However, there is much more to city guides than just straightforward
245 descriptions and directions.  They may contain value judgements ---
246 ``For a more scenic view, take this detour''; ``To avoid nasty taxi
247 traffic, go under the intersection through the tunnel.''  While a
248 straightforward set of directions might suffice for a business person
249 passing through town, for someone with more leisure a single route or
250 tree-like transportation map may be dissatisfying since that person
251 would like to learn about all the different ways around together with
252 their historical, cultural, and aesthetic associations.  A newcomer
253 might appreciate a book which not only says what there is and how to
254 get there, but also provides a higher level guidance as to what are
255 some prominant landmarks and important sites and have things laid out
256 in some order that makes it possible to assimilate information
257 gradually rather than be barraged with everything at once.  Three
258 comrades going out for a night together might start out by having a
259 debate on which way to go is the best, weighing different concerns
260 such as travel time versus convenience.  This is like the expository
261 register.
263 Since a city is not a tree \cite{alexander1964city}, any guide to it which lays things out
264 in a straightforward tree-like fashion will necessarily leave things
265 out and be of limited use.  Likewise, for math, in order to go beyond
266 the superficial, we will want some more rhizomatic sort of
267 description which enables one to wander along a dérive along quirky
268 winding roads.
270 * 2 LANGUAGE DESIGN The presentation here will describe a strategy we have been developing for representing mathematical dialogues and other informal texts. :JOE:
272 Bundy has argued that finding the right representation is the key to
273 successful reasoning \cite[p.~16]{Bundy20130194}.  Since we cannot
274 simply build on formal theorem proving for our current purposes, we
275 need to look further afield for foundations.  We are concerned in
276 particular with building representations \emph{of} reasoning
277 \cite{corneli2017towards}.  This helps guide our search for useful
278 paradigms.  McCarthy \cite{mccarthy2008well} posited several high-level
279 features of a "language of thought", highlighting in particular the
280 ways in which such a language would not be like spoken language:
282 #+BEGIN_QUOTE
283 - Much mental information is represented in parallel and is processed in parallel.
284 - Reference to states of the senses and the body has to be done by something like pointers. Natural languages use descriptions, because one person can’t give another a pointer to his visual cortex. (A robot might tell another robot, “Look through my eyes, and you’ll see it.”)
285 - We don’t think in terms of long sentences.
286 - Much human thought is contiguous with the thought of the animals from which we evolved.
287 - For robots, logic is appropriate, but a robot internal language may also include pointers.
288 - A language of thought must operate on a shorter time scale than speech does. A batter needs to do at least some thinking about a pitched ball, and a fielder often needs to do quite a bit of thinking about where to throw the ball. Pointers to processes while they are operating may be important elements of its sentences.
289 #+END_QUOTE
291 While we won't directly accommodate all of these features, but we can
292 find languages that deal with several of them.
294 ** <<2.1>> 2.1 Inference Anchoring Theory + Content (IATC)
296 Our modelling approach builds on /argumentation theory/; in particular
297 Inference Anchoring Theory (IAT), which was devised by Budzynska et al
298 \cite{budzynska2014model} to model the logical structure of dialogical
299 arguments.  IAT has since been adapted to model mathematical arguments
300 \cite{gabi-iatc, corneli2017towards}.  The primary features of this
301 adaptation are: (1) to introduce more explicit relationships between
302 pieces of mathematical content; and (2) to describe a range of
303 intermediate relations that model the way these objects fit together
304 in discourse.  These include inferential structure, judgements of
305 validity or usefulness, and reasoning tactics.  Later in this article
306 we will describe "IAT+Content" (IATC) in more detail .
308 ** <<2.2>> 2.2 Conceptual Dependence (CD)
310 Conceptual Dependence was initially introduced as a tool for
311 understanding natural language \cite{schank1972conceptual}.  However,
312 it is also used to represent knowledge about actions
313 \cite{lytinen1992conceptual,sowa2008conceptual}.  The basis of the
314 theory is a set of /primitives/ which describe basic types of actions
315 such as "=PTRANS= — transfer of location" or "=MBUILD= — construction
316 of a thought or new information".  Each primitive comes with a set of
317 /slots/ which accept objects of certain types.  By filling in the
318 slots of a primitive, one obtains the most elementary form of a
319 /conceptual dependency graph/.  By combining such basic graphs, one
320 can build up more complicated CD graphs which describe actions in
321 greater detail.  Later, we will show that CD primitives are
322 analogous to IAT performatives, and what follows from this.
324 ** <<2.3>> 2.3 Structured proofs
326 Although we are not focusing on formal proofs, at the level of
327 mathematical content we are talking about similar things: mathematical
328 objects and mathematical propositions.  Formal mathematics models the
329 same universe of discourse, but the discourse itself is not
330 necessarily formal.  Accordingly, we can derive a useful sanity check from
331 Lamport's notion of a ``structured proof'' \cite{lamport1995write}.
332 In essence, a structured proof combine a summary (or ``proof sketch'')
333 with a mode of writing out details so way that each step is made clear
334 and each assumption and assertion is a label.  We emphasize that
335 structured proofs are trees.  As first introduced, there were just a
336 few keywords: =assume=, =prove=, =let=, and =case=.  In a more recent
337 reassessment \cite{lamport2012write21st}, Lamport states "The way I
338 now write proofs has profited by my recent experience designing and
339 using a formal language for machine-checked proofs."  In line with
340 this, additional keywords =new=, =suffices=, and =pick= are imported
341 from his "Temporal Logic of Actions+" (TLA$^{+}$) language
342 \cite{lamport1999specifying} (along with a shorthand for equational
343 proofs).  More recently, a second version of this language,
344 TLA$^{+2}$, has been made available, with new keywords (and now with
345 lambda expressions) \cite{lamport2014tla2}.[fn:1] Lamport's structured
346 proof is an interesting example of a ``missing link'' between informal
347 and formal mathematics.  The TLA\(^+\) language seems in our opinion
348 to be reasonably well aligned with typical mathematical style.  The
349 history of its development helps show which features can be considered
350 most essential.  We note that in principle it should be possible to
351 coherently map to any formal mathematical language from our content
352 layer.
354 [fn:1] In full, TLA\(^{+2}\)'s keywords are: =action=, =assumption=, =axiom=, =by=, =corollary=, =def=, =define=, =defs=, =have=, =hide=, =lambda=, =lemma=, =new=, =obvious=, =omitted=, =only=, =pick=, =proof=, =proposition=, =prove=, =qed=, =recursive=, =state=, =suffices=, =take=, =temporal=, =use=, =witness=.
356 ** <<2.4>> 2.4 The Lakatos Game (LG)
358 Lakatos \cite{lakatos1976proofs} developed an abstract, dialectical,
359 model of mathematical creativity which has recently been formalised as
360 a \emph{dialogue game} \cite{pease2017lakatos}.  In the "Lakatos
361 Game", assertions are made and then adjusted: for instance, a
362 statement may be sharpened so that it applies to a restricted class of
363 objects ("Strategic Withdrawal"), or a putative counterexample may be
364 shown not to be a counterexample at all ("Monster Barring"). Lakatos's
365 theory is limited, first, because it commits almost exclusively to
366 Hegelian dialectic.  Secondly, when we zoom in and look at concrete
367 details of mathematical objects, it should be no surprise that there
368 are a range of issues that an abstract model will not cover.  In
369 short, as a representation of reasoning the Lakatos Game is at least
370 somewhat descriptive, but not explicitly runnable.  We hope to
371 overcome these limitations.
373 * 3 IMPLEMENTATION ISSUES (REQUIREMENTS) :JOE:
375 An informal proof is in general not a tree, even if a structured proof
376 -- or the trace of the moves made in a dialogue game -- does rather
377 satisfactorily /describe/ the proof as a tree.  In the limit of full
378 formality, tree-shaped descriptions are machine checkable -- and by
379 the Curry-Howard correspondence, proofs-as-programs are even runnable.
380 However, by default these objects give very little information about
381 the proof's (or program's) genesis.  Indeed, as we shall see, we soon
382 run into problems even with a still-more-general network model.
384 ** <<3.1>> 3.1 Look, it's a graph; no it's a hypergraph!
386 Figure [[fig:gcp-implements]] is an excerpt from a larger diagram[fn:2]
387 that analyses Gowers's walk-through of the solution to the problem
388 "What is the 500th digit of $(\sqrt{2}+\sqrt{3})^{2012}$?" Figure
389 [[fig:iatc-key]] provides a graphical key to the color-coding of IATC
390 operations.  We focus in on this step of the proof:
391 #+BEGIN_QUOTE
392 And $(\sqrt{3}-\sqrt{2})^{2012}$ is a very small number. Maybe the final answer is "9"?
393 #+END_QUOTE
395 #+CAPTION: GCP (detail)
396 #+NAME: fig:gcp-implements
397 [[./gowers-example-selection.png]]
399 #+CAPTION: IATC (key)
400 #+NAME: fig:iatc-key
401 [[./iatc-key.png]]
403 In IATC, utterances expand to performatives: here, in Figure
404 [[fig:gcp-implements]], simply a list of assertions (two of which are only
405 implied by the quoted utterance).  Performatives, in turn, expand to
406 nodes that convey inferential structure (in pink), reasoning tactics
407 (in blue), and judgements of validity or usefulness -- which often
408 take the form of heuristics (in green), as well as content-level
409 relations (colorless; as, for example, the relation "contains as
410 summand").  Intermediate nodes typically have targets in the content
411 layer.  For example, the assertion that
412 "\((\sqrt{3}-\sqrt{2})^{2012}\)" =has_property= "is small" is typical
413 in this regard.  However, the =implements= node poses some difficulty,
414 since its outbound arrow does not have another node as a target.  What
415 it means to say is that the subgraph implements a heuristic idea that
416 was proposed earlier: "The trick might be: it is close to something we
417 can compute."  Without the =implements= certificate, we would see a
418 proliferation of heuristic suggestions without any sense of which ones
419 are actually used.  And yet, it is clear that this is an assertion
420 about a subgraph, and not a specific piece of logic.  Recall
421 McCarthy's assertion about the language of thought: "Pointers to
422 processes while they are operating may be important elements of its
423 sentences."  Whereas a structured proof would presumably just give the
424 indicated subgraph a name and push it down the hierarchy into a lemma,
425 we can see from the diagram that such a representation strategy poses
426 problems with locality: /vide/ the inbound links to =sums= (from a
427 previous assertion) and to "some integer" (from a subsequent step in
428 the reasoning).  These reflections suggest the need for /hypergraphs/,
429 not just graphs.[fn:3] With a hypergraph, pointing to a subset of
430 nodes is straightforward.  Actually, we want one of the standard
431 generalizations: the ability for an edge to point to another edge.
432 This way we can tag the "lemma" as an object of interest, and point to
433 it, without the need to bracket it off from the rest of the proof.
435 [fn:2] http://metameso.org/ar/gowers-example.pdf.
436 [fn:3] From Wikipedia: Formally, a hypergraph $H$ is a pair $H = (X,E)$ where $X$ is a set of elements called ``nodes'' or ``vertices'', and $E$ is a set of non-empty subsets of $X$ called ``hyperedges'' or ``edges''. (https://en.wikipedia.org/wiki/Hypergraph) 
438 ** <<3.2>> 3.2 The search for the `quantum of progress'
440 There is a further issue here, which the =implements= certificate
441 hints at.  Just how does the person working through a proof attempt
442 decide which step to take next?  In another setting, Gowers provides
443 some very helpful guidance.
445 The Polymath project aimed to answer the question "is massively
446 collaborative mathematics possible?" This project was convened by
447 Gowers in 2009, and he developed 15 rules to address the "questions of procedure"
448 that he anticipated would arise in the project.[fn:: http://gowers.wordpress.com/questions-of-procedure/ ] The basic premise was that people would work together on a
449 shared blog to discuss a given mathematical problem in the open,
450 and jointly work out a solution.[fn:: Incidentally, the answer to the main motivating question was at least a tentative ``yes'' \cite{gowers2009massively}. New collaborative Polymath research projects continue to be run to the present day. Four Minipolymath projects (the third of which we refer to here as "MPM") have been convened in the same spirit, focusing on competition problems rather than research problems. However, these projects cannot be said to be "massive," if we use collaborations in other scientific disciplines as our standard.]
452 Gowers carefully explicated the imperative to share comments that are
453 "not fully thought out."[fn:UMEM] A good contribution to the project
454 would comprise what he called a "quantum of progress."  Continuing
455 with this metaphor, as the KRR strategy we are developing comes more
456 fully into focus, it should be clear that we need to better understand
457 the "fields" that generate these quanta!  That is, in order to build a
458 functional representation of mathematical reasoning, we need to model
459 both what's there at any given step, and also how it evolves -- noting
460 that such evolution is generally heuristic.
462 Here one can compare Gowers's work with Ganesalingam on a
463 ``human-oriented theorem proving'' system \cite{Ganesalingam2016}.
464 First, we will comment that this work motivated the presentation of
465 GCP.  However, Ganesalingam and Gowers's system was only able to solve
466 more straightforward "textbook" problems, in which the next step is
467 always more or less "obvious".  Under the hood, there is a Logic of
468 Computable Functions (LCF) style inference system.  Because the system
469 generates proofs in natural language /and/ also makes its internal
470 processing explicit, it is quite straightforward to diagram its
471 operations in IATC (Figure [[fig:robotone-selection]]).[fn::
472 http://metameso.org/ar/robotone-example.pdf.]  In Figure
473 [[fig:robotone-selection]] the heuristics -- which in this case correspond
474 to pre-programmed LCF moves -- are disconnected from both the natural
475 language and content.  This could be rectified in a revision: the main
476 point being that a careful study of the relationship between the
477 underlying logic and the IATC representation would need to be
478 developed.  Clearly, this applies to more informal proof systems as
479 well. *Possibly comment here about how this variant is not "driven" by the natural language, but the NL is sort of an epiphenomenon.*
481 #+CAPTION: ROBOTONE example (detail)
482 #+NAME: fig:robotone-selection
483 [[./robotone-example-selection.png]]
486 [fn:UMEM] Ursula Martin had commented ten years earlier, with regard to the emerging field of "experimental mathematics," that the growth of experimentation requires the "development of community standards as to experimental methodology," emphasizing not only technical matters, but also "the early sharing of insights" \cite{martin1999computers}.
488 * 4 APPLICATIONS Our latest efforts produce more detailed models of mathematical arguments. :JOE:
490 One example Sussman gives of modelling "`how to' as well as `what is'"
491 \cite{sussman2005programming} is a LISP program that he wrote with
492 Richard Stallman that can replicate the process of analyzing a circuit
493 \cite{sussman2011programming}.  The program explains /why/ it comes up
494 with the answers it does.  The "why question" is even more important
495 (and interesting) when nontrivial ``creativity'' is involved in the
496 reasoning process \cite{gucklesberger2017addressing}.  In the case of
497 Ganesalingam and Gowers's ROBOTONE, described above, the answer will
498 always be more or less the same: /because this is what LCF tells
499 me to do./  In other words, the program has little or nothing in the
500 way of context sensitivity.  This is, let's say, fine, given its
501 limited scope of application, but it would not work for a system that
502 was supposed to participate in mathematical dialogues, nor
503 (presumably) for a system that was exploring some entirely new area of
504 mathematics instead of "textbook" problems.  Here, we aim to describe
505 a language that can (in principle) reason equally well about both
506 monological "textbook" and dialogical Polymath-style discussions.
508 We are aided by the fact that CD has already been used to reason about
509 informally-constructed scenarios. *For example, given a description of
510 a restaurant...*
512 #+CAPTION: MPM example (detail)
513 #+NAME: fig:mpm-selection
514 [[./mpm-example-selection.png]]
516 Given the relation between goals, values, and performatives and the
517 way these are similar to what goes on in game playing and story
518 understanding systems, it should be possible to have the system look
519 at a transcribed dialogue from MPM, for instance (compare Figure
520 [[fig:mpm-selection]]),[fn::
521 http://metameso.org/ar/minipolymath-example.pdf.] and
522 answer questions like:
524 - "Why does Thomas agree with Anonymous?"
525 - "Why does Gal says the suggestion is beautiful?"
527 The premise here is that the dynamics at work are based on
528 performatives being chosen based upon current valuations, goals, and
529 other contextual features.  We discuss both kinematics and dynamics
530 below.
532 ** <<4.1>> 4.1 Kinematics (IATC+CD)
533 ** <<4.2>> 4.2 Dynamics (Lytinen's stuff with goals and scripts)
535 - anaphoras and analogies
536 - parsing and querying
538 * 5 MECHANICAL ENGINEERING DESIGNS A graphical formalism and a corresponding prototype implementation will be described. :RAY:
540 ** <<5.1>> 5.1 Import and improve technical stuff on Arxana (cf. Nemas doc)
541 ** <<5.2>> 5.2 Example
544 In order to store graphical representations of knowledge in memory and
545 query them, we will make use of a system called /Arxana/ which we have
546 been developing in LISP.  The basis of this system is higher-order
547 nested semantic networks.  By ``higher order'', it is meant that links
548 can point to other links.  By ``nested'', it is meant that the nodes
549 which make up a network may contain other networks, which themselves
550 may have nodes containing yet other networks, etc.  In addition, all
551 the links are bidirectional and no fundamental distinction is made
552 between links and nodes.
554 For convenience and flexibility, this package has been designed in a
555 modular and extensible fashion.  Basic functionality is provided by a
556 back-end which manages the data of the network.  Higher-level access
557 to the data is mediated by means of a handful of primitive commands
558 and, as long as these commands behave similarly, it does not matter to
559 the end user how they are implemented or how the data is represented
560 internally.
562 The basic unit from which we will construct our networks is called an
563 ``article''.  Articles are data objects which serve to encode both
564 links and nodes and are characterized by the following components:
566 - Identifier
567 - Source
568 - Sink
569 - Content
571 The identifier comes in two forms, a unique numerical identifier which
572 the computer assigns to it when it is entered into the database and
573 human-readable aliases which may be assigned by the user.  Source and
574 sink are pointers to other articles and content is a place in which to
575 store a lisp object, which might be some text, or an expression, or
576 maybe a number or maybe something else depending on what intends to
577 represent with one's network and how one intends to use it.  In
578 particular, the content of an article can even be another network
579 constructed out of more articles.
581 Bidirectional linking means that the links are stored and accessed in
582 a manner which makes it no more costly to find and traverse links in
583 the backwards than the forward direction.  Storing content in articles
584 is what allows the nodes of a hypergraph to serve as a distinct
585 carrier of information and can be quite useful.  In the case of links,
586 this room for extra information can be used to do things like, say,
587 specify what part of a story is being considered in a link to a
588 comment on a story.
590 In order to make this respresentation actionable, we will use two main
591 facilities: hypergraph search and hypergraphs as programs.
593 Given a hypergraph, we can query it for subhypergraphs which match
594 some suitable criterion.  A query consists of a hypergraph whose
595 articles contain predicates and a match consists of a mapping of
596 hypergraphs from the query onto a subhypergraph such that, for every
597 article in the query, the predicate it contains is true of the
598 contents of the corresponding database article.  Since the predicate
599 can be any lisp function, perhaps one which is nested and recursive,
600 this feature can be quite powerful.
602 By modelling various structures as hypergraphs, we can search for
603 instances of them.  For instance, if we implement subcollections as
604 cones, we can use hypergraph search to restrict searches to
605 subcollections.  Or, if we represent logical inferences in terms of a
606 hypergraph for the premise and a hypergraph for the conclusion which
607 share subgraphs, then we can use hypergraph search to find and verify
608 reasoning.
610 Since the content of a node is a lisp object, it can potentially be a
611 piece of executable code.  To make the most of this possibility, we
612 have a utility which runs this code in a context which is determined
613 by links out of the node containing the code.
615 An important use of this facility is handling /clusions/.  The basic
616 feature of clusions is that, rather than simply looking at the text of
617 a node, one instead generates a text from that node by processing that
618 text in its network context.  A classical example would be one where
619 the text contains link anchors which mean "copy this portion of the
620 texts from some other node".  In this case the processing would
621 consist of looking up those references and inserting the portions in
622 the appropriate places.  Furthermore, due to possibility of recursion
623 described above, it is possible that the texts cited might themselves
624 be in need of similar assembly.
626 This is also a mechanism which allows us to operationalize our
627 graphical representations.  Given a node corresponding to a
628 performative of predicate, as content we can take a routine which
629 verifies that the predicate indeed holds of the content to which the
630 node points.  Then running that node would carry out the verification.
632 * 6 RELATED WORK (GAMES, POETRY): parallels between dialogues and discursive Q&A, traditional proofs. :JOE:
634 No one would insist that a nonlinear film like /Amores Perros/ or
635 /Pulp Fiction/ needs to be represented as a tree.  Propp-style
636 theories of storytelling tell us how stories are "supposed" to be
637 written, but in general these models don't stand up to scrutiny.  The
638 title of Robbe-Grillet's short novel /Dans le labyrinthe/, in a way,
639 says it all.
641 ** <<6.1>> 6.1 prior art: board games, story stuff; table that compares between.
642 ** <<6.2>> 6.2 Alexander: "a city is not a tree"; compare Lamport
644 ** Text
646 In order to build a computational theory of the expository register,
647 we will draw upon several well-studied topics in AI which deal with
648 situations that have common features, namely the block world, board
649 games, and story comprehension (Table [[tab:comparison]]).
651 #+CAPTION: Comparison between computation in different domains
652 #+NAME: tab:comparison
653 | /Level/               | *Block World*     | *Board Games*         | *Story Comprehension* |
654 |-----------------------+-------------------+-----------------------+-----------------------|
655 | universe of discourse | blocks on a table | game pieces on board  | everyday life         |
656 | reasoning             | instructions      | rules & strategy      | analogy               |
657 | value                 | consistency?      | prediction of winning | costs and benefits    |
658 | role of disagreement  | none              | multiple strategies   | ethical dilemmas      |
660 According to David Moshman \cite{moshman2004inference},
661 /inference/, /thinking/, and /reasoning/ are defined as follows:
663 #+BEGIN_QUOTE
664 - *Inference*---going beyond the data---is elementary and ubiquitous.
665 - *Thinking* is the deliberate application and coordination of one’s inferences to serve one’s purposes
666 - *Reasoning* is epistemically self-constrained thinking [...] with the intent of conforming to what they deem to be appropriate inferential norms.
667 #+END_QUOTE
669 Reasoning is particularly effective in social settings, according to
670 Sperber & Mercier \cite{mercier2017enigma}.  Even if we are not
671 interacting directly with others, "appropriate inferential norms" are
672 social constructions. Indeed, Minsky saw thought as inherently social.
674 Quite contrary to the sentiment conveyed by the
675 misattributed quote ``Mathematics is a game played according to
676 certain simple rules with meaningless marks on paper,'' David Hilbert,
677 an early and important proponent of mathematical formalism, emphasised
678 the role of intuition and experience, and discussed conjectural
679 thinking and the fallibility of mathematical reasoning
680 \cite{hilbert1992natur,corry1997origins}.[fn:thomae]
682 [fn:thomae] The actual source of the quote appears to be Carl Johannes
683 Thomae, /Elementare Theorie der analytische Functionen einer complexen
684 Veraenderlichen/ (1898), p. 3: ``For the formalist, arithmetic is a game
685 with signs, which are called empty. That means they have no other
686 content (in the calculating game) than they are assigned by their
687 behaviour with respect to certain rules of combination (rules of the
688 game).'' It is worth noting that Thomae nevertheless continues on to
689 remark on the difference between arithmetic and chess, insofar as
690 ``numbers can be related to concrete manifolds by means of simple
691 axioms.''  Cf. this discussion in the ``Foundations of Mathematics''
692 mailing list:
693 https://www.cs.nyu.edu/pipermail/fom/2005-April/008889.html.
695 # * 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:
697 # ** <<7.1>> 7.1 There is a degree of formality in the specifications, but also informality in the heuristics.
699 # * 8 MOB PROGRAMMING :onhold:
701 # ** <<8.1>>
702 # ** <<8.2>>
704 # * 9 RELATED WORK music from corneli, pease, stefanou survey ("Chapter 6"); NNexus project; Socratic :onhold:
706 # ** <<9.1>>
707 # ** <<9.2>>
709 # * 10 CONCLUSION :onhold:
711 # ** <<10.1>>
712 # ** <<10.2>>