coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Why are my terms not reducing?
- Date: Thu, 25 Jan 2024 17:27:45 +0000
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mukeshtiwari.iiitm AT gmail.com; spf=Pass smtp.mailfrom=mukeshtiwari.iiitm AT gmail.com; spf=None smtp.helo=postmaster AT mail-yb1-f170.google.com
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:oVxJX6FVU9bVCvj+pLqE/ceALOsnbusQ8zAXPo5KKCC9E/byqy nAppomPHPP5Ar5HUtOpTn/Asm9qALnn6KdiLN5VYtKHjOW21dAR7sO0WKN+UyDJ8SHzJ856Z td
- Ironport-phdr: A9a23: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 Rk5jgY4auMopm+E3g==
- Ironport-sdr: 65b29a26_qHbV4iWjsznPWkNRFZ5nfEqAZMIvo04gry2rYr/PNR3VY38 4w1o1o2z4NtWj/edFqpl3iOvzjluBC9ZLkEeBlQ==
Hi everyone,
I rewrote my previous code using proof by reflection [1]. In the past, I used to get a bunch of theorems when I tried *Print Opaque Dependencies decode_aux.* but after rewriting it [2] I am nothing, except *Section Variables A : Type*. Moreover,
I can compute with this function for the values that in the past used to stuck [3], but I can still not proof the theorem [4]:
Lemma decode_aux1_union_l (r1 r2 : Regex) (bc : list bool) : decode_aux1 (r1 ∪ r2) (false :: bc) = match decode_aux1 r1 bc with | Some (t, bc') => Some (parse_union_l t, bc') | None => None end.
Any idea how to get around this?
Best,
Mukesh
On Wed, Jan 24, 2024 at 4:34 PM Agnishom Chattopadhyay <agnishom AT cmi.ac.in> wrote:
Thanks for the suggestion, Samuel.Indeed, in the case of Epsilon, this seems to work.However, it seems that now my proofs depend on _which_ proof of accessibility I use. For example,Definition decode_aux1 (e : Regex) (btc : list bool) : option (parse_tree * list bool) :=decode_aux (e, btc) (rbc_lt_wf (e, btc)).Lemma decode_aux_union_l (e1 e2 : Regex) (bc : list bool) (t : parse_tree) (bc' : list bool) :(forall acc, decode_aux (e1, bc) acc = Some (t, bc')) ->decode_aux1 (Union e1 e2) (false :: bc) = Some (parse_union_l t, bc').Proof.unfold decode_aux1.intros.simpl. (* the term explodes in size *)rewrite H. reflexivity.Qed.Now, this works but it is not very helpful because the hypothesis here requires something that is universal in the accessibility proof.On Mon, Jan 22, 2024 at 3:50 PM Samuel Gruetter <gruetter AT mit.edu> wrote:Hi Agnishom,
The problem you encounter at the end of Method1.v is that Fixpoints only reduce if the argument marked as structurally decreasing is a constructor. So your problem could be "minimized" as follows:
Fixpoint my_add(n m: nat) {struct n}: nat :=match m with| O => n| S m' =>match n with| O => m| S n' => S (S (my_add n' m'))endend.
Goal forall x, my_add x 0 = x.intros. Fail reflexivity. simpl. (* doesn't simplify *)Abort.
In your Method1.v, you could work around the problem by replacing the arbitrary acc you pass to decode_aux with a transparently-defined (rbc_lt_wf _), which you already do in decode_aux1, and proving the lemma for this one works as expected:
Lemma decode_aux1_eps (bc : list bool) :decode_aux1 Epsilon bc = Some (parse_epsilon, bc).Proof.unfold decode_aux1. simpl. reflexivity.Qed.
Best,
Sam
-----Original Message-----From: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>Reply-To: coq-club AT inria.frSubject: [Coq-Club] Why are my terms not reducing?Date: 01/17/2024 05:40:33 PM
Hi Coq-club;
I recently came across the proof pearl titled "Well-founded recursion done right" by Xavier Leroy, and considered applying it to a proof I previously tried to attempt.
I wish to define the function described in this Haskell program, and I have tried three different approaches.
Approach 1(Method1.v) : This uses the mentioned proof-pearl. In this case, the _expression_ refuses to reduce.Approach 2(Method2.v): Uses the refine tactic and this technique (from Pit-Claudel) to get rid of opaque proofs. Much of this code is thanks to Mukesh Tiwari. However, even in this case, the _expression_ refuses to reduce.Approach 3(GitHub Issue): Uses the Equations package. This crashes coqtop.
Any ideas on why these refuse to reduce? In Page 2 of the proof-pearl, the author says "Now, the hole [...] is any proof of [...],and it can be opaque.". So, I assume that the error is not due to me providing opaque proofs.
--Agnishom
- [Coq-Club] Why are my terms not reducing?, Agnishom Chattopadhyay, 01/17/2024
- Re: [Coq-Club] Why are my terms not reducing?, Dominique Larchey-Wendling, 01/18/2024
- Re: [Coq-Club] Why are my terms not reducing?, Samuel Gruetter, 01/22/2024
- Re: [Coq-Club] Why are my terms not reducing?, Agnishom Chattopadhyay, 01/24/2024
- Re: [Coq-Club] Why are my terms not reducing?, mukesh tiwari, 01/25/2024
- Re: [Coq-Club] Why are my terms not reducing?, Agnishom Chattopadhyay, 01/24/2024
Archive powered by MHonArc 2.6.19+.