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 /src/Soat | |
parent | d35c9f4eea009a5d3edd57c9165e49b8a7a66334 (diff) |
Move indexed setoids and functions out of Soat.
Diffstat (limited to 'src/Soat')
-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/Relation.idr | 46 | ||||
-rw-r--r-- | src/Soat/SecondOrder/Algebra.idr | 3 | ||||
-rw-r--r-- | src/Soat/SecondOrder/Algebra/Lift.idr | 3 |
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 |