Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Substitution of sub-tree occurrence in a tree

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Substitution of sub-tree occurrence in a tree


Chronological Thread 
  • From: Ian Shillito <Ian.Shillito AT anu.edu.au>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Substitution of sub-tree occurrence in a tree
  • Date: Fri, 24 Sep 2021 07:58:21 +0000
  • Accept-language: en-AU, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=anu.edu.au; dmarc=pass action=none header.from=anu.edu.au; dkim=pass header.d=anu.edu.au; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=60OqXOr3ooCDc53K7EjX03B6MaNj801hIxsnsS+WPkQ=; b=jSEEUPy3X70s+TsbUtipNcPh1CsHc4ULcehfAAnKEQEyoWV+4tOzaOuizwkC8nnuYNgE7eqshmV3ARSsyaZ431y/YDDz0T06stxSmjBkJjtIRHTrCGvU6qh841+SnTJ3PFmx+UNtk8/3IlhznGPKs46PoAo1N00QMbZSP6/u8aVPWPsw7WjS9icPfsKKaHVI3s8949SjzVITc46VkyGICKmKJkTgFjV5HK3G7fkoQ/fb8pX4wl/VX0I+v4aNmLrgdQhI2Eg/YGHXBifEdmR037jaJmmcWYuaw/ci7CHJMlHZE4/pDc/77wVh6QsQT6foRSPoXxwrKSWevOsxIvkCcA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BXIOCgTKKCQd6V8nr0Qai5i3UNYmptxJOPJIukFvrifDW3zbvm2JwFLlQt9SXdhPjiMbVS2zP2J7vhSP5wuOD3VNBYZkQKYgTqrt6iHgakJGhPLD8cVwT4bA/p0dt7YFiP3kEP1dP+7G8YvTcBwJPAtGLHSZvMpRcx6ZU1Dg8MEV+q5ZQ3grn5cTvNz0CCkx4X+eQ5cnDLukAU+trSShQSOYxmuErrEUmLqnVVE3IDM3WrjC20W6bea2vQ4/e8wvQ9OOdjw8rmI+T1gy3a0ut2hIppDuFsvtlcWHRwwJQ4LEJejIqVCkDCOl7FAmZwDU1RQAl5fwk5lXZmLB29b+Yg==
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=Ian.Shillito AT anu.edu.au; spf=Pass smtp.mailfrom=Ian.Shillito AT anu.edu.au; spf=Pass smtp.helo=postmaster AT AUS01-ME3-obe.outbound.protection.outlook.com
  • Ironport-hdrordr: A9a23:VpRNgqMFSLw3FMBcT4n255DYdb4zR+YMi2TDiHoddfUFSKalfp6V98jzjSWE8Ar5K0tQ4uxoWZPwDU80kKQY3WB/B8bHYOCLggqVxcRZnPLfKl7bamLDH4xmpMBdmsFFYbWeY2SSz/yKhjVQeOxQo+VvhZrY4Ns2uE0dLz2CBZsB0y5JTiKgVmFmTghPApQ0ULCG4NBcmjamcXMLKuymG3gsRYH41pz2vaOjRSRDKw8s6QGIgz/twqX9CQKk0hAXVC4K6as+8FLCjxfy6syYwrGGI17npizuBqZt6Z7cI+h4dYixYw8uW3LRYzOTFcZcsnu5zXYISa+UmQ8XeZL30m0d1oxImg7slyeO0FXQMkDboUkTwmX/x1GVm2burPrwWS8zActEiYVFRAHU8VAhutZL0K8j5RPki7NHSRnanC76/bHzJmNXv1vxrnw4neEJiXtDFYMYdb9KtIQauFhYCZEaAUvBmcga+cRVfbfhDcxtABqnhrHizxpS6c3pWm52EgaNQ0AEtMDQ2z9KnGphx09dwMAEhH8P+J80VpEBvo3/Q+5VvaALStVTYbN2Be8HT8fyAmvRQQjUOGbXJVj8DqkIN3/Etpay6rQo4+OhfoAO0fIJ6d/8eUIdsXR3d1PlCMWI0pEO+hfRQH+lVTCo0c1a74gRgMyKeFMqC1z2dLkKqbrsnxwyOLyrZx+DAuMiPxa4FxqRJW9g5XyPZ6Vv
  • Ironport-phdr: A9a23:uGMeDxDKDjkGe0OVj+oGUyQUPEQY04WdBeb1wqQuh78GSKm/5ZOqZBWZua81yg6QFtiEo9t/yMPu+5j6XmIB5ZvT+FsjS7drEyE/tMMNggY7C9SEA0CoZNTjbig9AdgQHAQ9pyLzPkdaAtvxaEPPqXOu8zESBg//NQ1oLejpB4Lelcu62/6u95HJZwhEmTWxbLNwIR6rsQjfq84ajJd4JK0s0BXJuHxIe+pXxWNsO12emgv369mz8pB+7Sleouot+MFcX6r0eaQ4VqFYAy89M28p/s3rtALMQhWJ63ABT2gZiBtIAwzC7BHnQpf8tzbxu+Rh1CWGO8D9ULY5Uimg4ah2Uh/lkCcJOSAk/mHLhMJ+j6xbrxC9qBNw2IPbep2ZOOZkc6/BYd8XR2xMVdtRWSxbBYO8apMCAekbMuZesoLzulsOrRq6BQmoBePv1jhIjWLx0KM5yeshFxvK0hEgH9IPtHTUqNT1NLsVUe2u1qbIyyjDY+lI1jjg9YjEaAouoeyVUL92bMHexlUhGRnfgVWMtYzqISmV1uIVvmWF7uduWv6ihm8npgxyoDWj28Yhh4vGiI8RxF7J+jh0zZo0KNClVkN2f96qHpVQuS2EN4V7TccvT390tSg1xbMLv4OwciYNyJQi3RHfavqHfpCH4hLiSOaRISp4i2l/dL2jgBay9FCsyurhVsmo1FZKqS1FktrWun8R0BzT786KQeZ+8Ee5wTuC2Bzf5vtZLUwol6fXMYMtzqIzm5YJrEjPAiH7lF3ogKKXakkp9O2l5/n7brr6p5KRMpJ4hh37P6gzmsGwHOE1Pw0TU2WV/+m3yaft8lfjQLpQi/07iqnZv47eJcQcvqO0HwFa3Js/5xqiFjuo19sWkHceIFJCYx2IkZLlO1bTIPDkFvi/hEmskDF2yPzcJr3hGJLNLmTdn7j9YbZ96klcyAwpwdBY+pJUFrUBIPX0Wk/yrtDXEhg5Mwmsz+bmDtVyyJ8eVHqAD6OFKq/erEOE6+A1L+WReIMYuyzxJ+U56/PglXM5nEUSfait3ZsZcnC4GfFmLl2ab3X2hNcNC3oEvgo/TOzujF2CUCJTZ3GpUq0m4DE7FZiqApneSYCwmrCOxjq7EoVMZm9aElCMDWvod4KcVvgQbyKSO9ZtnSAAVbi8UIAszgqutQ//y7p/NOXY4CwYtZT51Nh0/eLfjx8y9SYnR/iahiuGSHgxlWcVTRc32rp+qApz0B3LhaN/mrlTEcFZz/JPSAYzc5DGmb9UEdf3DyPIeJ+ySFeiRtS6Bnllb9s3heQOYkJ5GsmlphnFwmynD6JTnqHdV898yb7Vw3Wkf5U18H3BzqR01zHOreNGM3Dgi6JisQHOVdehe6CxnqC3M6kQwWjE6TXbpYJvlGhla1YpFIDoBjUYbEaQqsnl7ETfSbPoEa4gLgZK1c+FLO1Nd8HtilJFAvzkPYaHC18=
  • Suggested_attachment_session_id: 67ee80d6-af80-3b5c-1aa7-04ae8cac8bd7

Thanks for the reference Qinshi. I'll have a look. 🙂

Best,
Ian

From: coq-club-request AT inria.fr <coq-club-request AT inria.fr> on behalf of Qinshi Wang <qinshiw AT cs.princeton.edu>
Sent: Friday, 24 September 2021 3:20 PM
To: coq-club AT inria.fr <coq-club AT inria.fr>
Subject: Re: [Coq-Club] Substitution of sub-tree occurrence in a tree
 
This is not as complete as a library, but you might find it helpful. People in my lab experimented with trees with a hole. You can find a definition and some auxiliary functions in the following link. Also, there could be useful lemmas in other files in that folder.

Thanks,
Qinshi

On Thu, Sep 23, 2021 at 10:35 PM Ian Shillito <Ian.Shillito AT anu.edu.au> wrote:
Hi Jason, 

I considered defining an auxiliary type encapsulating the notion of "tree with a hole", but did not know this had a given name. I will investigate in this direction then. Thanks! 

Best,
Ian

From: coq-club-request AT inria.fr <coq-club-request AT inria.fr> on behalf of Jason Hu <fdhzs2010 AT hotmail.com>
Sent: Friday, 24 September 2021 12:22 PM
To: coq-club AT inria.fr <coq-club AT inria.fr>
Subject: RE: [Coq-Club] Substitution of sub-tree occurrence in a tree
 

Hi Ian,

 

My intuition is to use zipper instead of a library. If this is not a simplified example, proving a few lemmas about zipper shouldn’t be too bad.

 

Thanks,

Jason Hu

 

From: Ian Shillito
Sent: Thursday, September 23, 2021 7:59 PM
To: coq-club AT inria.fr
Subject: [Coq-Club] Substitution of sub-tree occurrence in a tree

 

Hi all, 

 

Is there some library out there which conveniently deals with substitution of sub-tree occurrences in binary trees? I could not find anything of the sort.

 

Here's the definition of binary trees of natural numbers I have in mind:

Inductive binary_tree : Type :=

 | Leaf : nat -> binary_tree

 | Node : binary_tree -> binary_tree -> binary_tree

.

Intuitively, I would like to be able to talk about T(T') where T(_) is a "binary tree with a hole", T' is a binary tree, and T(T') is consequently a binary tree. Expressing this would allow me to substitute the occurrence of T' under focus in T(T') for another binary tree T'' to get T(T''). Any convenient way to do this?

 

Thanks in advance! 

 

Best,

Ian

 




Archive powered by MHonArc 2.6.19+.

Top of Page