Merge branch 'mob'
[arxana.git] / org / ciao-talk.org
blob710742eb50b1c75adb4e78f0c99eb83c95ea52ff
1 #+TITLE:     Reasoning about mathematics with graphical programs
2 #+AUTHOR:    *Joe Corneli*\newline \footnotesize{with Raymond Puzio, Gabi Rino Nesin, Alison Pease, Dave Murray-Rust, and Ursula Martin}
3 #+EMAIL:     contact@planetmath.org
4 #+DATE:      Tuesday 23 May, 2017 (CIAO)
5 #+DESCRIPTION: Organizer for presentation on arxana and math text analysis at Oxford.
6 #+KEYWORDS: arxana, hypertext, inference anchoring
7 #+LANGUAGE: en
8 #+OPTIONS: H:2 num:t 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 #+LATEX_HEADER: \usepackage[backend=bibtex,sorting=none]{biblatex}
17 #+LATEX_HEADER: \bibliography{arxana-redux-refs}
18 #+LATEX_HEADER: \beamertemplatenavigationsymbolsempty
19 #+STARTUP: showeverything
21 * Overview 
23 ** 
25 ``I have seen this problem, that if $G$ is a finite group and $H$ is a
26 proper subgroup of $G$ with finite index then $ G \neq
27 \bigcup\limits_{g \in G} ghg^{-1}$.
29 Does this remain true for the infinite case also.''
31 #+ATTR_ORG: :width 800
32 #+ATTR_LATEX: :width 11cm 
33     [[file:./example-graph.png]]
36 ``There's something I don't understand here: do you perhaps mean $gHg^{-1}$ instead of $ghg^{-1}$?''
39 ** What we are (and are not) doing
41 - *Unlike* a classical proof which consists of mathematical statements
42   and deductions, informal mathematical language is more general, and
43   the reasoning involved may be abductive, inductive, or heuristic.
45 - The presentation here will describe a strategy we have been
46   developing for representing mathematical dialogues and other
47   *informal* texts.
49 ** The research trajectory
51 - A publication appearing in /Artificial Intelligence/ this
52   month describes the *high-level* features of informal
53   mathematics.[fn:1: \fullcite{PEASE2017}.]
55 #+ATTR_ORG: :width 800
56 #+ATTR_LATEX: :width 11cm 
57     [[file:./lakatos-example.png]]
59 - What I will talk about today is instead a graphical formalism and a
60   corresponding prototype *implementation (-in-progress)* dealing with
61   *lower-level* features of reasoning.
64 ** The prospects
66 Applications include modelling *collaborative proof dialogues* and
67 discursive Q&A, as well as more traditional "textbook," "journal,"
68 "exam," and "contest" style proofs.
70 \medskip
72 /What is the 500th digit of $(\sqrt{2}+\sqrt{3})^{2012}$?/
74 #+BEGIN_SRC
75 perf[assert](meta[goal](
76  compute 500th digit of (sqrt(2)+sqrt(3))^2012))
77 #+END_SRC
79 /(Even this, eventually, a computer will be able to solve.)/
81 #+BEGIN_SRC 
82 perf[assert](rel[exists](meta[strategy](strategy X)))
83 perf[assert](rel[has_property](strategy X,HAL)
84 #+END_SRC
86 \medskip
88 In our planned next steps (touched on briefly later) we will bring in
89 explicit type-theoretic representations of mathematical objects within
90 a service-oriented architecture, for purposes of *proof synthesis*.
93 * Summary of the research problem and our approach
95 ** 
97 Mathematical reasoning is made explicit in /potted arguments/ (proofs)
98 and /dialogues/.  This is what we take as our primary data.
100 \medskip
102 Our aim is to computationally model (and `simulate') mathematical
103 creativity.
105 \medskip
107 Our current toolkit is described below.
109 ** Inference Anchoring Theory
111 /Inference Anchoring Theory/ was devised to model the logical
112 structure of dialogical arguments.[fn:2: \fullcite{BUDZYNSKA2014}] It
113 has since been extended to model *mathematical arguments*.[fn:3: \fullcite{CORNELI2017}]
115 ** A scholia based document model for commons-based peer production
117 - Corneli and Krowne proposed a *scholia-based document model* for *commons-based peer production* -- i.e., online text resources grow "by attaching."[fn:4: \fullcite{CORNELI2005}]
119 - As it turns out, to work with mathematics we are often better served by /hypergraphs/ than by standard graphs.
121   - E.g., if we say "In September 1993, an error was found in Wiles's proposed proof of Fermat's Last Theorem" in the first instance we'd like to point to the entire proposed proof.
123 ** Arxana: computable hypertext
125 /Arxana/ ([[http://arxana.net][arxana.net]]) is the name given to a series of prototype
126 implementations (by Corneli & Puzio) of the scholium based document
127 model with an Emacs front-end.  Arxana is inspired in part by Ted
128 Nelson's Xanadu™ project, which was the first effort to work with
129 ``hypertext'' per se.[fn:5: \fullcite{NELSON1981}]
131 ** Conceptual Dependence
133 Conceptual Dependence was introduced as a tool for understanding
134 natural language.[fn:6: \fullcite{SCHANK1972}] It is also used to
135 represent knowledge about actions.[fn:7: \fullcite{LYTINEN1992}][fn:8: \fullcite{SOWA2008}]
137 - /primitives/ :: describe basic types of actions such as
138                   *"PTRANS — transfer of location"*
140 - /slots/ :: each primitive comes with a set of /slots/ which
141              accept objects of certain types.
143 - combinations :: By combining basic graphs, one can build up
144                   more complicated CD graphs which describe
145                   actions in greater detail.
147 ** E.g., "John gave Mary a book."
149 \vspace{-2cm}
151 #+ATTR_ORG: :width 800
152 #+ATTR_LATEX: :width 11cm 
153     [[file:./john-example.png]]
155 #+BEGIN_SRC lisp
156 (atrans actor  (person name john)
157         object (phys-obj type book)
158         recip  (person name mary))
159 #+END_SRC
161 \bigskip
163 *NB. We view CD /primitives/ as analogous to IAT /performatives/.*
165 * Registers of mathematical discourse
167 ** 
169 The natural language which occurs in mathematical texts comes in
170 several different types.  These types differ in their vocabulary,
171 manner of reasoning, subject matter, and degree of literality so it
172 simplifies the study of the subject to distinguish these types and
173 examine them individually.
175 ** The formal register
177 One type of mathematical language is what we may call the
178 /formal register/.  This is the type of language which is used
179 to state mathematical propositions.  For example, "Every
180 natural number can be expressed as the sum of four squares." or
181 "In every triangle, the sum of the angles equals two right
182 angles."  This register of discourse has been studied
183 extensively by de Bruijn, Ranta, Ganesalingam and others.
185 \bigskip
187 Here we allow ourselves to introduce (models of) formal restatements
188 of propositions without worrying about how the translation from
189 natural language is effected.
191 ** The expository register
193 Another type of mathematical language is what we will call the
194 /expository register/.  This is the sublanguage which is used
195 to express how and why one is interested in a particular formal
196 statement and describe mathematical reasoning.  Examples:
198 + It is easy to see that our theory is complete if we assume
199   the descending chain condition.
201 + A more elegant way of proving theorem 5 is by induction on
202   the degree; however, we chose to present the current proof
203   because it makes it clear that the result depends upon the
204   factorizibility condition.
206 + Is it possible to prove that any point and any line will do?
208 + Can we do this for $x+y$? For $e$? Rationals with small denominator?
210 * Features of the expository register
212 ** We focus (mostly) on the expository register within IATC
214 #+ATTR_ORG: :width 500
215     [[file:./legend.png]]
217 ** Mathematical content
219 Here we are concerned with mathematical objects and mathematical
220 propositions and relationships between them.  Formal mathematics
221 models the objects in this universe of discourse and their
222 relationships, but the discourse itself is not necessarily formal.
224 ** Metamathematical reasoning
226 Everyday mathematical discussions deal, selectively, with strategies:
227 not with just objects and valid derivations.  For instance, the
228 example statement "*It is easy to see that our theory is complete if
229 we assume the descending chain condition*" says something about a
230 proof (or a family of proofs), but it is not a purely formal
231 statement.
233 ** Heuristics and value judgements
235 Whereas the formal register only has deductive reasoning of the
236 strictest sort, in the expository register we also have
237 *inductive* and *abductive* reasoning as well as reasoning by
238 analogy, heuristics, and looser forms of approximate and
239 plausible reasoning.
241 \medskip
243 Concomittantly, judgements made go beyond the truth values of formal
244 logic to vague assertions such as:
246 - "this statement sounds likely to be false"
247 - "this proof is elegant"
248 - "I don't get it"
250 This is closer to what one has in non-mathetical discourse.
251 These sorts of assertions influence the choice of actions and
252 strategies.
254 ** We can compare:
257 | *Block World*     | *Board Games*         | *Story Comprehension* |
258 |-------------------+-----------------------+-----------------------|
259 | blocks on a table | game pieces on board  | everyday life         |
260 | instructions      | rules & strategy      | analogy               |
261 | consistency       | prediction of winning | costs and benefits    |
265 * The core language (kinematics)
267 ** 
269 We now provide an overview of kinds of nodes we see in IATC diagrams.
270 This is the "core language" of IATC.  What I'll talk about is ``version
271 0.2,'' where 0.1 was written by Gabi.
273 ** Content (=structure=)                                               :GRAY:
275 *** object $O$ is *=used_in=* proposition $P$
276 *** proposition $Q$ is a *=sub_proposition=* of proposition $P$
277 *** proposition $R$ is a *=reformed=* version of proposition $P$
278 *** $O$ *=instantiates=* some class $C$
279 *** $s$ *=expands=* $y$, $s$ *=sums=* $y$, $s$ *=contains_as_summand=* $t$
280 *** $M$ *=generalises=* $m$
282 ** Propositions vs Objects vs Binders vs Inference rules?
283 Note that there are different kinds of `content'.  If for example I
284 say `\(0<a<b<1 \Rightarrow a^N < b^N\)', then this is more than just a
285 proposition, but something that can be used as a ``binder''; i.e., if
286 I fill in specific (valid) values of $a$ and $b$ (and, optionally,
287 $N$) I know the consequent holds for them.  This sort of "binder" is
288 presumably also a *theorem* that has been proved.  This is,
289 additionally, similar to an *inference rule* since it allows us to
290 move from one statement to another, schematically.  This suggests
291 that we should be a bit careful about how we think about content.
293 ** Inferential structure (=rel=)                                       :PINK:
295 *** *=stronger=* (s,t)
296 *** *=not=* (s)
297 *** *=conjunction=* (s,t)
298 *** *=has_property=* (o,p)
299 *** *=instance_of=* (o,m)
300 *** *=independent_of=* (o,d)
301 *** *=case_split=* (s, {si}.i)
303 ** reasoning tactics; "meta"/guiding (=meta=)                          :BLUE:
304 *** *=goal=* (s)
305 *** *=strategy=* (m,s)
306 How to show that a suggestion `has been implemented'?
307 We might need some other form of `certificate' for that.
308 E.g., it would say =implements(BLOB OF CODE,strategyx)=.
309 *** *=auxiliary=* (s,a)
310 *** *=analogy=* (s,t)
312 ** heuristics and value judgements (=value=)                          :GREEN:
314 *** *=easy=* (s,t)
315 *** *=plausible=* (s)
316 *** *=beautiful=* (s)
317 *** *=useful=* (s)
318 *** *=heuristic=* (x)
319 (It seems that we will have several layers of `guidance'.)
321 ** Performatives (=perf=)                                            :YELLOW:
323 *** *=Assert=* (s [, a ]), *=Agree=* (s [, a ])
324 *** *=Challenge=* (s [, c ])
325 *** *=Define=* (o,p)
326 *** *=Judge=* (s), *=Query=* (s), *=Suggest=* (s)
327 *** *=QueryE=* ({pi(X)}.i)
328 *** *=Retract=* (s [, a ])
331 ** "=Assert=" nested structure
333 Here is an example from early in the "Gowers example":
335 #+BEGIN_SRC 
336 perf[assert](rel[exists](meta[strategy](strategy X)))
337 perf[assert](rel[has_property](strategy X,HAL)
338 #+END_SRC
340 But if you look at the diagram it's more like:
342 #+BEGIN_SRC c
343 Assert(exists(strategy(PROBLEM, strategy X))
344        AND has_property(strategy X,HAL))
345 #+END_SRC
347 #+ATTR_ORG: :width 800
348 #+ATTR_LATEX: :width 11cm 
349     [[file:./gowers-hal.png]]
351 * Extensions to the core (dynamics)
353 ** 
355 Given the relation between goals, values, and performatives and the
356 way these are similar to what goes on in game playing and story
357 understanding systems, it should be possible to have the system look
358 at a transcribed dialogue and answer questions like:
360 - "Why do you think Thomas agreed with Anonymous?"
361 - "Why do you think Nemanja considers the proposition useful?"
363 The premise here is that the *dynamics* at work are based on
364 performatives being chosen based upon current valuations, goals, and
365 other contextual features.
367 ** Example 1
369 *ANONYMOUS*: /One can start with any point (since every point of S should be pivot infinitely often), the direction of line that one starts with however matters!/
371 #+BEGIN_SRC
372 LAK> P: Lemma(‘we can start with any point’ L 11.1 ).
373 #+END_SRC
375 #+BEGIN_SRC
376 IATC> perf[assert](rel[equivalent](problem,
377           forall_exists_problem))
378 IATC> rel[structural](problem, forall_exists_problem)
379 IATC> perf[assert](rel[not](rel[equivalent](problem,
380           forall_forall_problem)))
381 IATC> rel[structural](problem, forall_forall_problem)
382 #+END_SRC
384 *NEMANJA*: /In other words, we can start with any point and ‘just’ need to choose a second point through which will we draw a line./
386 #+BEGIN_SRC
387 LAK> [Repetition of previous move.]
388 #+END_SRC
390 #+BEGIN_SRC
391 IATC> perf[assert](forall_exists_problem_detail)
392 IATC> rel[structural](forall_exists_problem,
393           forall_exists_problem_detail)
394 #+END_SRC
396 ** Example 1 (continued)
398 *ANONYMOUS*: /Perhaps even the line does not matter! Is it possible to prove that any point and any line will do?/
400 #+BEGIN_SRC
401 LAK> P: Lemma(‘the line does not matter‘ L 11.2 ).
402 LAK> P: ProofDone.
403 #+END_SRC
405 #+BEGIN_SRC
406 IATC> perf[query](forall_forall_problem)
407 #+END_SRC
409 *Here it probably would not make sense for Anonymous to say "Perhaps even the convex hull does not matter!"*
411 ** Example 2
413 If $A$ is an operator, then there exists a unique
414 operator $A^*$, called the adjoint of $A$, such that
415 $(Ax,y) = (x,A^*y)$ for all $x$ and $y$; $A^*$ is
416 such that $\lVert A^* \rVert=\lVert A \rVert$.
418 \medskip
420 Write $\phi(x,y)=(Ax,y)$ and $\psi(x,y)=\phi^*(y,x)$
421 for all $x$ and $y$. Since, by Theorem 1, $\phi$ is
422 a bounded bilinear functional, and since this implies
423 that $\psi$ is a bounded bilinear functional with
424 $\lVert \psi \rVert=\lVert \phi \rVert=\lVert A \rVert$,
425 it follows from the converse part of Theorem 1 that
426 there exists an operator $A^*$ such that
427 $\psi(x,y)=(A^*x,y)$ for all $x$ and $y$, and
428 that $A^*$ is such that $\lVert A^* \rVert=\lVert \psi \rVert =\lVert A \rVert$.
429 Since the uniqueness of $A^*$ is clear, the proof is completed
430 by the obvious computation: $(Ax,y)=\phi(x,y)=\psi^*(y,x)=(A^*y,x)^*=(x,A^*y)$.[fn:9: \fullcite{HALMOS1957}]
432 ** Example 2 (continued, A)
434 From an earlier schematic treatment:
436 #+BEGIN_SRC lisp
437 (defn adjoint-of-bounded-linear-op-on-hilbert-space
438   (X Y A Astar)
439   (hilbert-space X)
440   (hilbert-space Y)
441   (bounded-linear-operator A X Y)
442   (and (map Astar Y X)
443        (forall x :in X :st
444        (forall y :in Y :st
445         (eq (inner-product :on Y :of (A x) y)
446             (inner-product :on X :of x (Astar y)))))))
447 #+END_SRC
449 *Actually we would like to represent these things more formally as "data types". Clojure.spec may be useful for this.*
451 ** Example 2 (continued, B)
453 Here is how the proof was represented in a sort of "proto" IATC.
455 #+BEGIN_SRC lisp
456 (defproof
457   adjoint-of-bounded-linear-op-on-hilbert-space:fact:
458   adjoints-exist-and-are-unique (A X Y)
459   (hilbert-space X)
460   (hilbert-space Y)
461   (bounded-linear-operator A X Y)
462   (bind phi (map phi X Y :takes x
463                  :to (inner-product :on Y
464                                     :of (A x) y)))
465   ;; We need to show that phi is linear - ‘easy’
466   (shows (linear phi)
467          (linear A)
468          (properties-of-inner-product))
469 #+END_SRC
471 ** Example 2 (continued, C)
473 #+BEGIN_SRC lisp
474   ;; a lemma allows us to spawn a reasonable target
475   (obtain v :st
476           (unique v :in X :st
477                   (forall u :in X :st
478                     (eq (varphi u)
479                         (inner-product :on X
480                                        :of u v))))
481           (unique-rep-linear-functional-by-inner-product
482            X phi))
483   (bind Astar (map Astar Y X :takes w :to v))
484   ;; assert that the Astar so constructed is the adjoint
485   (assert (adjoint-of-bounded-linear-op-on-hilbert-space X Y
486                                                   A Astar)))
487 #+END_SRC
489 *This should be rewritten in IATC(D)!*
491 * Related work
493 ** 
495 We can point to various pieces of related work (but will be brief).
497 ** Modelling mathematical language
499 In a Lakatos setting disagreement is the primary engine that drives
500 discovery.
502 Other more general works:
504 - [[http://www.emis.de/monographs/Trzeciak/biglist.html][Mathematical English Usage - a Dictionary]] (Jerzy Trzeciak)
505 - [[https://case.edu/artsci/math/wells/pub/html/abouthbk.html][The Handbook of Mathematical Discourse]] (Charles Wells)
506 - [[http://universaar.uni-saarland.de/monographien/volltexte/2015/111/pdf/wolska_mathematicalProofs_komplett_e.pdf][Students' language in computer-assisted tutoring of mathematical proofs]] (Magdalena A. Wolska)
508 ** Does what we're doing relate in any way to other formal proof checkers?
510 - The default answer should be "no" because most (Mizar, Coq, metamath, etc.) don't make a serious effort to deal with mathematical text.
512  - There's a recent paper by Cezary Kaliszyk et al. that is somehow the exception that proves the rule.[fn:10: \fullcite{kaliszyk2014developing}] 
514 - There's also a generative program by Ganesalingam and Gowers that meshes natural language and formal mathematical reasoning.
516 - There are also various efforts with "mathematical vernacular" and, e.g., a weak type theory approach from Kamareddine and Wells called MathLang
518 ** KRR
520 With the foregoing examples in mind, we assert that what we are doing
521 can be combined with proof checkers synergistically.  For instance,
522 one could attach scholia to the statements in an IAT representation
523 which contain formalized representations of the content, and scholia
524 which indicate that certain statements have been proved.  Possibly
525 work like the formalisation of Bourbaki could be useful as part of a
526 sort of Rosetta stone.
528 ** Programming
530 \medskip
532 It is not just incidental that our work is implemented in LISP.
533 Actually, the kind of hypergraph programs we use are a natural
534 extension of the basic LISP data model.  Infrastructure-wise, Emacs
535 (and Org mode) are suitable for interacting with other programming
536 languages and long-running processes, e.g., MAXIMA -- and other
537 programming languages, e.g., Clojure.  Arxana will (hopefully)
538 continue in this direction.
540 \medskip
542 Of interest:
544 - /Program synthesis: opportunities for the next decade/,
546 * The end 
547 ** 
548 That's all for now!  Happy to correspond joseph.corneli@ed.ac.uk
550 * outtakes                                                         :noexport:
552 ** Other things we've worked on
554 - "nemas" document:  http://metameso.org/ar/metamathematics.pdf
555 - Joe's thesis Appendix B: http://metameso.org/ar/thesis-appendix-b.pdf
556 - Metamathematics preprint: http://metameso.org/ar/mathematical-semantics.pdf
557 - hcode function spec: http://metameso.org/ar/hcode.pdf
558 - Lakatos game spec: http://metameso.org/ar/lakatos-flowchart.pdf
559 - [[http://metameso.org/cgi-bin/current.pl?action=browse;oldid=Arxana;id=A_scholium-based_document_model][A scholium-based document model]] is the wiki homepage for Arxana and has several relevant discussions.
560 - [[http://metameso.org/cgi-bin/current.pl/Two_years_later][Two years later]] collects many of the mathematical themes in
561   overview
562 - [[http://metameso.org/cgi-bin/current.pl/samples_of_formal_mathematical_writing][samples of formal mathematical writing]] is a small collection
563   of statements in mathematical language (leaving out ``the part
564   in between dollar signs'')
567 ** Infrastructure
569 This file is in versioned storage in the "mob" branch of our arxana
570 repo; instructions to access are here:
571 http://repo.or.cz/w/arxana.git/blob_plain/d187e244a8eb7d2208f1fe98db1ef895c6cd4a36:/README.mob
573 A working copy of this repository is checked out at
574 =/home/shared-folder/arxana-redux/arxana/= on the Linode.
576 And a "scratch" copy of the file has been copied to:
577 =/home/shared-folder/arxana-redux/arxana-redux.org=
579 This can be edited in live sessions using =togetherly.el=.
581 ** Progress on paper
583 *** Corpus/Examples: Hand-drawn diagrams in IAT+C
585 /We are allowed to submit an appendix without a size limit, so if we don't have room for all of the diagrams in the paper, we could put them in the appendix./
587 - Minipolymath, treated by Gabi in the Transactions on Social Computing paper, pdf available from https://www.overleaf.com/read/jyhzpqsythzq
588 - Our randomly selected MathOverflow discussion (from Q&A article)
589 - Gowers 2012 trick problem, http://metameso.org/ar/gowers-example.pdf
590 - Also there's Schuam's Abstract Algebra exercise 337, a diagram is shown on arxana.net.
591  - Redone using IATC: http://metameso.org/ar/schuams-example.pdf
592 - An example from the Ganesalingam and Gowers paper: http://metameso.org/ar/robotone-example.pdf
593 - Galois theory. Emil Artin's book.
594 - Euclid algorithm
595 - possibly an example from metamath or coq or whatever to show that we can model that stuff as discourse...
596 - ...
598 *** Other Background
600 **** Conference and workshop "due dilligence"
602 Previous publications in the ICFP series touch on themes below (i.e.,
603  this a selection of papers from the proceedings over the last 10
604  years that mention "mathematics" or something similar; hopefully at
605  least a few of them are relevant).  We plan to submit to the
606  associated [[http://www.schemeworkshop.org/][Scheme and Functional Programming]] workshop, though perhaps
607  we might also want to have a look at the [[http://functional-art.org/2017/cfp.html][Functional Art, Music,
608  Modelling and Design]] workshop in case it proves to be a better fit.
610 - /A functional programmer's guide to homotopy type theory/,
611 - /Program synthesis: opportunities for the next decade/,
612 - /Lem: reusable engineering of real-world semantics/ [Lem stands for "[[http://www.cl.cam.ac.uk/~pes20/lem/][Lightweight executable mathematics]]"],
613 - /Functional programming with structured graphs/,
614 - /Painless programming combining reduction and search: design principles for embedding decision procedures in high-level languages/,
615 - /Using camlp4 for presenting dynamic mathematics on the web: DynaMoW, an OCaml language extension for the run-time generation of mathematical contents and their presentation on the web/,
616 - /TeachScheme!: a checkpoint/,
617 - /A functional I/O system or, fun for freshman kids/ and
618 - /Commutative monads, diagrams and knots/
620 **** Items we've worked on before
622 - iatc :: The primary features of the adaptation of IAT to IATC
623           are:
625 1. to introduce more explicit relationships between pieces of
626 mathematical content; and
627 2. to advance a range of ``predicates'' that relate mathematical
628 propositions.
630 These predicates describe inferential structure, judgements of
631 validity or usefulness, and reasoning tactics.
633 - scholia :: The kind of collaborative online
634              knowledge-building that happens on sites like
635              Wikipedia \cite{BENKLER2002} (or in other digital
636              libraries broadly construed \cite{KROWNE2003}).
637              One familiar class of examples is provided by
638              revision control systems, e.g., Git, which builds
639              a network history of changes to documents in a
640              directed acyclic graph (DAG).
642 - arxana :: We have been specifically interested in
643             applications within mathematics, which has given
644             Arxana a unique flavour.  In particular, we propose
645             to use a scholium model to model *the logic of
646             proofs*, not just to represent mathematical texts
647             for reading.  Over the years as we've worked on
648             Arxana, we have generated all sorts of files.  Many
649             of these are stored in
650             =/home/shared-folder/public_html/=, and accessible
651             on the web at [[http://metameso.org/ar/]].  Earlier
652             prototypes are available via http://arxana.net.
654 ***** Research notes
656 - "nemas" document:  http://metameso.org/ar/metamathematics.pdf
657 - Joe's thesis Appendix B: http://metameso.org/ar/thesis-appendix-b.pdf
658 - Metamathematics preprint: http://metameso.org/ar/mathematical-semantics.pdf
659 - hcode function spec: http://metameso.org/ar/hcode.pdf
660 - Lakatos game spec: http://metameso.org/ar/lakatos-flowchart.pdf
662 ***** Wiki
664 - [[http://metameso.org/cgi-bin/current.pl?action=browse;oldid=Arxana;id=A_scholium-based_document_model][A scholium-based document model]] is the wiki homepage for Arxana and has several relevant discussions.
665 - [[http://metameso.org/cgi-bin/current.pl/Two_years_later][Two years later]] collects many of the mathematical themes in
666   overview
667 - [[http://metameso.org/cgi-bin/current.pl/samples_of_formal_mathematical_writing][samples of formal mathematical writing]] is a small collection
668   of statements in mathematical language (leaving out ``the part
669   in between dollar signs''
671 ***** Website
673 - [[http://arxana.net][arxana.net]] has links to source code from various prototypes
674  - It also has a small gallery of hand-drawn diagrams
676 **** And other things elsewhere:
678 - /Conceptual dependency theory/ has been used for such purposes, e.g.,
679 in the context of machine understanding of stories \cite{LEON2011}.
680 - Zooming in and out to find the right level of detail is related to Faré's categorical theory of levels of a computer system [add citation].
681 - /Handbook of artificial intelligence/ by Barr and Feigenbaum describes *SAM* and *PAM*, the /Script Applier Mechanism/ and /Plan Applier Mechanism/ by Schank and Abelson et al., on page 306 et seq. \cite{barr1981handbook}
682 - Winograd, Natural language and stories --- MIT AI Technical Report 235, February 1971 with the title "Procedures as a Representation for Data in a Computer Program for Understanding Natural Language" ([[http://hci.stanford.edu/winograd/shrdlu/AITR-235.pdf][link]])
683  - Could we reuse this stuff for the "narrative"
684  - How do we know how to read the text and transform it into IATC?
685  - An example is Gowers's "total stuckness": how do we turn that into code?
686 - Conceptual dependency representation - from "Deep Blue" website ([[https://deepblue.lib.umich.edu/bitstream/handle/2027.42/30278/0000679.pdf?sequence=1][link]]).
687  - Schank's MARGIE system is described on page 300 /et seq./ of \cite{barr1981handbook}.
688 - AI textbook in wiki.
691 ** Proofs and prologues
693 In several of our examples, such as the Gowers problem and Artin's
694 book, on sees a structure in which a proof or calculation is preceded
695 by a kind of prologue in which the author describes motivation and
696 strategy.  Unlike the proof proper which consists of mathematical
697 statements and deductions, the language here is more general and
698 the reasoning may be abductive, inductive, or heuristic.
700 We would like to have a representation for these sorts of prologues
701 and indicate how they connect with the proof which they introduce
702 as well as the rest of the text.  A challenge here is that the
703 texts in question can allude and refer to all sorts of referents
704 including themselves at a high level of abstraction and require
705 a certain amount of common sense to be understood.
707 Since the issues that arise here are similar to those which arise in
708 undestanding and representing natural language stories, we should be
709 able to adapt techniques such as conceptual dependency relation or
710 goals and themes to a mathematical context.
713 *** TODO We should figure out what the inferences between basic assertions (I/R, I/E, etc.) would look like here. (e.g. fig. 7 of Lytinen)
715 - links between basic CD's
716  - e.g., joe communicated the IP address to ray, by talking, so that ray could get on the server
718 ** Goals
720 In order to figure out why and how actions take place, CD theory
721 introduces procedural knowledge in the form of scripts, MOPs, TOPs,
722 goals, and plans.  For our purposes, goals and plans will be used.
724 This relates to the =meta= items of the spec.  Maybe we should
725 expand the =goal= item using some sort of ontology like that of
726 Schank and Ableson.
728 ** Parsing
730 We saw earlier how Lytinen schematizes the sentence "John gave Mary a
731 book" as an s-expression.
734 *** TODO Initial non-working pseudocode prototype
736 Here it makes sense to at least try and transcribe the main examples
737 in some "pseudocode", inspired by IATC and hcode, which we can then
738 refine into a working version later.
740 Several examples have been transcribed:
742 - http://metameso.org/ar/mpm3.html
743 - http://metameso.org/ar/gowers2012.html
744 - http://metameso.org/ar/robotone-opensets.html
746 However, as per the headline, these don't currently *do* anything.
748 *** TODO Basic working version
750 *** TODO Can the system come up with answers to new, basic, questions?
752 - Inspired by Nuamah et al's geography examples
753 - Simple comparisons, like, how does this concept relate to that concept?  We informally talk about this as ``analogy'' between concepts.  But...
755 *** TODO Foldable views (like in Org mode) so that people can browse proofs
757 - This may come after the May submission
758 - Folding and unfolding the definitions of terms in something like an APM context is relevant example.  Just `unpacking' terms.
761 #+C Local Variables:                        
762 #+C org-tree-slide-skip-outline-level: 3
763 #+C mode-line-format: nil
764 #+C eval: (org-display-inline-images t t)
765 #+C eval: (setq org-tree-slide-header nil)
766 #+C End:
769 * Frame with references :noexport:
770   :PROPERTIES:
771   :BEAMER_OPT: fragile,allowframebreaks,label=
772   :END:      
773   \printbibliography