Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Why might the reference y not be found in the current environment when it appears in the list of hypotheses?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Why might the reference y not be found in the current environment when it appears in the list of hypotheses?


Chronological Thread 
  • From: Jason Gross <jasongross9 AT gmail.com>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Why might the reference y not be found in the current environment when it appears in the list of hypotheses?
  • Date: Sat, 24 Oct 2015 22:56:37 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jasongross9 AT gmail.com; spf=Pass smtp.mailfrom=jasongross9 AT gmail.com; spf=None smtp.helo=postmaster AT mail-ob0-f176.google.com
  • Ironport-phdr: 9a23:4YrXJB1WJANSqNiysmDT+DRfVm0co7zxezQtwd8ZsegSI/ad9pjvdHbS+e9qxAeQG96LtrQc26GM6/iocFdDyKjCmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TWM5DIfUi/yKRBybrysXNWC0oLvh6voo8WbSj4LrQT+SIs6FA+xowTVu5teqqpZAYF19CH0pGBVcf9d32JiKAHbtR/94sCt4MwrqHwI6Lpyv/JHBK79ZuEzSaFSRGAtNHlw78n2vzHCSxGO7z0SSDNFvABPBl3n5Qr9WN/eqCzhraIp2iCBOsv5V7cvQmWK4KJiSRuugyACYW1quFrLg9B92foI6CmqoAZyltbZ

I have the following goal in Coq 8.4pl6 (after Grab Existential Variables; it is left over because I did an [exact_no_check]):

2 subgoals, subgoal 1 (ID 15945)
 
  Char : Type
  HSL : StringLike Char
  HSLP : StringLikeProperties Char
  ls : list (string * productions Char)
  data : boolean_parser_dataT
  constT : Type
  varT : Type
  strC : str_carrier constT varT
  str : String
  nt : string
  a : nat * nat
  x : forall x : nat * nat,
      prod_relation lt lt x a ->
      nonterminals_listT ->
      varT -> forall x2 : nat, x2 <= fst x -> string -> bool
  y : forall x0 : nat * nat,
      prod_relation lt lt x0 a ->
      nonterminals_listT ->
      varT -> forall x3 : nat, x3 <= fst x0 -> string -> bool
  H : forall_relation
        (fun a' : nat * nat =>
         pointwise_relation (prod_relation lt lt a' a)
           (forall_relation
              (fun _ : nonterminals_listT =>
               forall_relation
                 (fun _ : varT =>
                  forall_relation
                    (fun d : nat =>
                     forall_relation
                       (fun _ : d <= fst a' =>
                        forall_relation (fun _ : string => eq))))))) x y
  a0 : nonterminals_listT
  a1 : varT
  a2 : nat
  a3 : a2 <= fst a
  a4 : string
  b : ~ a2 < fst a
  a5 : (negb (EqNat.beq_nat (snd a) 0) && is_valid_nonterminal a0 a4)%bool =
       true
  ============================
   forall x0 : nat * nat,
   prod_relation lt lt x0 a ->
   nonterminals_listT ->
   varT -> forall x3 : nat, x3 <= fst x0 -> string -> bool

subgoal 2 (ID 15869) is:
 forall x0 : nat * nat,
 prod_relation lt lt x0 a ->
 nonterminals_listT ->
 varT -> forall x3 : nat, x3 <= fst x0 -> string -> bool

(dependent evars: ?15719 using ?15743 , ?15743 using ?15776 ?15775 ?15774 , ?15774 using ?15964 , ?15775 using , ?15776 using ?15809 ?15808 , ?15808 using ?15834 , ?15809 using ?15885 ?15884 , ?15834 using ?15864 , ?15864 using ?15869 , ?15865 using , ?15869 open, ?15884 using ?15910 , ?15885 using , ?15910 using ?15940 , ?15940 using ?15945 , ?15945 open, ?15964 using ?16010 ?16009 ?16008 ?16007 , ?16007 using , ?16008 using ?16064 ?16063 ?16062 , ?16009 using ?16038 ?16036 , ?16010 using , ?16035 using , ?16036 using ?16048 ?16046 , ?16037 using , ?16038 using , ?16045 using , ?16046 using , ?16047 using , ?16048 using , ?16062 using ?16144 ?16143 , ?16063 using , ?16064 using ?16132 ?16130 , ?16129 using , ?16130 using , ?16131 using , ?16132 using , ?16143 using , ?16144 using ,)


I try [exact y], and it fails, telling me that y cannot be found in the current environment.  Yet [y] appears.  I have done C-c C-p to refresh the goal, and nothing changes.  I run the following tactic to list the hypotheses:
    try match goal with
          | [ H : _ |- _ ] => idtac H; fail
        end.
and get the list:
a5
b
a4
a3
a2
a1
a0
x
a
nt
str
strC
varT
constT
data
ls
HSLP
HSL
Char

What might be going on here?

-Jason



Archive powered by MHonArc 2.6.18.

Top of Page