9
나는 술어 논리의 수식을 나타내는 표준 데이터 형식을 사용합니다. 분리에 대한 자연 공제 제거 규칙을 나타내는 기능과 같습니다함수가 "없음"대신 "솔루션 없음"을 반환합니다
d_el p q =
if p =: (Dis r s) && q =: (Neg r) then Just s else
if q =: (Dis r s) && p =: (Neg r) then Just s else
Nothing where r,s free
x =: y = (x =:= y) == success
대신에 통일이 실패하면 Nothing으로 평가, 기능이 PACKS
에 어떤 솔루션을 반환 :
logic> d_el (Dis Bot Top) (Not Bot)
Result: Just Top
More Solutions? [Y(es)/n(o)/a(ll)] n
logic> d_el (Dis Bot Top) (Not Top)
No more solutions.
, 통합 실패시 el
은 Nothing
으로 평가되지 않는 이유는 무엇입니까?
내가 사용 언어는 카레, 기능 로직 프로그래밍 langauge (태그 참조). – danportin
아 - 미안해. 무지는 꽤 embarassing 일 수있다 .... – Carsten
아마 "카레"는 다른 언어 (하스켈처럼)에서 의미가있는 용어이기 때문에 어쩌면 당신은 [ 'curry' 태그의 Stack Overflow wiki 페이지에 내용을 추가하십시오.] (http://stackoverflow.com/edit-tag-wiki/45806). – MatrixFrog