#import "paper.typ"

#import paper: definition

#let abstract = [
  Ahoy
]

#show: doc => paper.template(
  title: "Graphical Foundations for Cryptography",
  author: (name: "<NAME>", email: "<EMAIL>"),
  abstract: abstract,
  doc,
)

= Introduction
= Category Theory and String Diagrams

The Fibonacci sequence is defined through the recurrence relation $F_n := F_(n - 1) + F_(n - 2)$.

$
F_n = round(1 / sqrt(5) phi.alt^n), quad phi.alt = (1 + sqrt(5)) / 2
$

== Categories

#paper.definition[
  Consider the worst thing ever.
]

#paper.lemma[
  Consider the worst thing ever.
]
#paper.proof[
  Blah blah blah.
]

== Monoidal Categories
== Frobenius Structures

Foo bar.

=== Comonoid Structures
=== Monoid Structures
=== Extra Special Frobenius Structure

= A Concrete Model

#include "model.typ"

= Some Basic Cryptography
= Further Work
= Conclusion
