coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Arnaud Spiwack <aspiwack AT lix.polytechnique.fr>
- To: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] "Error: refine: proof term contains metas in a product."
- Date: Sun, 16 Feb 2014 08:50:19 +0100
Apparently, refine doesn't like you to leave holes under a forall. There is probably no good solution in your case. Except moving to the development version of Coq: the refine tactic has been completely reimplemented and accepts holes anywhere.
On 16 February 2014 05:06, Anders Lundstedt <anders AT anderslundstedt.se> wrote:
Dear all,
continuing my attempt to define a realizability relation, I get the
error in the subject line when trying to use the refine tactic.
An example is below (pastebin: http://pastebin.com/acR7xAEy). I know I
can avoid the refine tactic by replacing the blank with "(pf b)", but
this is not a very convenient option for the full definition of
realizability.
Parameter A : Type.
Parameter bin_op : A -> A -> A.
Infix "*" := bin_op.
Inductive is_A_atom : Prop -> Prop :=
| eq_false : is_A_atom False
| eq_atom (a b : A) : is_A_atom (a = b).
Inductive is_A_formula : Prop -> Type :=
| atom_formula (P : Prop) : is_A_atom P -> is_A_formula P
| uni_formula (P : A -> Prop) : (forall a : A, is_A_formula (P a)) ->
is_A_formula (forall a, P a).
Definition helper : A -> forall P, is_A_formula P -> Prop.
refine (fix r a P (pf : is_A_formula P) := match pf with
| atom_formula _ _ => P
| uni_formula P pf => forall b : A, r (a*b) (P b) _
end).
Best regards,
Anders Lundstedt
- [Coq-Club] "Error: refine: proof term contains metas in a product.", Anders Lundstedt, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Arnaud Spiwack, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Anders Lundstedt, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Jason Gross, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Anders Lundstedt, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Arnaud Spiwack, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Jason Gross, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Anders Lundstedt, 02/16/2014
- Re: [Coq-Club] "Error: refine: proof term contains metas in a product.", Arnaud Spiwack, 02/16/2014
Archive powered by MHonArc 2.6.18.