튜플을 인수로 갖는 정의를 만들고 싶습니다.정의에서 튜플 사용
definition my_def :: "('a × 'a) ⇒ bool" where
"my_def (a, b) ⟷ a = b"
그러나 이것은 허용되지 않습니다. 오류 메시지가 fun
대신 definition
의 작품을 사용
Bad arguments on lhs: "(a, b)"
The error(s) above occurred in definition:
"my_def (a, b) ≡ a = b"
그러나 이것은 내가 원하는 것이 아니다. 다음 표기는 작동하지만 다소 못생긴 :
definition my_def :: "('a × 'a) ⇒ bool" where
"my_def t ⟷ fst t = snd t"
definition
에 인수로 튜플을 사용하는 가장 좋은 방법은 무엇입니까?
그래서 여기 fun''에 어떤 문제가 있는지? '재미 '와'정의'는 * 파생 된 * 정의 메커니즘에서 동등한 반면,'정의'는 좀 더 미니멀리즘을 가지며 (인수없이 정의 할 수 있습니다). – Makarius
'fun'는 자동으로 그 정의로 확장됩니다. – corny
그래, 그게 기본값의 특정 차이입니다. 'fun' 다음에'my_def.simps [simp del]'을 선언하거나 lsf37에서 제안한 튜플 추상화를 사용하여'definition'을 사용할 수 있습니다. – Makarius