Commit Graph

37 Commits (5af698d15c0426b5c7c8c756afdca72ddcbce4b7)

Author SHA1 Message Date
Mike Gerwitz e3a583624c design/tpl (Matches): Refine matrix visualization figure
This provides an element-level rather than row-level focus, which I feel is
more appropriate.

One could draw lines to connect each of the elements, but that'd likely be
too noisy and it'd be a lot of work.
2021-05-27 10:59:52 -04:00
Mike Gerwitz 3cf859e72a design/tpl (Matches): Clean up matrix visualization
The previous design was a tad bit too noisy and I think undermined the
whole point of the visualization: to help grok the matching logic.
2021-05-26 14:33:31 -04:00
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 9b0e97d0b9 design/tpl (Matches): Add light clarifying text
This is just some plain English to go along with and help rationalize the
text.  Further rationale will be provided in a dedicated section in the
future; such information is vitally important to understand why the system
evolved as it did.
2021-05-26 11:32:31 -04:00
Mike Gerwitz 972ea13623 design/tpl: {\bullet=>\monoidop}
This abstraction was introduced in the previous commit.
2021-05-26 10:38:36 -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 72b6f95d4e design/tpl (Classification System): \odot=>\Classify-based monoid notation
This reads better, IMO.
2021-05-25 10:50:55 -04:00
Mike Gerwitz 9611dfc3fc design/tpl (Classification System): Correct vertical spacing on match ex
This is hinting that the xmlnl{,l} abstraction may not be working out.
2021-05-24 13:14:16 -04:00
Mike Gerwitz f9fc33944c design/tpl (Classification System): Improve page breaks (miscellaneous) 2021-05-24 12:57:09 -04:00
Mike Gerwitz 7a2f40e455 design/tpl (Classification System): Adjust always/never figure and use spref 2021-05-24 12:56:24 -04:00
Mike Gerwitz 9e8b4d0cb6 design/tpl (Classification System): Match example with all ranks
This does not yet provide the visualization using linear algebra notation;
that'll be coming soon.
2021-05-24 12:56:24 -04:00
Mike Gerwitz 8edef8a8c8 design/tpl (\rank): Add macro 2021-05-20 15:28:10 -04:00
Mike Gerwitz 50a6ccf4ec design/tpl (Classification System): Equation number refinement
Just clean up a little bit using more proper AMS environments.
2021-05-20 15:22:06 -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 aafebbc716 design/tpl: Classification index entries 2021-05-19 10:48:35 -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 dfdf92848a design/tpl (Classification Introduction): Codomain {Real=>Bool}
Whoops.  The values of the params are reals, but predicates are all
booleans, having been first transformed by the yet-to-be-formally-defined
matches.
2021-05-19 09:02:48 -04:00
Mike Gerwitz a488e3549d design/tpl (Classification System): Intro src formatting
Just aligning.  Meant to do this in the previous commit.
2021-05-18 16:15:05 -04:00
Mike Gerwitz bf6cf96169 design/tpl (Classification System): Reduce height for intro vdots
The subscript of the matrix family adds too much vertical space.  This
offsets that to restore it to about what it otherwise would be, since the
second subscript does not get in the way.
2021-05-18 16:14:10 -04:00
Mike Gerwitz 80fd239d95 design/tpl: Letter paper
This is what we'll usually be printing on, after all.
2021-05-18 15:06:35 -04:00
Mike Gerwitz 83e3ade149 design/tpl (Classification System)[Classification Yield]: Allow break after "then"
This was rendering poorly, breaking instead in the middle of "Axiom".
2021-05-18 14:15:52 -04:00
Mike Gerwitz ef231f89fa design/tpl (Classification System): Remove TODO for always/never
This was done in the previous commit.
2021-05-18 14:11:40 -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 dfa37f5b77 design/tpl: Use \{emph=>dfn} for term introductions
This uses \textsl rather than \emph.
2021-05-18 12:16:11 -04:00
Mike Gerwitz 8a2407d66f design/tpl: Emphasize commutativity of monoids in classification system 2021-05-18 12:13:58 -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 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 060a7d0e6c design/tpl: \{log=>l}{and,or}
Don't I feel silly.
2021-05-14 10:34:09 -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 7735ba1f29 design/tpl: Remove \exists from classification definitions
The previously-existing notation for this has been removed.  These will be
updated soon to account for vectors and matrices, but until then, this is
simply nonsense.
2021-05-11 13:28:02 -04:00
Mike Gerwitz d49133e8e9 design/tpl: (Disjunctive Classification): Footnote formatting correction
Missing `,' in the \forall set.
2021-05-11 13:24:20 -04:00
Mike Gerwitz 51c87f9938 design/tpl: Reposition disjunctive classification footnote
The original position made it look to much like d^2.
2021-05-11 13:21:05 -04:00
Mike Gerwitz 5808afc8a2 design/tpl: Universal=>conjunctive, existential=>disjunctive classification 2021-05-11 13:06:06 -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 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