Skip to content

Instantly share code, notes, and snippets.

@choukh
Created August 26, 2022 16:07
Show Gist options
  • Save choukh/3bd50ac45eb106df186107b6f44318f3 to your computer and use it in GitHub Desktop.
Save choukh/3bd50ac45eb106df186107b6f44318f3 to your computer and use it in GitHub Desktop.
empty not in empty, but all in all
Require Import Utf8_core Program.Tactics.
Set Universe Polymorphism.
Record Empty := {
empty :> Type;
emptiness : ∀ x : empty, False
}.
Program Definition false : Empty := {|
empty := False
|}.
(* empty not in empty *)
Record Everything := {
thing :> Type;
}.
Program Definition All : Everything := {|
thing := Everything
|}.
(* but all in all *)
Check (All : All).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment