저는 coq에 처음 접했고 지금까지 손으로 증명할 수있는 것들만 증명할 수있었습니다. 그래서 셀렉션 모나드를 만나서 그것을 haskell에서 구현하기로 결정했을 때, 좋은 운동이 될 것이라고 생각했지만 붙어있었습니다. 누군가가 coq에서 선택 모나드가 응용 프로그램이자 모나드라는 증거를 보여줄 수 있습니까? 다음은 functor의 haskell 구현입니다.Coq는 선택 모나드가 응용 프로그램과 모나드임을 증명합니다.
또한 모나드 법을 입증 할 수 있다면 감사드립니다.
편집 :
Definition sel (R A : Type) := (A -> R) -> A.
Theorem functor_exists : forall (R A B : Type),
(A -> B) -> sel R A -> sel R B.
intros R A B. unfold sel. intros AB ARA BR.
apply AB. apply ARA. intro. apply BR. apply AB. exact X.
Qed.
, 난 ([ "튜토리얼"이 정의에서와 표제어를 다시 구현 https://pdp7.org/blog/2011/01/the-maybe-monad-in- coq /) 그리고 다른 (더 흥미로운) 모나드로 전환했다. – ichistmeinname
나는 그것들을했지만 나는 그 이상으로 많은 것을 할 수 없다. 나는이 제품이 노련한 제품에 비해 매우 간단하다고 생각했기 때문에 게시 한 이유가 잘못되었을 수도 있습니다. – fakedrake
그렇다면 Coq 코드를 제공 할 수 있다고 생각합니다. 따라서 코드가 붙어있는 특정 사례를 볼 수 있습니까? – ichistmeinname