diff options
author | Greg Brown <greg.brown01@ed.ac.uk> | 2022-11-29 14:36:13 +0000 |
---|---|---|
committer | Greg Brown <greg.brown01@ed.ac.uk> | 2022-11-29 14:36:13 +0000 |
commit | b21e69503571272a5f35cf84c731994f3e921a3a (patch) | |
tree | 79f04a283d8873317b0c91bebbcd283a66edbc93 | |
parent | d35c9f4eea009a5d3edd57c9165e49b8a7a66334 (diff) |
Move indexed setoids and functions out of Soat.
-rw-r--r-- | soat.ipkg | 5 | ||||
-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 |
8 files changed, 28 insertions, 24 deletions
@@ -2,13 +2,14 @@ package soat authors = "Greg Brown" sourcedir = "src" -modules = Data.Setoid +modules = Data.Morphism.Indexed + , Data.Setoid + , Data.Setoid.Indexed , Soat.Data.Product , Soat.Data.Sublist , Soat.FirstOrder.Algebra , Soat.FirstOrder.Signature , Soat.FirstOrder.Term - , Soat.Relation , Soat.SecondOrder.Algebra , Soat.SecondOrder.Algebra.Lift , Soat.SecondOrder.Signature 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 |