summaryrefslogtreecommitdiff
path: root/src/SOAS/Structure.idr
diff options
context:
space:
mode:
Diffstat (limited to 'src/SOAS/Structure.idr')
-rw-r--r--src/SOAS/Structure.idr14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/SOAS/Structure.idr b/src/SOAS/Structure.idr
index 5f9e1c9..8c5bb5d 100644
--- a/src/SOAS/Structure.idr
+++ b/src/SOAS/Structure.idr
@@ -34,14 +34,20 @@ record (.MonStruct) (type : Type) (m : type.SortedFamily) where
mult : m -|> (m ^ m)
export
+(.wkn) :
+ (0 m : type.SortedFamily) -> (mon : type.PointedCoalgStruct m) =>
+ m sy ctx -> m sy (ctx :< (n :- ty))
+m.wkn t = mon.ren t (weakl {length = S Z})
+
+export
(.sub) :
- (mon : type.MonStruct m) ->
+ (0 m : type.SortedFamily) -> (mon : type.MonStruct m) =>
m sy (ctx :< (n :- ty)) -> m ty ctx -> m sy ctx
-mon.sub t s = mon.mult t (m.extend s mon.var)
+m.sub t s = mon.mult t (m.extend s mon.var)
export
(.sub2) :
- (mon : type.MonStruct m) ->
+ (0 m : type.SortedFamily) -> (mon : type.MonStruct m) =>
m sy (ctx :< (x :- ty1) :< (x :- ty2)) ->
m ty1 ctx -> m ty2 ctx -> m sy ctx
-mon.sub2 t s1 s2 = mon.mult t (m.extend s2 (m.extend s1 mon.var))
+m.sub2 t s1 s2 = mon.mult t (m.extend s2 (m.extend s1 mon.var))