Subject: Ssreflect Users Discussion List
List archive
- From: Ian Zimmerman <>
- To: Ssreflect Mailinglist <>
- Subject: [ssreflect] strange error message
- Date: Thu, 19 Sep 2019 17:23:24 -0700
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
- Ironport-phdr: 9a23:0rl09B8Gx2V1PP9uRHKM819IXTAuvvDOBiVQ1KB20u4cTK2v8tzYMVDF4r011RmVBN6dsasP0LCe8/i5HzBZu9DZ6DFKWacPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3wOgVvO+v6BJPZgdip2OCu4Z3TZBhDiCagbb9oIxi6sAvcutMIjYd/Jao8xAXFqWZMd+hK2G9kP12ekwvi6suq4JJv7yFcsO89+sBdVqn3Y742RqFCAjQ8NGA16szrtR3dQgaK+3ARTGYYnAdWDgbc9B31UYv/vSX8tupmxSmVJtb2QqwuWTSj9KhkVhnlgzoaOjEj8WHXjstwjL9HoB+kuhdyzZLYbJ2TOfFjZa7WY88USnRdUcZQTyxBA52zb40TD+oaIO1Uq5Dxq0YSoReiAAWhAuTgxCJVhn/txa01zfguER3I0gwnGtIBqnXUrNPoP6sWXu24yKzEwDPeZP1UxDj98pDFfB4hr/+SQLx+csXexlUyGA3KgFqdspDlMjCP2+gRr2SW9ehtWOSygGAnsQFxpT2vy98vhIbTgIIe11PL9SR8wIYwO9K4Ukt7bsSiEJBNsCyaNpd2Q8I5TmF2pik60L0HtYS/fCgNz5Qn3ADQa/iHcoSS5RLjTumRLC5+iXl4dry/gBOy/lKhyu36TsS01VFKri1CktXWqn8N0BnT586aQfV+5keswSuD2gLd5+1eP0w5larWJ4Q/zrItlpcfq0XOEyvulEj3jqKabFgo9+qn5uj9fLnrqJGRO5Vqhg3jMKkjnNG0D/4iPQgURWeb/Pyx1L398k39R7VHluM2nbfDsJHaP8gboqm5AwhO0ok97xa+Dy2q0NMCnXkINF5FeRSHgJb1O1zWPfz1D/myj06ynDprx/3KJKPtDojNI3TZkbrsea5x60tGxwoyydBf6YhUCrYEIP/rW0/xqN3ZAwQnMwOq2ebmCM9x1ocZWWKIGa+WLqfSsF+S6uIoOemMa5cZuCzhJPg9+/7ukXg5lEcGfamyx5sYdn64HvB4LEqFfXrhmcwBEGcPvgomVuPmklyCUThJZ3azRa0w/D87CJj1RbvEE7u2mrGP2CqwAtVzb2FCC1aDFXbza83QQOwWZSyWL8R9ujkfT/2gTZUg3FevshX7wvxpNLyH1DcfsMfC3d491ezWkBwo8DVyR5Ccz3OlUWxujyUMQDgt0aRu50tnxQHQguBDn/VEGIkLtLtyWQAgOMuZkrUjWoLCHznZd9LMc26IB9CvADU/VNU0mo9cfUtnCpOmiRfY0i67RbgPmO7SXcFmwufnx3H0Yv1F5TPG2a0m1gl0XMZVJCuigalk+gzCQYnTnBfAzvr4ReEnxCfIsVy74y+WpkgBAFxuXL/UG3QYYVDbqcW/4VnNHeej
I'm working on a beginner's project: in the end, I hope to prove,
assuming classical axioms, that the bijections on a type (not
necessarily finite) form a group.
This is how far I got:
From mathcomp Require Import ssreflect ssrfun ssrbool.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Require Import Utf8.
Record group_op (A: Type): Type := Group_op {
op: A → A → A;
e: A;
inv: A → A;
}.
Class group (A: Type) (g: group_op A) := Group {
group_assoc_prop: let: Group_op o _ _ := g in associative o;
group_neutral_l_prop: let: Group_op o e _ := g in left_id e o;
group_neutral_r_prop: let: Group_op o e _ := g in right_id e o;
group_inverse_l_prop: let: Group_op o e i := g in left_inverse e i o;
group_inverse_r_prop: let: Group_op o e i := g in right_inverse e i o;
}.
Section Perm_group.
Variable T: Type.
Let perm_sig := {f: T → T | bijective f}.
Let Φ (fb: perm_sig) : T → T := let: exist f _ := fb in f.
Let perm_group_op fb gb : perm_sig :=
let h := ((Φ fb) \o (Φ gb)) in @exist _ _ h (@bijective T T h).
And here I get this error:
In environment
T : Type
perm_sig := {f : T → T | bijective f} : Type
Φ := λ '(@exist _ _ f _), f : perm_sig → T → T
fb : perm_sig
gb : perm_sig
h := Φ fb \o Φ gb : T → T
The term "exist (λ f : T → T, bijective f) h (bijective h)" has type "{f :
T → T | bijective f}"
while it is expected to have type "perm_sig" (cannot satisfy constraint
"Prop" == "(λ f : T → T, bijective f) h";
cannot unify "Prop" and "bijective h").
"Cannot unify" ?? perm_sig was defined two lines above to _literally_ the
other type it is complaining about. Coq 8.9.
--
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.
- [ssreflect] strange error message, Ian Zimmerman, 09/20/2019
- Re: [ssreflect] strange error message, Laurent Thery, 09/20/2019
- Re: [ssreflect] strange error message, Ian Zimmerman, 09/21/2019
- Re: [ssreflect] strange error message, Ian Zimmerman, 09/25/2019
- Re: [ssreflect] strange error message, Ian Zimmerman, 09/21/2019
- Re: [ssreflect] strange error message, Laurent Thery, 09/20/2019
Archive powered by MHonArc 2.6.18.