From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 3803EE0128 for ; Tue, 30 Aug 2022 14:38:03 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=aaronngray.lists@gmail.com; spf=Pass smtp.mailfrom=aaronngray.lists@gmail.com; spf=None smtp.helo=postmaster@mail-qk1-f178.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of aaronngray.lists@gmail.com) identity=pra; client-ip=209.85.222.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="aaronngray.lists@gmail.com"; x-sender="aaronngray.lists@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of aaronngray.lists@gmail.com designates 209.85.222.178 as permitted sender) identity=mailfrom; client-ip=209.85.222.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="aaronngray.lists@gmail.com"; x-sender="aaronngray.lists@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk1-f178.google.com) identity=helo; client-ip=209.85.222.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="aaronngray.lists@gmail.com"; x-sender="postmaster@mail-qk1-f178.google.com"; x-conformance=sidf_compatible IronPort-SDR: aA2lZEvoFlfP3cKHndLuRD0EOT9AKfhZyT5JMcDXO4MfrWx4jaLcvtpCWiEV1Du1wRuBkicisG R5pNrbkDdY4EJVi9OTAkVOQvVv0X4mqpF4euX5lYiAkUenFkihJrsl/z2xBzhPzbbptCSotCQk 9PlgBK0hsysN4KqReMPK+mTGaofLlE3KBVutOiFIIkNjHBdKVPfx1d/RiJnSYHq/XQtWs7+pWS QGY+Moc3VNHz1FXIlPh+fp7rqLLHUNb6mKBn00oS8aHSpJtcgtginlMfOetGZzTibnosUmrpe5 AuNE8lqtn/kzhCHFUGhJwOaJ X-IPAS-Result: =?us-ascii?q?A0CBCQAHBA5jf7LeVdFaFgcBATwBBQUBAgEJARWBKgEkA?= =?us-ascii?q?oE6AgFlM05WLwQLRYROkQ0DjD2SQgsBAwENEgEBHw8EAQE/gVSCdAKEZAIdB?= =?us-ascii?q?wEEMwYOAQIEAQEBAQMCAwEBAQEBAQMBAQUBAQECAQECBAQBEwEBGAkZBw4OB?= =?us-ascii?q?WABYQMBRIFPgXQLAzENgjUpAYNkAQEBAxIRHQEbHQEDDAYFCw0CAiYCAiIBE?= =?us-ascii?q?QEFARwGEyKCXIJsAQMyAxCbN4EEQosygRUFF4EBggkGhE8KGSgNZwOBWQIHE?= =?us-ascii?q?n8qAwEBhnMCG0pSh0ongimBS4J0PoJiAQKBdINBgmUElwgBAwcDBAYFDwMDA?= =?us-ascii?q?iEBAgFEHgIJAyMRAwsQCBQXASEGBgEBBAEBAgwCAQQBBQMBBAUDBwIBBQYCC?= =?us-ascii?q?QMDAQgDAQEFAQMEAwMDAgcDAQIMBAgDAwIDBAICAgIBAwIHBQgEAgcCAgIBA?= =?us-ascii?q?gICBAIBAwkBAgMFAgIJCwEEAgIDAQMBAQIIBAkEAgMEAgEBAwIBAgIBBQIOB?= =?us-ascii?q?QEBAQECBQECAwEGBwIIAhwKAQMDAwICBQICAQIDAgIMAQEEAgECAQIGAQMBA?= =?us-ascii?q?gIDAQMBAgIDAgYJAgQBBQMDAgIDAQEFDwUCBAIBAgYFAgEBAQQBAwQEBgICA?= =?us-ascii?q?QMDAg4CBAEEAQIBASMDBAIDAQMXAQIBAgMDAwQGBwUCAQITAQIBAQEFAQIBA?= =?us-ascii?q?QMEBAcJAwICBAMDBQEBAgMCAQEBBwwCAgISAhMDAQYBDgUUAwIEAgIBAgIKA?= =?us-ascii?q?wECAgEDAgkCAQIBBSADAQEPJAEBAgICAgMEBwIBBAYDDQICAQEBBQYNAwIDC?= =?us-ascii?q?AEMAgcDAgEDBQICBAECBAoJAQICAQIEBQcCAQgEBQ0FCQsBAQIBAwcEAxECB?= =?us-ascii?q?QMFBQMDAgEKBQIDAQIBAQMEAQMEBgEBAgMCAgEGAgIBAQMDBAMBAgYCAgcCA?= =?us-ascii?q?wIBBAIDAwEBAQQCAgICAgMDCAMCCAcFAQYBAgEEAwICAQIHAQQBCAIBAwMFA?= =?us-ascii?q?wQBCg8DBQMBAwMCFAoFAQMIBgkCBAUCBQMCBAIDAwICCAMCBAMCCwMCBgQCB?= =?us-ascii?q?wQPBwIDAgIFAgICAgIFBAMBAgICAgICBQIEAgEFAQICAQICAgQBAgIHBAIDA?= =?us-ascii?q?QMEDgQDAgICBQECAgEGAgcDAQIBBAMBAQQCBAECBQIEAQMBAgYCBAMKAgMCA?= =?us-ascii?q?gIGCAMDDAkCAwUCBAEBAgcEAgILAQYCBwICAQIDEAEDAgEEBQUDAwMJAgIDA?= =?us-ascii?q?gQCAgoBAQEBAgIBBQUCBAcPAgICBAICAgEDAgIBAQICBQQJEgEBAgMGBAYFA?= =?us-ascii?q?wIIGAEGAgIBAQICAgMDAgYCAQIIAgQBBAUCAQICAgIEAQMGAgMBAQIBAgIDA?= =?us-ascii?q?wIBBAIEAwMBAgECAgIDAgICAwICARACBgYBAgICAgIDAgIBAgEFAQIBAgQCB?= =?us-ascii?q?wIEAwIBAgIFAgICAwEBBgIECwEDAgcGAQMCBwUCAwECAwQDAwsFDAgBBQEDA?= =?us-ascii?q?SEDAgIIAgcCAQUDBQEPAwICAwICAQQKAgMFAgQCAQIBBAkHAgQBAgkDAwYCB?= =?us-ascii?q?wUYAQICBwQMCgICAgUGAgQBAQEBAwECAgECAwQCAwIEBQEFAgECBQQCAgEBA?= =?us-ascii?q?gUCDAECAQcGAgcDAgICAwEEAgECAQMDAgMBAQEDBgYFCQQCAwMGAgICBgICA?= =?us-ascii?q?wISAwYHAgYDAgQBDQ4FBAcIAQIBAQIHAgQCBwkCXJNwgUGCEIE3AQGBEQd2k?= =?us-ascii?q?wOvHQeDVYFFiAiBXpR7MoN2gVCLAJgvHZZqjTmUai+EfhAjEoFCJIFbHxQaI?= =?us-ascii?q?1AxgjYJRQECAQEBDQECAQEDAQIBAgkBAQKSD4E+g1aFS0MxAjkCBgEKAQEDC?= =?us-ascii?q?YpbAQE?= IronPort-PHdr: A9a23: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 0NjMzjASvRaiL4yLQiDbSfTvJJOHbhXSqgWOHct IronPort-Data: A9a23:qGJVJajU/ock16dYx0IJvGV7X161qRYKZh0ujC45NGQN5FlHY01je htvCjiEP6yOZWryethyao239EtTvpWHydNnHAE/qSlhQX5jpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UKieUsxIbVcMpB0J0HqPoMZkxN8z6TSFK1nV4 4mq85aHYAbNNwNcawr41YrT8HuDg9yp4Fv0jnRmDRyclAK2e9E9VfrzFInpR5fKatE88t2SG 44v+IqEElbxpH/BPD8KfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1hUp/0120c95NJ Nplk66KVR8AY/f2luE2VjhlTjx1JPFs5+qSSZS/mZT7I0zudnLtx7B3DxhzM9RHqqB4BmZB8 fFeIzcIBvyBr7jukfTrF6823J5ldZa7VG8ckikIITXxBP88RpbFTL/D9Jlc3SwsnehBGP/fY 4wSbj8HgBHoOUcTYwdJVsxWcOGAqyj2WDkDkVSui6cZslHX4T1ayJjxL4+AEjCNbZwNwhzwS nj912rhBQ0GNdGF4SiE93i2j6nOmzn6UcQcDtWQ/fdvhBiXx3cPIAYHUEOy5/i/kE+3HdxFQ 3H44QIrpKk2sVWoF5zzBkLo5nGDuREYVpxbFOhSBByxJrT8xTSjGnAtE2R7ZtkNse4LGCEhz wOjgIa8bdBwi4G9RXWY/7aSiDq9PykJMGMPDRPoqyNVs7EPR6lj3nryosZf/L2d1YKqRGmhq 9yehG1v2OVJ1J9jO7CTpAif21qRSo71ohnZDzg7s0qg5wJ9IZemPsmmsAeLq/lHK4mdQx+Ku 31sdymiAAImXc7leM+lGr1l8FSVCxCtbWy0bblHQcFJythV0yT/Fb28GRknTKuTDu4KeCXyf GjYsh5L6ZlYMROCNPEpOt3gVJVxlfO/T7wJs8w4iPIeMvCdkyfXrElTibK4gggBbWB3zP9hY cbLGSpSJS9DWPw2pNZJewvt+eZzmnpWKZL7Spf8wBCquYdyl1bEIYrpxGCmN7hjhIvd+Fu92 48Ga6OilksCOMWjPXG/2dBJcTgicyNgbbio8Jw/SwJ2ClA5cI3XI6SBn+1Jlk0Mt/g9q9okC VnnARYFlwev2yKbQehIA1g6AI7SsV9EhSpTFUQR0ZyAghDPuK6js/UScYUZZ74i+LAxxPJ4V ahXdMCJA/AJQTPComxPYZ74pY1kVRKqmQPeZ3r/MGZjJ8ZtF17T59vpXgrz7y1RXCe6sM0Jp bf/hA7WRJw0QRtvUZTNY/W1wlLt5nUQwbogX0bBLtRJVl/r9Yxmd374gvMtcpMDLBzCwn2R0 APPWUUUouzEookU9tjVhPDc/935TbcmRkcDRjvV97e7MyXe71GP+44YXbbaZy3ZWUP15L6mO rdYwvT6B/sNwwRHvo96JLB0lP5s6tbqoYha+QRqBnD8aVqmV+F7KX6c0MgT76BAy+MLuQayX U7TqNBWNa/TZJHgGV8VYRMmN6GNjK5E3DbV6vsxLQPx4youpOiLVkBbPh+tji1BLesqbNl0n 7954MNGuRaijhcKM8qdinwG/Wq7KHFdAb4ssYsXAdO2hwd3mEtOZ4fQVn3/7J2VMYkeN0ArJ nqNh/OHie0DlgzNdH08EXWL1u1Y3MxctBdPxV4EBlKIhtuV2aNtjUMJqWw6HlZP0xFK8+NvI Ww3ZUd7EqODomVzj89ZUmHwRgxMCXV1IKAqJ4flSYEYc6WpaoAJBGg0OOLI5UNAtmwFIWgd8 7afx2LoFz3teakdG8f0tVFN85TeoR5Zr2UuW/xL2+yKGpA7ZXzuharGia8gtU78Gc1o7KHYj bACwQuzAJEX8QYfpqQ6D8+R0rF4pNVo4oBdaakJwZ7l1l0wtN1/NfZi5qxxlg5wyyT2zHKF IronPort-HdrOrdr: A9a23:JbhYlqurenWQgMgZoqGYZtcA7skDQ9V00zEX/kB9WHVpmwKj5r mTdZMgpGTJYVcqKQkdcLW7UpVoLkmskKKdjbNhX4tKGTOW21dAT7sC0WKB+UyFJ8SWzIc0vp uIMZIfNDSaNykcsS+V2njfLz/i+rW6GWKT6Ns2A00DceiiUc9d0zs= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.93,274,1654552800"; d="scan'208";a="22418666" X-MGA-submission: =?us-ascii?q?MDHl4nPrfzarHysu03h+C/3Hgsnk7ZicCFSFUH?= =?us-ascii?q?CtLZ2Hl/WwygwhygAqObAXMqHVZ6X20m7Qcqzjmg0SQa8QIOoLQMLB83?= =?us-ascii?q?SkEGooPZH/bUKzJHmbaQJMN2Jchv/HlXukjLGztPBan/54wpjEyAm6WO?= =?us-ascii?q?uJJ3IZ+CzYNxjInSE6bkNwQg=3D=3D?= Received: from mail-qk1-f178.google.com ([209.85.222.178]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 14:38:02 +0200 Received: by mail-qk1-f178.google.com with SMTP id g21so8242160qka.5; Tue, 30 Aug 2022 05:38:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc; bh=9cvdOnezQLdpe3MYzXNEW5OfFEZUDkhN6sVMoozLPYk=; b=eZs+CvrMmnV/qsAPU32d2gzP4TMRLM8t2dioeEfuckWuU52RZrR0yenazxrazrlLeY skB6zkbZzUcE5T9t5A9kJ3rDxF/Eu1rtZ4HUWPdfe3orgAISq8LnPod5AvbtZ9S2x1Ox RCFC0AwLyc1C1/KRfrKo7RzwYMrLHhOF2Z6sf18t8jf35vjoPl84hvcbAbEJyKlegXHO CKjk/bkgAjjtAybHSw+2+2Fr6/nyZ+nM+dZJvDJelOu2JikbPWEKb+3jZMkrEMGeHTV3 QxoDqhtY79Wglyvshd08ByLPeuUVBAV8s0iSz/Hbwcv/visS50woG6GP6OY81/BsuLhx 6sSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc; bh=9cvdOnezQLdpe3MYzXNEW5OfFEZUDkhN6sVMoozLPYk=; b=geoWMz876WoLSQXJiD+4SyKtYqj0boZ8ME4Pnkh5apKW8f6+M4V5N6cRtTgGzWqT/b 1HGeR32x/hJH+bYrlZhpEb2m4BFANAkgMhX/98m1TvjniQNf+CWSUBzDOeyCRhJT694p RpmUEeTIwZGamWsbQLMKjy+8F8BqEhMUw/VjAxwhRGJ8V0IQOwIwGflwOi8w6M8/KdBN /bNxGd0Pyl3WUgQC0oLSXfz2UPCaqo5LT5PTjj91q69g98yIXiLbg/+Y1JMx8HECRQv1 n3PMvPljL+5TXpnAa7MQrK3VaVxqaG4UJF3vsAjB/4gqd4PGQADbuL+cx5cEwOKtH0Po Sj+w== X-Gm-Message-State: ACgBeo1sbFz7BFVZ4B70M+TFagz9gkpEcGre4COKrGz3W9Pxr3vk3EkN Hj9cf0OSADc6UqJdnnLtMOGL/mBITO411rMbKceYql+eyOc= X-Google-Smtp-Source: AA6agR5vm/bmM8OlkkITtnT609tOiBRJra74wLjzq6ffxfk5CUucLyXKNmRsg44JKHx4BOVPmOo5d9q6oNnFTP9s8G0= X-Received: by 2002:a05:620a:22d3:b0:6be:87e1:ebe with SMTP id o19-20020a05620a22d300b006be87e10ebemr6265035qki.763.1661863079644; Tue, 30 Aug 2022 05:37:59 -0700 (PDT) MIME-Version: 1.0 References: <25e68e2c-04d2-7764-e189-00812c08a34a@inria.fr> In-Reply-To: <25e68e2c-04d2-7764-e189-00812c08a34a@inria.fr> From: Aaron Gray Date: Tue, 30 Aug 2022 13:37:42 +0100 Message-ID: To: =?UTF-8?Q?Fran=C3=A7ois_Pottier?= Cc: OCaML Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] coinductive data types Hello Fran=C3=A7ois, Thanks for putting me straight on that. My original path of inquiry which I should have actually stated was regarding how to go about implementing subtyping of mutually recursive algebraic data types. I am looking on how to go about this and using coinduction and bisimulation seemed like the best fit or correct way to go about this. Does OCaML use/handle subtyping of mutually recursive algebraic data types ? And if so, is its implementation easily accessible ? Sorry I got you and Xavier muddled up somehow ! Regards, Aaron On Tue, 30 Aug 2022 at 08:24, Fran=C3=A7ois Pottier wrote: > > > Hello, > > Le 29/08/2022 =C3=A0 17:43, Aaron Gray a =C3=A9crit : > > Does either ML or OCaML have coinductive data types ? And if so could > > you please point me at the/some appropriate documentation on them. > > ML and OCaml have algebraic data types, which are recursive (that is, > more general than inductive and co-inductive types). Algebraic data > type definitions are not subject to a positivity restriction, and > algebraic data types can be constructed and deconstructed by recursive > functions, which are not subject to a termination check. > > If you want to see a typical example of a "co-inductive" data structure > encoded in OCaml, I suggest to have a look at "sequences", which can be > described as potentially infinite lists: > > https://v2.ocaml.org/api/Seq.html > > -- > Fran=C3=A7ois Pottier > francois.pottier@inria.fr > http://cambium.inria.fr/~fpottier/ --=20 Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.