为什么以下工作:
fun f :: "nat ⇒ bool" where
"f _ = (True ∨ (∀x. x))"
但这失败了
fun g :: "nat ⇒ bool" where
"g _ = (True ∨ (∀a. True))"
和
Additional type variable(s) in specification of "g_graph": 'a
Specification depends on extra type variables: "'a"
The error(s) above occurred in "test.g_sumC_def"
The error(s) above occurred in definition "g_sumC_def":
"g_sumC ≡ λx. THE_default undefined (g_graph TYPE('a) x)"
同样,以下成功,
value "True ∨ (∀x. x)"
但这失败了
value "True ∨ (∀x. True)"
和
Wellsortedness error:
Type 'a not of sort enum
Cannot derive subsort relation {} < enum