diff options
author | Greg Brown <greg.brown01@ed.ac.uk> | 2024-02-01 19:25:13 +0000 |
---|---|---|
committer | Greg Brown <greg.brown01@ed.ac.uk> | 2024-02-02 13:33:09 +0000 |
commit | 4b9b6b0211f6fb5691d67ca77ac09be888e569b7 (patch) | |
tree | 33451a63c169a06d0fee67393d0bf081f7e0b1e3 /src/SOAS/Theory.idr | |
parent | fa4de437fa3861189b506538f6ca4a39771ecbbb (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.idr | 14 |
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 } |