{"action":"created","issue":{"url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/2389","labels_url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/2389/labels{/name}","comments_url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/2389/comments","events_url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/2389/events","html_url":"https://github.com/idris-lang/Idris-dev/issues/2389","id":89914165,"number":2389,"title":"Not type","user":{"login":"identicalsnowflake","id":9684869,"avatar_url":"https://avatars.githubusercontent.com/u/9684869?v=3","gravatar_id":"","url":"https://api.github.com/users/identicalsnowflake","html_url":"https://github.com/identicalsnowflake","followers_url":"https://api.github.com/users/identicalsnowflake/followers","following_url":"https://api.github.com/users/identicalsnowflake/following{/other_user}","gists_url":"https://api.github.com/users/identicalsnowflake/gists{/gist_id}","starred_url":"https://api.github.com/users/identicalsnowflake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/identicalsnowflake/subscriptions","organizations_url":"https://api.github.com/users/identicalsnowflake/orgs","repos_url":"https://api.github.com/users/identicalsnowflake/repos","events_url":"https://api.github.com/users/identicalsnowflake/events{/privacy}","received_events_url":"https://api.github.com/users/identicalsnowflake/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-21T13:51:48Z","updated_at":"2015-06-22T16:18:03Z","closed_at":"2015-06-22T16:18:02Z","body":"There is a built-in `Not : Type -> Type` which matches an equality proof and maps it to Void. Is there any more general version? For example, I have a `LessThan : (a:N) -> (b:N) -> Type` type, and when I say \"not less than\", I have to write `LessThan a b -> Void` instead of `Not (LessThan a b)`, which looks super weird because all of the preceding code dealing with equality says `Not (a = b)` instead of `a = b -> Void`.\r\n\r\nIt's not a big deal, it just... makes my code look weird to write the same thing in multiple ways."},"comment":{"url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/comments/114168996","html_url":"https://github.com/idris-lang/Idris-dev/issues/2389#issuecomment-114168996","issue_url":"https://api.github.com/repos/idris-lang/Idris-dev/issues/2389","id":114168996,"user":{"login":"identicalsnowflake","id":9684869,"avatar_url":"https://avatars.githubusercontent.com/u/9684869?v=3","gravatar_id":"","url":"https://api.github.com/users/identicalsnowflake","html_url":"https://github.com/identicalsnowflake","followers_url":"https://api.github.com/users/identicalsnowflake/followers","following_url":"https://api.github.com/users/identicalsnowflake/following{/other_user}","gists_url":"https://api.github.com/users/identicalsnowflake/gists{/gist_id}","starred_url":"https://api.github.com/users/identicalsnowflake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/identicalsnowflake/subscriptions","organizations_url":"https://api.github.com/users/identicalsnowflake/orgs","repos_url":"https://api.github.com/users/identicalsnowflake/repos","events_url":"https://api.github.com/users/identicalsnowflake/events{/privacy}","received_events_url":"https://api.github.com/users/identicalsnowflake/received_events","type":"User","site_admin":false},"created_at":"2015-06-22T16:18:02Z","updated_at":"2015-06-22T16:18:02Z","body":"> The fact that the error message is \"No such variable p\" makes me think that this has nothing to do with the Not type per se and rather is a problem with implicit argument resolution.\r\n\r\nYeah, it seems that somehow Not is scopeblocking (for lack of a better term) the implicit arguments to a and b.\r\n\r\nThe `Id` thing didn't work, but I'm not worried about it. After sleeping on it, I've come to the conclusion that `X -> Void` is more philosophically in harmony with intuitionism than the English term \"not\" anyway, so I'm happy to leave it as is."}}