diff options
author | Greg Brown <greg.brown01@ed.ac.uk> | 2022-11-22 16:57:21 +0000 |
---|---|---|
committer | Greg Brown <greg.brown01@ed.ac.uk> | 2022-11-22 16:57:21 +0000 |
commit | b3bec7d483839c44a70fd014244287b8cf662b84 (patch) | |
tree | 62ffc62ff4be1e4a02870aac666dc26fe8975409 | |
parent | a5085b3daed8028bd065d41553c9e8630773926b (diff) |
Define second-order signatures.
-rw-r--r-- | src/Soat/SecondOrder/Signature.idr | 15 |
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 |