Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Why does omega try to instantiate evars (sometimes)

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Why does omega try to instantiate evars (sometimes)


Chronological Thread 
  • From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: [Coq-Club] Why does omega try to instantiate evars (sometimes)
  • Date: Thu, 22 Sep 2016 12:32:36 +0000
  • Accept-language: de-DE, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=michael.soegtrop AT intel.com; spf=Pass smtp.mailfrom=michael.soegtrop AT intel.com; spf=None smtp.helo=postmaster AT mga07.intel.com
  • Ironport-phdr: 9a23:rDfX3RJ8T2rXBoqoQ9mcpTZWNBhigK39O0sv0rFitYgUKvrxwZ3uMQTl6Ol3ixeRBMOAuqgC07ad7/2oGTRZp83e4DZaKN0EfiRGoPtVtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blItdaymUrLV2o680Pn38JnOaS1JgiC8aPV8Nl/++Q7Wr4wdhZZoAqc30BrA5HVSLbd432RtcBiomBvz+t235Nor1iVbu/ss84QIBaD7dKQxQLgeFzMrPHwv49XDtB/fQA/J7XwZBDZF2iFUChTIuUmpFqz6tTH347Jw

Dear Coq Users,

 

I have the issue that omega sometimes tries to instantiate evars and fails. See the following example:

 

Require Import Omega.

Require Import ZArith.

 

Open Scope Z_scope.

 

Example Ex1 : forall x:Z, 0<x -> 0<=x.

  intros  x H.

  evar( result : Z ).

  (* works, does not use hypothesis H *)

  let test := constr:( ltac:(omega) : x=x ) in idtac test.

  (* fails, does use hypothesis H *)

  Fail let test := constr:( ltac:(omega) : 0<=x ) in idtac test.

  (* works *)

  omega.

 

What I don’t understand here is why the direct omega at the end works, but trying to solve an identical intermediate goal fails with:

 

The command has indeed failed with message:

Cannot infer an existential variable of type "Z" in environment:

x : Z

 

Can someone shed some light on this mystery?

 

Does someone have a similar construct (without creating a hypothesis like assert does) that works?

 

Thanks & best regards,

 

Michael

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928




Archive powered by MHonArc 2.6.18.

Top of Page