Commit Graph

36 Commits (554bb81a63d20ccb692e75a4b455621158de1ece)

Author SHA1 Message Date
Mike Gerwitz 9c72d397d4 design/tpl: Introduce bibliography
This starts with the Hadamard Product as an example.  It also:

  - Configures BibLaTeX with biber.
  - Renames \undef, since BibLaTeX apparently defines it.
  - Redefines the citation and url colors, since they're bright and ugly.
2021-05-26 13:07:46 -04:00
Mike Gerwitz e07887f8b5 design/tpl: Remove now-unused listing package
All XML appears within the context of equations now.
2021-05-26 12:30:03 -04:00
Mike Gerwitz ddcdb8d9c6 design/tpl (Classification System): Introduce linear algebra notation
I find this provides a visualization that is likely to be significantly more
intuitive for others.  It even holds when the matrix is not
rectangular (yes, I know, it's not really a matrix then), so long as all
matrices share the same respective K_j.
2021-05-26 10:33:01 -04:00
Mike Gerwitz cc057e8178 design/tpl (tpl.sty)[newtheoremwithlabel]: Use spref for *pref 2021-05-26 10:32:50 -04:00
Mike Gerwitz 72b6f95d4e design/tpl (Classification System): \odot=>\Classify-based monoid notation
This reads better, IMO.
2021-05-25 10:50:55 -04:00
Mike Gerwitz 848a415ab2 design/tpl (\equivish): Symbol change
This uses the same variable subscript on \equiv itself to define the symbol,
rather than the previous symbol which looked like equiv rotated, but also
looked too much like a turnstile used for "infer", a metalanguage construct
that is not appropriate here.  It kept bothering me.
2021-05-24 13:24:53 -04:00
Mike Gerwitz caafecdbda design/tpl: Add \spref
This is a bit opinionated, but I think it reads better, and it's certainly
better than manually having to proofread references frequently.
2021-05-24 12:56:23 -04:00
Mike Gerwitz e70933eef8 design/tpl (Vectors and Index Sets): Refinement and rectangular matrix intro
This refines the section a bit and introduces the familiar notation for
rectangular matrices (which normal people just call "matrices").
2021-05-21 16:10:44 -04:00
Mike Gerwitz 8edef8a8c8 design/tpl (\rank): Add macro 2021-05-20 15:28:10 -04:00
Mike Gerwitz 9ad144d3d4 design/tpl (Classification System): Initial match definition
This is a bit raw; it needs some explanation and examples.
2021-05-20 10:45:44 -04:00
Mike Gerwitz 4a6f44ff90 design/tpl: Formatting of source files
This introduces missing license headers in files and better organizes
tpl.sty into sections.
2021-05-19 10:05:29 -04:00
Mike Gerwitz f5b2261f0d design/tpl: Euler font
I removed this when I added concmath, thinking that it would include it for
me, and apparently I never re-added it after realizing that it didn't.

I'm a big fan of the typography of Concrete Mathematics.
2021-05-18 16:28:43 -04:00
Mike Gerwitz 158e045762 design/tpl: geometry package for letterpaper
Was not working properly in vanilla TeX Live image.
2021-05-18 16:03:06 -04:00
Mike Gerwitz d65c061b29 design/tpl: configure script (for appendix)
It's not required; TPL will fall back when missing conf.tex.
2021-05-18 15:56:25 -04:00
Mike Gerwitz 8957e6caf0 design/tpl (Classification System): Add always and never figure
This demonstrates the vacuity lemma.
2021-05-18 14:09:27 -04:00
Mike Gerwitz 8a2407d66f design/tpl: Emphasize commutativity of monoids in classification system 2021-05-18 12:13:58 -04:00
Mike Gerwitz 1ec0fc0c7b design/tpl (Notational Convetions): Clean up unneeded bicompi
This was originally going to be used to define @yields for the classifier,
but I took a very different approach which doesn't require reasoning about
the system in terms of recursion.
2021-05-18 10:16:06 -04:00
Mike Gerwitz 2d268f2a55 design/tpl: Initial definition of classifications
This defines @as and @yields, but does not yet define matches formally.
It's also missing index entries, which I'll take the time to add after I'm
sure things are staying as they are.

This was quite a bit of work, and the approach I took is different than I
originally expected, so Section 0 can use some cleanup.

There is more to come from here.
2021-05-18 10:09:29 -04:00
Mike Gerwitz 4ea2574a8c design/tpl/tpl.sty: Use autoref for theorem macros 2021-05-17 13:21:56 -04:00
Mike Gerwitz fbe76a5616 design/tpl: Beginnings of classifications in terms of first-order logic
This is going to evolve a great deal, and note that the yield definition is
completely absent.

It may be time to switch to natural deduction (Gentzen-style).
2021-05-14 12:14:11 -04:00
Mike Gerwitz 9bcd7e1d7e design/tpl: Abstract theorem env + label creation 2021-05-14 10:50:49 -04:00
Mike Gerwitz 8d54420656 design/tpl (Monoids and Sequences): New section 2021-05-14 10:34:13 -04:00
Mike Gerwitz 060a7d0e6c design/tpl: \{log=>l}{and,or}
Don't I feel silly.
2021-05-14 10:34:09 -04:00
Mike Gerwitz 63b502b7df design/tpl: Add ccicons for Copyright line 2021-05-12 10:37:20 -04:00
Mike Gerwitz bff2b32a52 design/tpl: More TODOs and margin remarks 2021-05-11 16:50:11 -04:00
Mike Gerwitz 9d9535a1b8 design/tpl: Introduce \Classify mathop
This will be used as an IR of sorts to eliminate the XML, which will be far
too verbose to use in proofs.  It also allows us to attach behavior to the
operator, which will end up defining two values for @as and @yields.
2021-05-11 16:37:08 -04:00
Mike Gerwitz d78186461f desgin/tpl: Add \todo margin notes 2021-05-11 16:36:43 -04:00
Mike Gerwitz 6dc0ca2454 design/tpl: Show listings in draft mode
What an odd default.
2021-05-11 13:08:25 -04:00
Mike Gerwitz 7f4fc8e3b7 design/tpl: Mostly-complex symbol index entries for Chapter 0 2021-05-11 11:33:12 -04:00
Mike Gerwitz 7624bd2958 design/tpl: TAMER case fix
'T' was lowercased.
2021-05-11 11:32:19 -04:00
Mike Gerwitz cb9ccfe5f3 design/tpl: \vdash=>\infer and index entry 2021-05-10 16:54:19 -04:00
Mike Gerwitz 4e7b882aed design/tpl: Begin symbol list at beginning of index 2021-05-10 16:50:30 -04:00
Mike Gerwitz 176c7785e9 design/tpl: Remove stackengine import
This is no longer needed after conversion of \bicomp to superscript.
2021-05-10 14:29:42 -04:00
Mike Gerwitz c371d12a02 design/tpl: Remove glossary
This is an unnecessary feature to maintain right now.  I will include
symbols at the very beginning of the index, which is common in mathematics
texts, and may will add a table of common symbols in the future.
2021-05-10 14:28:37 -04:00
Mike Gerwitz 8d1c29b4cc design/tpl: bicomp: Use superscript instead of stacking
Stacking originally seemed like a good idea, but perhaps this does read a
bit better (and looks more like the composition operation being applied),
and composes a bit better if we needed e.g. \bicomp\bicomp{R}.

It's also less ambiguous when it's over a larger expression.  For example,
\bicomp{[A]} places \circ over top of the A, which looks as if it's
[\bicomp{A}].  It's obvious what the intention is in that context, since
\bicomp{A} makes no sense, but there could be other situations where it
doesn't.  With this change, it results in {[A]}^\circ.
2021-05-10 14:19:49 -04:00
Mike Gerwitz bd454f7a7c design/tpl: The Tame Programming Language initial concept
There's a lot of change that's likely going to take place with this thing,
but it's a start.  The abstract summarizes the purpose of this---to formally
define TAME in terms of algebra, first-order logic, and [ZFC] set theory.

This came about while working on compiler changes and optimizations, since
it's difficult to ensure correctness (and discover further optimizations)
without being able to formally define the language.  The focus at the moment
is the classification system rewrite, which can be expressed in terms of
first order logic and set theory.

This commit contains essentially a POC with some carefully chosen
mathematical foundations (abstractions of which are subject to change) and a
basic representation of a subset of the classification system for scalars.
2021-05-10 13:46:49 -04:00