From Petri nets and flow-charts to UML
https://modeling-languages.com/wp-content/uploads/2014/04/historyModelingLanguages.jpg
https://modeling-languages.com/history-modeling-languages-one-picture-j-p-tolvanen/
Steve Brown, a directed graph is a DAG (directed acyclic graph) exactly when there are no cycles in it. I guess that that game disallows traversing any edge more than once, and that would imply it's still in some sense acyclic. But to represent that…
I have simply been cheating, Fredrick Eisele. The fact that natural transformations and composition give a category implies that any square you can come up with has to commute. Or, put another way, eithet at least one of the transformations you gave…
Fredrick Eisele asked:
When composing natural transformations do they always commute?
Yes, associativity means exactly that composition of natural transformations always commutes!
Nice graphs, btw!
Above, I had the curious idea to post about natural transformations for a database type which had no relations. Incidentally, in most SQL database engines, you have to explicitly represent relations using numbers (you'd better use numbers). So inste…
Database editing is made of natural transformations! Let's have a schema \( \mathcal{C} \)
\[ \mathcal{C}: Record \rightarrow Integer \]
for a very simple database type. Lets make instances over Set so we can have each integer exactly once in it. …
I'd be glad to partake in a discussion about John's (and Michael Shulman's) essay "Lectures on n-categories and cohomology". I picked it up when John first mentioned it in a lecture here, and I can't let go since!
On a different note, I'm still pu…
Someone has just tried to mention you in the "History of Databases" thread:
https://forum.azimuthproject.org/discussion/2227/history-of-databases
I'm bugging you here, because mentions are broken with everybody having spaces in their names. It's m…
Well, stored procedures have some limitations. For example, one cannot use variables as universally as one might like, altough they may have lifted some of these restrictions for MySQL since last time I checked. They also cannot parametrize variatio…
I'm with you, Jim! I really like MySQL's innoDB storage engine. The performance is nice, and the stability is totally worth the smaller featureset when compared to Postfix'. I never actually understood why anyone would want to have more stuff on the…
Thanks for adding interesting stuff about Datalog, Matthew! And you found out the year of SQL's release! Nice! So they got there within about a year!
I can't help it, I have to say that, its achievements aside, I find SQL quite an awful looking lan…
Thank you very much, Owen, for making crystal clear that the functor I is simply a more complete way to specify the whole dataset Gr(I), as it also includes how the data relates to our schema C.
I've learned something, and I'll mention the Grothend…
What John calls databases are actually constant lookup structures, whereas real-life databases are all about modifying such structures efficiently!
When you enter data, you have to check this equation!
In this discussion, entering data means c…
Splendid find, Jesus, thank you! I'm afraid I never went deep enough into the woods to physically meet a construction named after Grothendieck! But now that you've invoked the master, it can't be long until we get the summoned help...
Page 51 may b…
John Baez mused that my formula might be right after all! But it turns out that it can hardly be correct. As Christopher Upshaw noticed, the whole Ansatz is pretty weird. Maybe even weird enough to warrant further inspection for its own sake... Neve…
Simon Willerton said:
Firstly, you can't apply WorksIn to r.
Right, that's why I used lowercase letters! I have to admit it's a bit subtile, so here's it explicitly:
\[ worksIn = F(WorksIn) \]
or
\[ WorksIn = G(worksIn) \]
Just as is the cas…
Some thoughts about Puzzle 109: Suppose we had an employee record like this:
let r = new Employee in
Then we can apply our two functions and get a string:
departmentName(worksIn(r)) = "engineering"
What I find somewhat natural is to turn the fun…
John replied:
Who would have guessed!
Thanks! Guessing is fun, especially in groups! But shush now, or other people might think I'm worse than lazy.
Let's work a bit, as a distraction from work. Matrix multiplication works like this:
\[ c_{i…
Who would have guessed: glancing at a problem and putting down one's first hunch unchecked tends to give wrong answers :-D
Your suggestion indeed looks highly elegant: write down the adjacency matrix, take it to the n'th power, and then, as Christo…
Hey yes, my formula is wrong! Thanks! Let me translate your labeling of the Fibonacci graph to a loop signature.
\(f \rightarrow a_1=1\)
\(h°g \rightarrow a_2=2\)
I had proposed to count paths like this example with length 4:
\(2\cdot a_1+1\cdot…
Thanks, Keith, I figured that one out while you were typing. But I forgot how to create a standalone formula... No need to answer that one, I'll simply have a look at your comment's source as soon as I'm back in front of my laptop. Thanks again, to …
John asked:
Which sequences of natural numbers arise by counting the number of paths of length n from the chosen node in a pointed graph to itself?
I'll consider a simpler graph: one that has distinct loops of lengths \(a_1, ... a_k\). Then th…
The identity morphism is a path of length zero! For some reason I never tried to see it that way. Since all composites exist (say, because it's easy to check – proving that two paths commute is the hard part) I always thought of all links (conflatin…
Thanks for all the nice links, Keith! I'm sorry, yes I'm really that slow. I intend to share sketches from my nucleosynthesis -> fairy tale project as soon as I make some.
A 'retroactive datastructure' would be capable of answering what-if questions. It means that changes to the past should propagate to the future, somehow.
Puzzle rf2: What does that even mean? What's the most general setting that makes sense? Can yo…
The lectures by Eric Demaine are to fill 1½ hour slots, and in the first he looks at implementations for partial, full, and confluent persistence. That is, recordig past versions of a data set using a linear history, a branching history, and branchi…