diff options
Diffstat (limited to 'src/Soat/FirstOrder/Algebra.idr')
-rw-r--r-- | src/Soat/FirstOrder/Algebra.idr | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Soat/FirstOrder/Algebra.idr b/src/Soat/FirstOrder/Algebra.idr index 97b6adc..982e54e 100644 --- a/src/Soat/FirstOrder/Algebra.idr +++ b/src/Soat/FirstOrder/Algebra.idr @@ -55,6 +55,11 @@ public export (.rawSetoid) a = MkRawSetoidAlgebra a.raw a.relation public export +(.semFunc) : (a : Algebra sig) -> {t : sig.T} -> (op : Op sig t) + -> index (Product a.setoid) op.arity ~> index a.setoid t +a .semFunc op = MkSetoidHomomorphism (a.raw.sem op) (\_, _ => a.algebra.semCong op) + +public export record (~>) {0 sig : Signature} (a, b : Algebra sig) where constructor MkHomomorphism |