Skip to Content.
Sympa Menu

ssreflect - Re: [ssreflect] strange error message

Subject: Ssreflect Users Discussion List

List archive

Re: [ssreflect] strange error message


Chronological Thread 
  • From: Ian Zimmerman <>
  • To:
  • Subject: Re: [ssreflect] strange error message
  • Date: Fri, 20 Sep 2019 15:10:23 -0700
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
  • Ironport-phdr: 9a23:EoI0lxZJNYcAJu23GR+9ceT/LSx+4OfEezUN459isYplN5qZr8m5bnLW6fgltlLVR4KTs6sC17ON9fq7EjReqdbZ6TZeKcYKD0dEwewt3CUYSPafDkP6KPO4JwcbJ+9lEGFfwnegLEJOE9z/bVCB6le77DoVBwmtfVEtfre9FYHdldm42P6v8JPPfQpImCC9YbRvJxmqsAndrMYbjZZsJ6or1BfErHREd/hXyGh1IV6fgwvw6t2/8ZJ+7Shcoe4t+9JFXa7nY6k2ULtUASg8PWso/sPrrx7DTQWO5nsYTGoblwdDDhbG4h/nQJr/qzP2ueVh1iaUO832Vq00Vi+576h3Uh/oiTwIOCA//WrKl8F/lqNboBampxxi347ZZZyeOfRicq/Be94RWG1OUNtMVyxaGoOzcZcAD/YPM+ZfqonyvVoOrR2jDgWoC+7izjpEi3nr1qM4zushCxnL0gIgEdwQrXrar9v1O6gOXu+ow6fHzzvMYuhK2Tr+8oXEbgwtrOuOUL92bMHfyVMvFwTAjliIqoLqJTWV3fkOvGia6upgUPygi3Qiqw5rpDik28AhiojVhoMU0V3E6zt2wJw1JNGiTE57ZtmkEIBOuCGeN4p6WMQiQ3tnuCsjzLANpJC1fC8PyJs9xh7fbeSKc42P4hLkU+adOyt3hHVgeL+5mh288lCgx/XhWsS23ltGtDRJn9nMu3wXyRDf98iKRuF880qlwTqC1gLe5vtZLU02mqfXMYAtz7A+m5YJr0jPAy37lUPrh6GMbEok4PKn6+H/b7XmuJCcM4h0hxngMqswgMy+Af40MgwJX2ic4uSzyrnj/E3jTLVNlP02nbHVsJHcJcsFuq60GxJZ34Qt5hqlETur0NQVkWMZIF5YeB+LlYnkNlXWLPD9F/i/glCskDlxx/DBO73sGpTNLmTCkbr6Y7Zy9VRcyQopwdBb4JJUDaoBL+z3Wk7xrtDYCQU5MwOsz+b9FNp9zp8eWX6IAqKBK6PSqkWI6fwhI+mIeoAapCr9JuM+5//uiH85gUUScbOo3ZsRcnC4H+5pL1+XYXr20Z89FjIRpRAzQujng0GqVCVJIne0RaM1oDA9EoOvS4nZFa63h7nU/S69Vq9XY2VLEFWFFz+8dpmWc+kBcjPUJshmiTEARP6mUYB3hkLmjxPz17cydrmcwSYfr5+2iIksur/j0Coq/DkxNPyzlmGAS2YtzjEWSiUnmqR4pldwzkbF1rJ30aUBRI5joshRWwJ/DqbyiulzCtT8QAXEJ4fbVlu8U5OiBjYqQ9YghdgUbBQkQonwvlX4xyOvRoQtufmTHpVtovDC0mLgYcJ6zG3L0LhniEMpEJNC

On 2019-09-20 08:41, Laurent Thery wrote:

> Error messages are often difficult to parse at the beginning (they often
> contain lots of information!), the key part of the error message is
>
> Prop" == "(λ f : T → T, bijective f) h;
> cannot unify "Prop" and "bijective h").
>
> it tells you that the system is expecting a proof of bijective h and
> is given a proof of Prop (ie a witness that Prop is inhabited)
>
> In fact you give :
>
> @exist _ _ h (@bijective T T h)
>
>
> where (@bijective T T h) : Prop
>
> instead you should give
>
> @exist _ _ h H
>
> where H is a proof that h is bijective
>
> hope this helps

Thanks for this, and also for the 2 private replies sent to me by
others. There's a multitude of lessons for me here. First the solution:

Let perm_group_op (fb: perm_sig) (gb: perm_sig) : perm_sig :=
match fb with exist f fp =>
match gb with exist g gp =>
@exist (T → T) _ (f \o g) (bij_comp fp gp)
end
end.

which leads to the most specific lesson: don't "forget" the proof part
of sigmas, it will be needed.

Second, try to remember the difference between "is" as "equals", and
"is" as "belongs to". I guess this goes all the way back to Frege!

And third and most general, of course, don't omit type annotations until
I know what I'm doing, LOL.

Thanks again!

--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.



Archive powered by MHonArc 2.6.18.

Top of Page