coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Beta Ziliani <beta AT mpi-sws.org>
- To: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] How to get a constr_expr?
- Date: Wed, 13 Apr 2016 15:30:05 -0300
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=beta AT mpi-sws.org; spf=Pass smtp.mailfrom=beta AT mpi-sws.org; spf=None smtp.helo=postmaster AT hera.mpi-klsb.mpg.de
- Ironport-phdr: 9a23:UuKOIhQadol2uzq2+ezIn9tYRtpsv+yvbD5Q0YIujvd0So/mwa64YhON2/xhgRfzUJnB7Loc0qyN4/CmBDdLuM/Y+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq82VPl4D3WPkKZpJbzyI7izp/vEMhoVjLqtjgjDomVBvP9ps+GVzOFiIlAz97MrjtLRq8iBXpu5zv5UYCfayV+0CQLdZFDUrNXwurI2u7EGbDFjH2nxJeWIP2jFMHgKNuBr9R9L6tjbwnut7wiiTe8PsG+MaQzOnuo1mVBaguiYDNjc/8SmDgMFshYpeuBPkvANkhYnOb9fGZ7JFYqrBcIZCFiJ6VcFLWnkEW9vkYg==
Thanks PMP and Matthieu for their inputs. For the record, what I did in the end was to use uconstr
:
TACTIC EXTEND munify_tac
| ["munify" uconstr(c) uconstr(c') ] -> ...
END
and to define the following function to understand the closed_glob_term
coming from uconstr
:
let understand env sigma {Glob_term.closure=closure;term=term} =
let open Pretyping in
let flags = all_no_fail_flags in
let lvar = { empty_lvar with
ltac_constrs = closure.Glob_term.typed;
ltac_uconstrs = closure.Glob_term.untyped;
ltac_idents = closure.Glob_term.idents;
} in
understand_ltac flags env sigma lvar WithoutTypeConstraint term
On Wed, Apr 13, 2016 at 12:48 PM, Beta Ziliani <beta AT mpi-sws.org> wrote:
I think this will work for me. I'm building the tactic to unify two arguments using Unicoq.
Written from mobile. Excuse my limited communication.
On Apr 13, 2016 12:23 PM, "Matthieu Sozeau" <mattam AT mattam.org> wrote:Hi Beta,You should rather use uconstr and explicitely program which one is interpreted first and pass the sigmas around, merging is bad style. Maybe a hint about your example could help us.Cheers,-- MatthieuOn Wed, Apr 13, 2016 at 4:46 PM Beta Ziliani <bziliani AT famaf.unc.edu.ar> wrote:On Wed, Apr 13, 2016 at 11:24 AM, Pierre-Marie Pédrot <pierre-marie.pedrot AT inria.fr> wrote:On 13/04/2016 16:14, Beta Ziliani wrote:
> Mmm... Not quite. I have two open_constrs c and c' with sigmas s and s'.
> It looks like in s there are no evars from c' and viceversa :-(
This does not contradict what I said, quite the contrary. Each of your
evarmaps is an extension of the evarmap from the goal, but they are
incomparable between each other. Thus, a good generator of evar leaks.
You should try to merge them...
Sorry, meaning? I don't see anything like a merge for evars in evd.mli. Should I define my own?PMP
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Pierre-Marie Pédrot, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Pierre-Marie Pédrot, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Matthieu Sozeau, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Matthieu Sozeau, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Pierre-Marie Pédrot, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Beta Ziliani, 04/13/2016
- Re: [Coq-Club] How to get a constr_expr?, Pierre-Marie Pédrot, 04/13/2016
Archive powered by MHonArc 2.6.18.