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
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
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
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
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.
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.
72 /What is the 500th digit of $(\sqrt{2}+\sqrt{3})^{2012}$?/
75 perf[assert](meta[goal](
76 compute 500th digit of (sqrt(2)+sqrt(3))^2012))
79 /(Even this, eventually, a computer will be able to solve.)/
82 perf[assert](rel[exists](meta[strategy](strategy X)))
83 perf[assert](rel[has_property](strategy X,HAL)
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
97 Mathematical reasoning is made explicit in /potted arguments/ (proofs)
98 and /dialogues/. This is what we take as our primary data.
102 Our aim is to computationally model (and `simulate') mathematical
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."
151 #+ATTR_ORG: :width 800
152 #+ATTR_LATEX: :width 11cm
153 [[file:./john-example.png]]
156 (atrans actor (person name john)
157 object (phys-obj type book)
158 recip (person name mary))
163 *NB. We view CD /primitives/ as analogous to IAT /performatives/.*
165 * Registers of mathematical discourse
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.
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
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
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"
250 This is closer to what one has in non-mathetical discourse.
251 These sorts of assertions influence the choice of actions and
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)
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)
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:
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:
315 *** *=plausible=* (s)
316 *** *=beautiful=* (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 ])
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":
336 perf[assert](rel[exists](meta[strategy](strategy X)))
337 perf[assert](rel[has_property](strategy X,HAL)
340 But if you look at the diagram it's more like:
343 Assert(exists(strategy(PROBLEM, strategy X))
344 AND has_property(strategy X,HAL))
347 #+ATTR_ORG: :width 800
348 #+ATTR_LATEX: :width 11cm
349 [[file:./gowers-hal.png]]
351 * Extensions to the core (dynamics)
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.
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!/
372 LAK> P: Lemma(‘we can start with any point’ L 11.1 ).
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)
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./
387 LAK> [Repetition of previous move.]
391 IATC> perf[assert](forall_exists_problem_detail)
392 IATC> rel[structural](forall_exists_problem,
393 forall_exists_problem_detail)
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?/
401 LAK> P: Lemma(‘the line does not matter‘ L 11.2 ).
406 IATC> perf[query](forall_forall_problem)
409 *Here it probably would not make sense for Anonymous to say "Perhaps even the convex hull does not matter!"*
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$.
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:
437 (defn adjoint-of-bounded-linear-op-on-hilbert-space
441 (bounded-linear-operator A X Y)
445 (eq (inner-product :on Y :of (A x) y)
446 (inner-product :on X :of x (Astar y)))))))
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.
457 adjoint-of-bounded-linear-op-on-hilbert-space:fact:
458 adjoints-exist-and-are-unique (A X Y)
461 (bounded-linear-operator A X Y)
462 (bind phi (map phi X Y :takes x
463 :to (inner-product :on Y
465 ;; We need to show that phi is linear - ‘easy’
468 (properties-of-inner-product))
471 ** Example 2 (continued, C)
474 ;; a lemma allows us to spawn a reasonable target
481 (unique-rep-linear-functional-by-inner-product
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
489 *This should be rewritten in IATC(D)!*
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
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
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.
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.
544 - /Program synthesis: opportunities for the next decade/,
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
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'')
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=.
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.
595 - possibly an example from metamath or coq or whatever to show that we can model that stuff as discourse...
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
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
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.
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
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
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''
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
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
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.
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)
769 * Frame with references :noexport:
771 :BEAMER_OPT: fragile,allowframebreaks,label=