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 8B782E0128 for ; Tue, 30 Aug 2022 17:28:08 +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-qt1-f176.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.160.176; 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.160.176 as permitted sender) identity=mailfrom; client-ip=209.85.160.176; 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-qt1-f176.google.com) identity=helo; client-ip=209.85.160.176; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="aaronngray.lists@gmail.com"; x-sender="postmaster@mail-qt1-f176.google.com"; x-conformance=sidf_compatible IronPort-SDR: I9BHjaVwh8fxJXhsjrZaeQ2oTKfM+R6Th2Q1QMX3I91+TX75LA3+GNaJtZRNGsLrf192nCDjwR uktx6J8FhPp3Ey0harqMy/R9ksqSyI27SHfoklaJYdW15c7MVLXmo/Ggp7uz7JLablLCJPvLsY u69KEnarav5f1nG7Nm7KmFRFJkP0qL2zDAohtEMze/ErY5WH3LhbefA5FmDqIzTAHNw+Cy7BJP TuQuer7l2dNCErPq2VPqG2/G2A8ycHRPxVxmGZGycwryvscMK0aMh5F4kJ68YYhaAIbbwmtWws GtIAGVOsPHER5OWfzZQDOjhw X-IPAS-Result: =?us-ascii?q?A0ARBgA6LA5jf7CgVdFaDghzg3OBAVYvBAtFhE6RDQOef?= =?us-ascii?q?wsBAwENLAsLBAEBP4FUgnQChGQCHQcBBDQTAQIEAQEBAQMCAwEBAQEBAQMBA?= =?us-ascii?q?QUBAQECAQECBAQBEwEBGgcZBw4OBWABYQMBRIFPgXQLAzENgjUpAYNjAQEBA?= =?us-ascii?q?QIBARERHQEbHQEDAQsGBQsDCgICJgICIQEBBQwBBQEcBhMiglyCbAEDDSUDE?= =?us-ascii?q?Js+gQRCijh6gRUFF4EBggkGgUEBgw0KGSgNZwOBWQIHEn8shnUBAhtKUoMWh?= =?us-ascii?q?DQngimBS4FzgQE+giBCAQKBXxWDQYJlBIQWknMBAwcDBAYFDwMDAiEBAgFEH?= =?us-ascii?q?gIJAyMRAwsQCBQXASEGBgEBBAEBAgwCAQQBBQMBBAUDBwIBBQYCCQMDAQgDA?= =?us-ascii?q?QEFAQMEAwMDAgcDAQIMBAgDAwIDBAICAgIBAwIHBQgEAgcCAgIBAgICBAIBA?= =?us-ascii?q?wkBAgMFAgIJCwEEAgIDAQMBAQIIBAkEAgMEAgEBAwIBAgIBBQIOBQEBAQECB?= =?us-ascii?q?QECAwEGBwIIAhwKAQMDAwICBQICAQIDAgIMAQEEAgECAQIGAQMBAgIDAQMBA?= =?us-ascii?q?gIDAgYJAgQBBQMDAgIDAQEFDwUCBAIBAgYFAgEBAQQBAwQEBgICAQMDAg4CB?= =?us-ascii?q?AEEAQIBASMDBAIDAQMXAQIBAgMDAwQGBwUCAQITAQIBAQEFAQIBAQMEBAcJA?= =?us-ascii?q?wICBAMDBQEBAgMCAQEBBwwCAgISAhMDAQYBDgUUAwIEAgIBAgIKAwECAgEDA?= =?us-ascii?q?gkCAQIBBSADAQEPJAEBAgICAgMEBwIBBAYDDQICAQEBBQYNAwIDCAEMAgcDA?= =?us-ascii?q?gEDBQICBAECBAoJAQICAQIEBQcCAQgEBQ0FCQsBAQIBAwcEAxECBQMFBQMDA?= =?us-ascii?q?gEKBQIDAQIBAQMEAQMEBgEBAgMCAgEGAgIBAQMDBAMBAgYCAgcCAwIBBAIDA?= =?us-ascii?q?wEBAQQCAgICAgMDCAMCCAcFAQYBAgEEAwICAQIHAQQBCAIBAwMFAwQBCg8DB?= =?us-ascii?q?QMBAwMCFAoFAQMIBgkCBAUCBQMCBAIDAwICCAMCBAMCCwMCBgQCBwQPBwIDA?= =?us-ascii?q?gIFAgICAgIFBAMBAgICAgICBQIEAgEFAQICAQICAgQBAgIHBAIDAQMEDgQDA?= =?us-ascii?q?gICBQECAgEGAgcDAQIBBAMBAQQCBAECBQIEAQMBAgYCBAMKAgMCAgIGCAMDD?= =?us-ascii?q?AkCAwUCBAEBAgcEAgILAQYCBwICAQIDEAEDAgEEBQUDAwMJAgIDAgQCAgoBA?= =?us-ascii?q?QEBAgIBBQUCBAcPAgICBAICAgEDAgIBAQICBQQJEgEBAgMGBAYFAwIIGAEGA?= =?us-ascii?q?gIBAQICAgMDAgYCAQIIAgQBBAUCAQICAgIEAQMGAgMBAQIBAgIDAwIBBAIEA?= =?us-ascii?q?wMBAgECAgIDAgICAwICARACBgYBAgICAgIDAgIBAgEFAQIBAgQCBwIEAwIBA?= =?us-ascii?q?gIFAgICAwEBBgIECwEDAgcGAQMCBwUCAwECAwQDAwsFDAgBBQEDASEDAgIIA?= =?us-ascii?q?gcCAQUDBQEPAwICAwICAQQKAgMFAgQCAQIBBAkHAgQBAgkDAwYCBwUYAQICB?= =?us-ascii?q?wQMCgICAgUGAgQBAQEBAwECAgECAwQCAwIEBQEFAgECBQQCAgEBAgUCDAECA?= =?us-ascii?q?QcGAgcDAgICAwEEAgECAQMDAgMBAQEDBgYFCQQCAwMGAgICBgICAwISAwYHA?= =?us-ascii?q?gYDAgQBDQ4FBAcIAQIBAQIHAgQCBwkCDk+TcYFBghCBNwEBgREHdpMDri9uB?= =?us-ascii?q?4NVgUWICIFejQOBdIYEMoN2gVCLAJgvHZZqjTmDY5EHL4R+ECMSgUMjgVsfF?= =?us-ascii?q?BojUDGCNglFAQIBAQENAQIBAQMBAgECCQEBApIPalSDVoUFRkMxAjkCBgEKA?= =?us-ascii?q?QEDCYpbAQE?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23:KH98NaCmPPFOPxVW/+Dlw5YqxClBgxIJ4kV8jS/XYbTApGxz0j0Pn DQaXm6GaPzcY2f1c4onPIixox8GvMTQzoRjOVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0nqPp8Zj2tQy2YjiW1vX0 T/Pi5S31GGNi2Yc3l08sPrrRCNH5JwebxtF1rCWTakjUG72zxH5PrpHTU2CByeQrr1vIwKPb 72rIIdVUY/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8A/+v5TCRYSVatYoxSMletUz +UKjKbzcCA1Y6uVwLkjcjANRkmSPYUekFPGCX22sMjW1lGfNnW1nKsoA0YxMokVvO1wBAmi9 9RCcGFLPk3F3rzuhuvkFIGAhex7RCXvFIoWoHZmyz7DBOdgRZHYX77i6tpR3TN2jcdLdRrbT 5BDNWE/Mk2ZC/FJElgsKqogstXvv0vUdmQHoRHPg6Vvs1GGmWSd15C0aIaPEjCQfu1bhkGEu mPL5UzrAxQQLtXZyDyf83vqiPWntSjyXYZXELyj6tZxkViLzyoSDgcXXB21u5GEZlWWXtteL wkN5nNro/FtqgqkSd7yWxD+q3mB1vIBZzZOO8w/4jqozZqT2jzaP08YEzgYMIEYleZjEFTGy WS1t9/uADVutpicRnSc6qqYoFuO1c49fT9qicgsHVtt3jXznG0gpkmQEYs7QcZZmvWwSG6gm WnbxMQrr+xL1ZZj6kmtwbzQb9uRSnXhSwc04kDOQjvg4FomOsiqYIun7VWd5vFFRGp4crVjl Chb8yR9xLpUZX1oqMBraLtVdF1Oz6jdWAAweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva 0K7kVoPusYMbST7NvcsPNjZ5yEWIU7IRYSNuhf8PoomX3SNXFLvENxGPhPOgTi8wCDAb4lmY MbDIK5A8kr2+Yw+lGbsLwvs+bAswS86yAvuqWPTnnyaPU6lTCfNE98taQPQBshgtf/siFiLr r53apXboz0BCrGWSneMquY7cwtaRUXX8Lis9KS7gMbYclQ4cIzgYteNqY4cl3tNxf8My7iVr i/iBie1CjPX3BX6FOlDUVg7AJuHYHq1hStT0fUEMQn61n49T5yo6atDJZI7caN2puNmxP9wC fICfpzYUPhITz3G/RUbbIX8/NQyLkT12VrWMnr3eiU7cr5hWxfNpY3pcw7pwy8EUXi6uM44l Lu/216JWpEEXQljUJ3bZav3nVO8tHQQgsxoWE7MLoUBcUng6tk4JCn4j/txKMYJcE2Ryjyf3 geQIBEZueid+99voIeV3fiJ9t77HfF/E0xWG3jgwYy3bSSKrHC+xYJgUfqTeW+PWW7x/pKkb 7oHwvz5NsoBgw8W4YdxFrBczZU+6cHqkLlUw1k2B37MdVmqVuptL3Taj8lCsqpBmu1QtQesA B7d/9BbPfCQJJqgHgdOekwqaeOM0fxSkT7XtKxnLEL/7S5x3byGTUQCYEXW2XIFdON4YNE/3 OMsmM8K8Ajj2BAkBdCL03JP/GOWI31cDqgq6sMADInwhlZ5w11Oe8aAWCr/4ZXKcskVd0dzf WHSi63FiLBRgEHFdiNrR3TK2ONcg7UIuQxLnABefQXXwoKdi69lxgBV/BQ2Uh9RkkdN3dV1N zU5LEZyP6iPo2plicUrs7pAwO2d6MB1O3AdymflUEXcRkisE3XRdSgzYLnTuk8e9G1Yc35Q+ 7TwJKMJl9r1VJmZ48fwcRcNRz/foRhZ+QjLmcThFMOAd3X/SSSwmbegPALktDO+af7cRyT7S S1C8+N5aKm9PikVy0H+5092ypxIIC25yKd+rT2NMU/H8awwuN1/5NRWF32MRw== IronPort-HdrOrdr: A9a23:qa1cm6lYbRH2/Rimac6mj/d0NlzpDfIZ3DAbv31ZSRFFG/FwWf re5cjzsiWE8wr5OUtQ4exoXZPrfZqyz+8R3WB8B8bBYOCighrKEGgA1+rfKl/baknDH4dmvM 8KT0E9Mr3N5DNB/KHHCWeDYrAdKRq8nJxAR92y856gd25XgmhbgTtENg== X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.93,275,1654552800"; d="scan'208";a="22438611" X-MGA-submission: =?us-ascii?q?MDH0qIEiKxsaBr5fi5ks/CetA70jtg2m4H2VWj?= =?us-ascii?q?DIsXy1gH54GD3wwc/wnPzDubPpB+Vs4NK929LVr9yZCorwcLIBcllddP?= =?us-ascii?q?14grOCK3C04LdSjVxC+/4qlzG6Dvdr7+sO72maUZvIL7I7beOOE9/37o?= =?us-ascii?q?W4b6mn0NidO1SdrTv4H5C+WQ=3D=3D?= Received: from mail-qt1-f176.google.com ([209.85.160.176]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 17:28:08 +0200 Received: by mail-qt1-f176.google.com with SMTP id e28so8797936qts.1; Tue, 30 Aug 2022 08:28:07 -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=rtY/owhopQYLTrpiDfaIXg0UUEQCNSUwJioPyxg0kfs=; b=kGvYcmRuB9f1Gt16470VyH5vqghGJeKf8loHXOUDSV3pegFQutvaHBa29G5RpxW6uc tFIIrXyHkcvw7ERFnkvaD82WLHsVGc+CdIYdffpNYJ1MZqkdpUBJn1aoERad/3AEH+TE 5xv7N/Cz0wX7WKZ5CgSEIEQXr1hMk9ru0CTF4t9sI7NrJ7WuoyVb+ob+QnAwqNAYNSo4 uiwGV55D57vYwOeYx2OIK3lSa2jeew6YekhjNKDnHOLXwlt0J5F4nUJN7RDyDIXcDUQV bN3eP005u12g4Bd8DRE5UkCNmjUhbbpcYzHVLH1M10KgNVdd032cvofthO83smjgDj9o rVPw== 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=rtY/owhopQYLTrpiDfaIXg0UUEQCNSUwJioPyxg0kfs=; b=MN6hDQ1o1/Wpl/yxw11iZ7omPV96aBUrUfft37SANZs9+1elZMlrafj9MysqyeFCLH 2F5MB6fqp3ZPoxA5HKXibuaCxpAhVdTAXqUqO5TvF/cek9VXe2WxLy9K59HNjzGsSkUC Ad3wpKRo1LDZAMFIADuZUyagNv+6PYHOVXfbyo9Wq/E7RrYQ3Oq6mdENgdCnLBISxk0D k+FSPPqPalbh6RWU+LDHS5xMEhjXNEol6bOr0fpMrIuIbLCtCjvx/PACIRRqChnbLwt0 wGsy+gGqROoAurxEo5J6VTB6a2hLu0C6pkE6x4h95DZ7M9CRHLjVUmqvxlh9xEcLPckz XZfg== X-Gm-Message-State: ACgBeo2rup4guNJfHfGdDZG5tUKgn62884oVmGvtHMW0rvaocqPkpPbY 7AGvCGk8jMnwgn/kdgEn9Xpn6l538ANH0kJecYI= X-Google-Smtp-Source: AA6agR5jjHawch6NA8oU82AhkOcM68z1kHmzzhLO+dYmg5ObFQMi1yrEa3ccKlrzsZu9ccnmX1nX3Ik+084nBeSN208= X-Received: by 2002:a05:622a:48:b0:344:625e:6c46 with SMTP id y8-20020a05622a004800b00344625e6c46mr15124896qtw.28.1661873285644; Tue, 30 Aug 2022 08:28:05 -0700 (PDT) MIME-Version: 1.0 References: <25e68e2c-04d2-7764-e189-00812c08a34a@inria.fr> In-Reply-To: From: Aaron Gray Date: Tue, 30 Aug 2022 16:27:48 +0100 Message-ID: To: Nate Foster Cc: =?UTF-8?Q?Fran=C3=A7ois_Pottier?= , OCaML Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] coinductive data types On Tue, 30 Aug 2022 at 14:58, Nate Foster wrote: > > Hi Aaron, > > You might be interested in looking at CoCaml. It was developed by Jean-Ba= ptiste Jeannin as part of his PhD, in collaboration with his advisor Dexter= Kozen and Alexandra Silva. > > https://www.cs.cornell.edu/Projects/CoCaml/ Hi Nate, Great, thanks, I have a lot to look at in this area, a bit of a digression, but am looking at coinductive implementations, so thanks, hopefully I will get round to checking it out. Aaron > On Tue, Aug 30, 2022 at 8:38 AM Aaron Gray w= rote: >> >> 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 coul= d >> > > 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 structur= e >> > encoded in OCaml, I suggest to have a look at "sequences", which can b= e >> > 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/ >> >> >> >> -- >> Aaron Gray >> >> Independent Open Source Software Engineer, Computer Language >> Researcher, Information Theorist, and amateur computer scientist. --=20 Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.