diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Data/Morphism/Indexed.idr | 13 | ||||
-rw-r--r-- | src/Data/Setoid/Indexed.idr (renamed from src/Soat/Relation.idr) | 12 | ||||
-rw-r--r-- | src/Soat/Data/Product.idr | 4 | ||||
-rw-r--r-- | src/Soat/FirstOrder/Algebra.idr | 7 | ||||
-rw-r--r-- | src/Soat/FirstOrder/Term.idr | 5 | ||||
-rw-r--r-- | src/Soat/SecondOrder/Algebra.idr | 3 | ||||
-rw-r--r-- | src/Soat/SecondOrder/Algebra/Lift.idr | 3 |
7 files changed, 25 insertions, 22 deletions
diff --git a/src/Data/Morphism/Indexed.idr b/src/Data/Morphism/Indexed.idr new file mode 100644 index 0000000..c271c90 --- /dev/null +++ b/src/Data/Morphism/Indexed.idr @@ -0,0 +1,13 @@ +module Data.Morphism.Indexed + +import Data.Setoid.Indexed + +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/Relation.idr b/src/Data/Setoid/Indexed.idr index 9826d60..df5606d 100644 --- a/src/Soat/Relation.idr +++ b/src/Data/Setoid/Indexed.idr @@ -1,4 +1,4 @@ -module Soat.Relation +module Data.Setoid.Indexed import public Data.Setoid @@ -34,13 +34,3 @@ record ISetoid (a : Type) where 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/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/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 |