statebox / efgrant-paper

Ethereum Foundation Grant report

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My review

andrek-sbox opened this issue · comments

Def 2.1

Distinction between gen bool fct and bool fct seems unnecessary. It is the full subcategory of Set that contains all the B^n. Also, just call it cartesian monoidal category.

Def 2.2

  • Not sure what a 'wiring' is supposed to be. I assume this is supposed to be informal?
  • Generally, I don't think we should restrict to NAND an COPY. Instead we should parametrize the definition over a set of primitive gates. This lets us talk about different models with different available gates. We could also define the category of such models, which is the category of all the categories arising in this way together with the canonical ext functor, and morphisms are functors that make the obvious diagram commute. Not sure if there is anything interesting there, but the assignment set of primitive gates -> category of circuits with these gates is probably functorial.

Section 4

First paragraph: the two function types V -> 2^... and E -> 2^... should probably use B instead of 2, for consistency with what's before.
Also, E+V in the log for edges doesn't work. You need 1 + max(E, V) (the bit for indicating which one you want).
'The fact that we can build ... follows from the fact that the function space is finite.' No, these are just boolean functions. They just exist.

  • Thm 4.1 can be restated saying that ext is a full functor.