summaryrefslogtreecommitdiff
path: root/src/SOAS/Theory.idr
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2024-02-01 19:25:13 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2024-02-02 13:33:09 +0000
commit4b9b6b0211f6fb5691d67ca77ac09be888e569b7 (patch)
tree33451a63c169a06d0fee67393d0bf081f7e0b1e3 /src/SOAS/Theory.idr
parentfa4de437fa3861189b506538f6ca4a39771ecbbb (diff)
Define generic syntax construction.main
Whilst it works (see `Example`), a generated data type would probably work better.
Diffstat (limited to 'src/SOAS/Theory.idr')
-rw-r--r--src/SOAS/Theory.idr14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/SOAS/Theory.idr b/src/SOAS/Theory.idr
index f36e7a1..43bb024 100644
--- a/src/SOAS/Theory.idr
+++ b/src/SOAS/Theory.idr
@@ -14,22 +14,14 @@ record (.Initial)
(a : type.SortedFamily) where
constructor MkInitial
metalg : signature.MetaAlg meta a
- bang :
+ sem :
(0 b : type.SortedFamily) ->
- (metalg : signature.MetaAlg meta b) ->
+ (metalg : signature.MetaAlg meta b) =>
a -|> b
-public export
-(.sem) :
- signature .Initial meta a ->
- (0 b : type.SortedFamily) -> (metalg : signature.MetaAlg meta b) =>
- a -|> b
-init.sem b = init.bang b metalg
-
%hint
public export
(.pointedCoalgStruct) :
- (functoriality : signature.Map) =>
(str : Strength signature) =>
signature.Initial meta a -> type.PointedCoalgStruct a
init.pointedCoalgStruct = MkPointedCoalgStruct
@@ -41,7 +33,6 @@ init.pointedCoalgStruct = MkPointedCoalgStruct
%hint
public export
(.monStruct) :
- (functoriality : signature.Map) =>
(str : Strength signature) =>
signature.Initial meta a -> type.MonStruct a
init.monStruct = MkSubstMonoidStruct
@@ -52,7 +43,6 @@ init.monStruct = MkSubstMonoidStruct
%hint
public export
(.monoidStruct) :
- (functoriality : signature.Map) =>
(str : Strength signature) =>
signature.Initial meta a -> signature.MonoidStruct a
init.monoidStruct = MkSignatureMonoid { mon = init.monStruct , alg = init.metalg.alg }