Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Puzzle: tactic that can check Sort subtyping without adding universe constraints?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Puzzle: tactic that can check Sort subtyping without adding universe constraints?


Chronological Thread 
  • From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Puzzle: tactic that can check Sort subtyping without adding universe constraints?
  • Date: Fri, 5 Feb 2021 16:12:53 -0500
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk1-f181.google.com
  • Ironport-phdr: 9a23:nordghP6q6wmPjS6vlQl6mtUPXoX/o7sNwtQ0KIMzox0I/zyrarrMEGX3/hxlliBBdydt6sVzbaI+Py6EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCe5bL9oIxi7rArdu8YIjYB/Nqs/1xzFr2dSde9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLYTQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVRnlgzoFOTEk6mHaksJ+gqJFrhy8pBJwwYDUboaaO/Vica3QZs8aSGhbU8pNTSFNHp2wYo0SBOQBJ+ZYqIz9qkMAoRu8AgmsAuLvyjxWiX/yw6I1zf8sEQ7D3AM6HtIOtG7Yo8nyNKcXX+y+0a7FzTfEb/NQ2Df965bHchQ/rv6SRr9wfs/RxlMuFwPBlFmftYvlPzaM2+kLrmOU4PZuW/i1hG47twF+vCKvxsE0h4XViY8Z103I+Dt5zYs2JtC1R1B2b9CrHZVeuSyXOZV6T80iTmx1pSs0yrMLtYOlcSYE1pkqxBDRZviHfYaI4R/uUvuaLzRghH99Zr6zmxK//VKjx+D8TMW4zkhGojRfntXRtX0BygTf5taGR/dh40us3CuD2gTP5exBLk05lLbXJ4Ikz7M+mZccr0HOETTql0j4kqObc1so9fSm6+TpZ7jmqIGTOJJ6hwz7PakjmtGzDfk+PwMTRWaU4/6826fm/UDhQLVFkPk2kq7BvZDfP8sbp6q5DxZM0oYg9hqzFjmm3MkbkHUaNl5FdxWHj4/mO1HKPv/0F+uwg1OpkDtzxvDGOKPuAonVI3TdjLvseaxx5k1cxQYp09xT+YxYBqscLP/wR0P9rNnYAQU4MwywzebnEtJ91oYGVGKNBa+ZNqLSsVyW6eIrPeaDepQYuDn4K/c/5v7uiWU1lkMafamsxZcXcmy3Hux6I0WFZnrhmssOEWATvgYnUOPqjECCXiVIanapX6M84yk7B5i8AYfCQICtmr2B0z2hEp1YfGAVQmyLRHzvbsCPX+oGIHaZJdYkmTgZX5CgTZUg3Fegrlmp5aBgK7+e+CoetJHu0NV4z+LWnBA2szdzCo7Vh2OKSWB3k2cFShc52al+pQp2zVLVgvswuOBRCdEGv6ABaQw9L5OJl7UrWeC3YRrIe5KycHjjR9ynBT8rSddomo0BZk98H5OpiRWRhnP3UY9QrKSCAdkPyoyZ33X1IJwjmXPP1a1kllp/B8UWZTTgial4+AzeQYXOlhfBzvr4ReEnxCfIsVy74y+WpkgBCVx/VKzEWTYUYU6E9dk=

On Fri, 5 Feb 2021 15:32:49 -0500
"jonikelee AT gmail.com" <jonikelee AT gmail.com> wrote:

> Is it possible for an Ltac or Ltac2 tactic to check if one sort A is
> a subtype of another sort B (an existing i<=j constraint between
> sorts A=Type@{i} and B=Type{j}) without adding any new universe
> constraints?

I think I figured it out - the trick is to use backtracking on success
to undo added constraints:

Ltac issubtype A B := (*assumes A and B are both sorts*)
first [constr_eq_strict A B
|let _:=constr:(B:A) in fail 1 "B is constrained <= A"
|let tA:=type of A in
let _:=constr:(B:tA) in fail 1 "A and B might be siblings"
|assert_succeeds (let _:=constr:(A:B) in idtac)
].




Archive powered by MHonArc 2.6.19+.

Top of Page