Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Equations by WellFounded ad hoc measure

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Equations by WellFounded ad hoc measure


Chronological Thread 
  • From: manoury <pascal.manoury AT lip6.fr>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Equations by WellFounded ad hoc measure
  • Date: Thu, 28 Oct 2021 09:47:03 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=pascal.manoury AT lip6.fr; spf=Pass smtp.mailfrom=pascal.manoury AT lip6.fr; spf=Pass smtp.helo=postmaster AT osiris.lip6.fr
  • Ironport-data: A9a23:qZkrY6t+VPiLO8WkeoaIW+5xNufnVBVfMUV32f8akzHdYEJGY0x3nGoZWDzXOa7fNDDzKt5wbtjn9UJV78KBzdRmQAJvpChEQiMRo6IpJ/zJdxaqZ3v6wu7rFR88sZ1GMrEsFC2FJ5Pljk/F3oPJ8D8sislkepKmULSdY3grFVc9IMscoUsLd9AR0tYAbeeRWFvlVePa+6UzCXf9s9JGGjp8B5Gr9HuDiM/PVAYw5TTSUxzkUGj2zBH5BLpHTU24wuCRroN8RoZWTM6bpF21E/+wwvsjNj+luu6TnkwiRaXTJwmVzH5XQ/bkjAIqSi4ai/1hcqBGNgEJ03PSx7idy/0V3XC0YR8gJabFnKIYWh9fDjtvFalH4OGBL2LXXcm7nxKdKCa0qxlpJBhqbNxHqrkf7Xt13fcfMXUGag2Jr/mnxaqyDOhqnMUqasfxVL7zEFl0lWSDS6syGMWbBf3ev4oAmmxq355aRqOGIZcNNm9GcjLsYzluM3EDUcprxKPwkhETaBVfs1OPpLFx52nLkkp/ytDQ3BPuUoTiba1ocoyw/AoqPlgVAy328PSY0juf82nqgu7Xw2X1Qur+0ZWmo+VyjgT7KnM7UXUruZmT+JFVSXJSn/pbKlRKvCQ0xUT33FL+VcHzBnVUv1bd1iPxmLNs/ykS7ACVlOza+W51w0BsoiFpMLQbiSP9edDmOpJlUT8k6fyDfYB5kU6gy4o=
  • Ironport-hdrordr: A9a23:siM1sKsAotObuiHn5JnvtSuH7skCK4Mji2hC6mlwRA09TyX4rbHJoB1/73LJYVkqKRMdcLy7Scq9qBDnlaKdg7NhWItKNTOO0ADDEGgI1/qH/9SPIVyYysdtkYxhYKB4BtWYNykLsS842maF+hQbrOVvPJrHuc7ui1NkTQRxdrpnqzhwEQaSGUh7XmB9dONJbOvml7B6jgvlX28WYMS9DnxAZe7evNfG0LLeCCR2eiLPITPusRqYrIX3FBCE0gxbaT9V3rs41mDAn2XCl9SemsD+8RPa33Le9NBtgdPk4NNeHsDksLlqFhzczj2lY4x9V6bHhik8pNuk7k0n+eO83CsIDoBJ53TYY22v5SH10w3bzT4y5xbZuCOlvUc=
  • Ironport-phdr: A9a23:9aNGVxAagWVQlpF1iCIOUyQUn0MY04WdBeb1wqQuh78GSKm/5ZOqZBWZua81ygWVBM6CsqkMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+5YHfbx9WiDeyfL9+Iwi6oRjfu8ILnYZsN6E9xwfTrHBVYepW32RoJVySnxb4+Mi9+YNo/jpTtfw86cNOSL32cKskQ7NWCjQmKH0169bwtRbfVwuP52ATXXsQnxFVHgXK9hD6XpP2sivnqupw3TSRMMPqQbwoXzmp8qFmQwLqhigaLT406GHZhdB/gq1UvRyvqRJ/zZDWb4+WM/RzZb/dfcofRWZdXsZdSy5MD4WhZIUPFeoBOuNYopH4p1QUqxu+AhSsBPnvyzRVgXL2xbc10/89Hg7c2AwsBdcOv27SrNXyKacSS+C0wbLMzTXCd/Nb2C3x6IbSch04p/yHQL1/f9bLx0Y1CwPFkkufqZbjPz6N1uoDs3aW4ut9WO6zl2MppQN8rDehyMojioTHiIwYx07a+Sh9zos5O9O1RUx1b9OrDpddtSGXOolqT84+X21lpSA3waAIt568eSgF0pUnxxjHZvycb4iH+A7sVOWWITdmmn1lYry/hxK18Umu0OHzSs600FNMoyFYkdfMrmgA2wHd58SZUPdx4Fmt1DSV2w3S9u1IO045mbbDJ5I8zLM8iIAfvVrdEiL0gkn7j6+bel8l9+Wm7ensf6/oqYWGN4BujwHzKqQuldK7AeQ/KgUOWHOb+eWm1L3i5k31WrFKjvwukqTYqpzaK94bqra4Aw9TzIkj9w6yAyqo3dgGh3ULMkxJdRCdg4XoJ13COv71Aeunj1SpijhrxvTGPrP7ApXKK3jOiK/hcqxm60FA0gUzycpT55dOBbEHJ/LzR1XxtdzDAx89Mgy02+fqBM9z1oMEQW6PGLOWMLvOsV+U4eIiO/WDZIgMuDrkN/cl4+PugmQilF8Gfaip2IMXZ2qiEvRnJUWZe3vsjc0bHWcEpAptBNDt3VaFSHtYY2u4d6M6/DAyToy8XqnZQYX4hbWH2zqhD9UCfmldAVmIV3LhcYKZQeYkbCOKfIlviGpXBvCaV4Y92ET250fBwL19I7+MksX3nZbizIYz6feBzHnaEBRwDtzDlW+XHTkcdoIgQCQ3xqFk50h80gnF37Iq2pRl

Thank you Yves for this pointer. It seems sound. I’ll try it and tell you
about the result.

Pascal.

> Le 27 oct. 2021 à 19:32, Yves Bertot <Yves.Bertot AT inria.fr> a écrit :
>
> I had the same problem last week!
>
> If you proved a statement of the form well_founded it is not sufficient.
> You must add an instance in the class WellFounded.
>
> See https://stackoverflow.com/a/69678500/1809211
>
> You did not give enough information in your question, so I am not sure
> this will be enough for you.
>
> Yves
> ----- Original Message -----
>> From: "manoury" <pascal.manoury AT lip6.fr>
>> To: "coq-club" <coq-club AT inria.fr>
>> Sent: Wednesday, October 27, 2021 5:01:40 PM
>> Subject: [Coq-Club] Equations by WellFounded ad hoc measure
>
>> I defined for binary trees the following measure
>>
>> --
>> Definition bt_mesure {A:Set} (bt:btree A) : (nat * nat) :=
>> match bt with
>> Empty => (0,0)
>> | Node _ bt1 _ => (btree_size bt, btree_size bt1)
>> end.
>> —
>>
>> where tree_size is the usual
>>
>> --
>> Fixpoint btree_size {A:Set} (bt:btree A) : nat :=
>> match bt with
>> Empty => 0
>> | Node x bt1 bt2 => S (btree_size bt1 + btree_size bt2)
>> end.
>> —
>>
>> I proved that lexicographic ordering of pairs of natural (I call it
>> nat_lex_lt)
>> is well founded.
>> Then I try the following:
>>
>> --
>> Equations list_of_btree {A:Set} (bt:btree A) : (list A) by wf (bt_mesure
>> bt)
>> nat_lex_lt :=
>> list_of_btree Empty := nil;
>> list_of_btree (Node x Empty bt) := x::(list_of_btree bt);
>> list_of_btree (Node x1 (Node x2 bt1 bt2) bt3) :=
>> (list_of_btree (Node x1 bt1 (Node x2 bt2 bt3))).
>> —
>>
>> And I get the following:
>>
>> --
>> Error:
>> Unable to satisfy the following constraints:
>>
>> ?w : "WellFounded
>> (Telescopes.tele_measure
>> (Telescopes.ext Set (fun A : Set => Telescopes.tip (btree A)))
>> (nat * nat) (fun (A : Set) (bt : btree A) => bt_mesure bt)
>> nat_lex_lt)"
>> —
>>
>> Any hint ? Thanks !
>>
>> Pascal Manoury.




Archive powered by MHonArc 2.6.19+.

Top of Page