Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Proofs about FMapList / add / MapsTo

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Proofs about FMapList / add / MapsTo


Chronological Thread 
  • From: Vincent Siles <vincent.siles AT ens-lyon.org>
  • To: Coq-Club Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Proofs about FMapList / add / MapsTo
  • Date: Mon, 3 Feb 2020 16:13:59 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=vincent.siles AT ens-lyon.org; spf=None smtp.mailfrom=SRS0=GvEe=3X=ens-lyon.org=vincent.siles AT bounce.ens-lyon.org; spf=Pass smtp.helo=postmaster AT sonata.ens-lyon.org
  • Ironport-phdr: 9a23:Y3akhBMAz76mHI8HsKwl6mtUPXoX/o7sNwtQ0KIMzox0I/jzrarrMEGX3/hxlliBBdydt6sYzbaJ+P+5ESxYuNDd6StEKMQNHzY+yuwu1zQ6B8CEDUCpZNXLVAcdWPp4aVl+4nugOlJUEsutL3fbo3m18CJAUk6nbVk9Kev6AJPdgNqq3O6u5ZLTfx9IhD2gar9uMRm6twrcutQZjId4Jas8yBTFr3lVd+9LwW9kOU+fkwzz68ut8pNv6Thct+4k+8VdTaj0YqM0QKBCAj87KW41/srrtRfCTQuL+HQRV3gdnwRLDQbY8hz0R4/9vSTmuOVz3imaJtD2QqsvWTu+9adrSQTnhzkBOjUk7WzYkM1wjKZcoBK8uxxyxpPfbY+JOPZieK7WYMgXTnRdUMlPSyNBA5u8b4oRAOoHIeZYtJT2q18XoRejGQWgGObjxzlVjXH0wKI6yfwsHg7G0gIuHNwArWrao8nuOagITey41rPFwSnfY/5U3zr29YjGcgomofGJRb9/fsvRyU8zGAzbiFWQtZHuMS6U1uQJrWeb9PdrWOWxi24mrQF+viagxsEwioXTnYIVy1TE+jtiwIsuO9K4TlV7bcegEJpQsCGaMZF6QsQ4Q2FnoSs3zKANt5C8fCgP0psnxhjfZuSGc4iO+BLjVfyeLS12hHJ/fr+0mhW88VC4x+HhWcS4zExGoyhHn9XWq3wA1h3e5tKaRvZz/UqtwSiD2xzX5+1eIk05lbDXJ4Mgz7MxjJYevkDOEynrk0vslqCWbF8r+u2w5uTnfLrmopicOpdvigH5NKQhgNC/Dv4iPgcQWWib4v2w1Lnj/E3+RrVGlPo2krPWsJzCJMQboLC2AxNN34o+5BuzEy2q3dYakHUdMV5IeROKg5L0N1zAI/30FfK/jE6tkDdvyfDGJLrhApDVI3bejLnvYKpx5lZdxgotwt5Q+YpZB78AL//rREDxssfYAgY9Mw20xObnDs9x1oQEWWKAGqKZLqLSsVmU6e0xJemMeJUZuC38K/gh+fHulmQ0lkQafam025sYdG63Eu54LEWfenrgm9MBEGcNvgo4VuDqj0eCUTFLa3aoQ608/i07CJ6hDYrbWo+th6WB0D6nEZ1Se2BJEUuBEWzodoWBQ/cDcjieIs5nkjweVLiuUZUt1R+0tFyy970yBe3NvwYcqJir/9xo7aWHnhYrsDdwEs610meXTmgykHleFBEs26Uqn017wVqFzeBDgvhVDpQH+fJPWQo8KdjHzuh3EPj/XBmEesaOThChWNrwUmJ5dc4439JbOxU1IN6llB2WmnPyW+ZExYzOP4Q99+fn51a0Is98z3jc06x71gssRdZJPmDgi6hksgzCAIiPlF+Wxf7zKfYsmRXV/WLG9lKg+VlCWVcsA6jDRjUbd0zQ69Pj6RGaFuL8OfEcKgJEjPW6BO5KZ9nu1wwUX/DlMcjXJW+3gCK0FBGOgLSWY9izdg==

Hi list !

I'm trying to remove some boiler plate I wrote some time ago, and replace it with FMapList.
I'm a bit stuck on a proof (mostly because I'm not used to the module yet), but it looks like something is missing, and you might be able to help me prove it.

I have a module built using FMapList.Map_ord, and I'm trying to prove that we can switch independent usage of add.

forall (state: State.t) (x y: Key.t) (a b: V.t), 
    ~ K.eq x y -> State.eq (add y b (add x a state)) (add x a (add y b state))

I plan to do that using eq_equal (https://coq.inria.fr/library/Coq.FSets.FMapList.html bottom of the page), and I'm down to proving something like:

Raw.PX.MapsTo k v1 (add y b (add x a state)) -> K,eq k x -> v1 = b

I can't find anything to prove that other than doing it from scratch.
Anyone familiar with this that could lend a hand ?

Best,
V.



Archive powered by MHonArc 2.6.18.

Top of Page