Skip to content

Instantly share code, notes, and snippets.

@jad-hamza
Created April 6, 2018 07:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jad-hamza/ff6b07794856cfdd04e1fe94d4673688 to your computer and use it in GitHub Desktop.
Save jad-hamza/ff6b07794856cfdd04e1fe94d4673688 to your computer and use it in GitHub Desktop.
Require Import Coq.Program.Program.
Require Import Coq.Lists.List.
Axiom ignore_termination: nat.
Program Fixpoint id (l: list nat) { measure ignore_termination } :=
match l with
| nil => nil
| x :: xs => x :: id xs
end.
Admit Obligations.
Parameter x: nat.
Parameter l: list nat.
Parameter r: list nat.
(* false goal *)
Goal id (x :: l) = r.
unfold id.
simpl. (* does nothing *)
cbn. (* creates a huge term *)
fold id. (* does nothing *)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment