AGDA에 해당이는 다음 연산자의 사용은 세트 사이에 역수를 표시 할 수 있습니다 : 이드리스에 해당하는합니까 이드리스는 AGDA의 ↔
_↔_ : ∀ {f t} → Set f → Set t → Set _
있습니까? 나는 l1
및 l2
임의의 순서로 같은 요소가있을 때 우리가 l1 ~~ l2
을 구성 할 수
data Elem : a -> List a -> Type where
Here : {xs : List a} -> Elem x (x :: xs)
There : {xs : List a} -> Elem x xs -> Elem x (y :: xs)
(~~) : List a -> List a -> Type
xs ~~ ys {a} = Elem a xs <-> Elem a ys
그래서 목록에 가방 평등을 정의하기 위해 노력하고있어.
Agda definition of ↔
은 매우 복잡해 보이며 Idris 표준 라이브러리에 상응하는 것이 있는지 확실하지 않습니다.
infix 7 ~~
data (~~) : Type -> Type -> Type where
MkIso : {A : Type} -> {B : Type} ->
(to : A -> B) -> (from : B -> A) ->
(fromTo : (x : A) -> from (to x) = x) ->
(toFrom : (y : B) -> to (from y) = y) ->
A ~~ B
이
당신은 다음과 같이 사용할 수 있습니다
setoid를 사용할 계획이 없다면 [훨씬 간단한 정의] (https://gist.github.com/vituscze/74a9a440471f4627c6af)를 실제로 사용할 수 있습니다. – Vitus