summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2022-11-22 16:57:21 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2022-11-22 16:57:21 +0000
commitb3bec7d483839c44a70fd014244287b8cf662b84 (patch)
tree62ffc62ff4be1e4a02870aac666dc26fe8975409 /src
parenta5085b3daed8028bd065d41553c9e8630773926b (diff)
Define second-order signatures.
Diffstat (limited to 'src')
-rw-r--r--src/Soat/SecondOrder/Signature.idr15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Soat/SecondOrder/Signature.idr b/src/Soat/SecondOrder/Signature.idr
new file mode 100644
index 0000000..d3e9f05
--- /dev/null
+++ b/src/Soat/SecondOrder/Signature.idr
@@ -0,0 +1,15 @@
+module Soat.SecondOrder.Signature
+
+%default total
+
+public export
+record Signature where
+ constructor MkSignature
+ T : Type
+ 0 O : T -> List (Pair (List T) T) -> Type
+
+public export
+record Op (0 sig : Signature) (0 t : sig.T) where
+ constructor MkOp
+ {arity : List (Pair (List sig.T) sig.T)}
+ op : sig.O t arity