summaryrefslogtreecommitdiff
path: root/src/Soat
diff options
context:
space:
mode:
Diffstat (limited to 'src/Soat')
-rw-r--r--src/Soat/Data/Product.idr4
-rw-r--r--src/Soat/FirstOrder/Algebra.idr7
-rw-r--r--src/Soat/FirstOrder/Term.idr5
-rw-r--r--src/Soat/Relation.idr46
-rw-r--r--src/Soat/SecondOrder/Algebra.idr3
-rw-r--r--src/Soat/SecondOrder/Algebra/Lift.idr3
6 files changed, 11 insertions, 57 deletions
diff --git a/src/Soat/Data/Product.idr b/src/Soat/Data/Product.idr
index 1582d02..f392a2d 100644
--- a/src/Soat/Data/Product.idr
+++ b/src/Soat/Data/Product.idr
@@ -1,8 +1,8 @@
module Soat.Data.Product
-import Control.Relation
import Data.List.Elem
-import Soat.Relation
+import Data.Morphism.Indexed
+import Data.Setoid.Indexed
%default total
diff --git a/src/Soat/FirstOrder/Algebra.idr b/src/Soat/FirstOrder/Algebra.idr
index 4b40cee..6f25f59 100644
--- a/src/Soat/FirstOrder/Algebra.idr
+++ b/src/Soat/FirstOrder/Algebra.idr
@@ -1,10 +1,9 @@
module Soat.FirstOrder.Algebra
-import Control.Relation
-
-import Soat.Data.Product
+import Data.Morphism.Indexed
+import Data.Setoid.Indexed
+import public Soat.Data.Product
import Soat.FirstOrder.Signature
-import Soat.Relation
%default total
%hide Control.Relation.Equivalence
diff --git a/src/Soat/FirstOrder/Term.idr b/src/Soat/FirstOrder/Term.idr
index 2712c88..07ab248 100644
--- a/src/Soat/FirstOrder/Term.idr
+++ b/src/Soat/FirstOrder/Term.idr
@@ -1,14 +1,13 @@
module Soat.FirstOrder.Term
-import Control.Relation
+import Data.Morphism.Indexed
+import Data.Setoid.Indexed
import Soat.Data.Product
import Soat.FirstOrder.Algebra
import Soat.FirstOrder.Signature
-import Soat.Relation
%default total
-%hide Control.Relation.Equivalence
public export
data Term : (0 sig : Signature) -> (0 _ : sig.T -> Type) -> sig.T -> Type where
diff --git a/src/Soat/Relation.idr b/src/Soat/Relation.idr
deleted file mode 100644
index 9826d60..0000000
--- a/src/Soat/Relation.idr
+++ /dev/null
@@ -1,46 +0,0 @@
-module Soat.Relation
-
-import public Data.Setoid
-
-%default total
-
-public export
-IRel : {a : Type} -> (a -> Type) -> Type
-IRel {a = a} x = (i : a) -> x i -> x i -> Type
-
-public export
-IReflexive : {a : Type} -> (x : a -> Type) -> IRel x -> Type
-IReflexive x rel = (i : a) -> Reflexive (x i) (rel i)
-
-public export
-ISymmetric : {a : Type} -> (x : a -> Type) -> IRel x -> Type
-ISymmetric x rel = (i : a) -> Symmetric (x i) (rel i)
-
-public export
-ITransitive : {a : Type} -> (x : a -> Type) -> IRel x -> Type
-ITransitive x rel = (i : a) -> Transitive (x i) (rel i)
-
-public export
-IEquivalence : {a : Type} -> (x : a -> Type) -> IRel x -> Type
-IEquivalence x rel = (i : a) -> Setoid.Equivalence (x i) (rel i)
-
-public export
-record ISetoid (a : Type) where
- constructor MkISetoid
- 0 U : a -> Type
- 0 relation : IRel U
- equivalence : IEquivalence U relation
-
-public export
-isetoid : (a -> Type) -> ISetoid a
-isetoid u = MkISetoid u (\_ => Equal) (\_ => equiv)
-
-public export
-IFunc : {a : Type} -> (x, y : a -> Type) -> Type
-IFunc {a} x y = (i : a) -> x i -> y i
-
-public export
-record IFunction {a : Type} (x, y : ISetoid a) where
- constructor MkIFunction
- func : IFunc x.U y.U
- cong : (i : a) -> {u, v : x.U i} -> x.relation i u v -> y.relation i (func i u) (func i v)
diff --git a/src/Soat/SecondOrder/Algebra.idr b/src/Soat/SecondOrder/Algebra.idr
index 50b65e0..c506c85 100644
--- a/src/Soat/SecondOrder/Algebra.idr
+++ b/src/Soat/SecondOrder/Algebra.idr
@@ -1,10 +1,11 @@
module Soat.SecondOrder.Algebra
+import Data.Morphism.Indexed
+import Data.Setoid.Indexed
import Data.List.Elem
import Soat.Data.Product
import Soat.Data.Sublist
-import Soat.Relation
import Soat.SecondOrder.Signature
public export
diff --git a/src/Soat/SecondOrder/Algebra/Lift.idr b/src/Soat/SecondOrder/Algebra/Lift.idr
index 00d453a..b08eb0e 100644
--- a/src/Soat/SecondOrder/Algebra/Lift.idr
+++ b/src/Soat/SecondOrder/Algebra/Lift.idr
@@ -1,12 +1,13 @@
module Soat.SecondOrder.Algebra.Lift
import Data.List.Elem
+import Data.Morphism.Indexed
+import Data.Setoid.Indexed
import Soat.Data.Product
import Soat.Data.Sublist
import Soat.FirstOrder.Algebra
import Soat.FirstOrder.Term
-import Soat.Relation
import Soat.SecondOrder.Algebra
import Soat.SecondOrder.Signature.Lift