<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-02696246v2</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-25T12:25:19+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Abstraction and Genericity in Why3</title>
            <author role="aut">
              <persName>
                <forename type="first">Jean-Christophe</forename>
                <surname>Filliâtre</surname>
              </persName>
              <email type="md5">32bb1d89823f4dc93307bbb2a0f9ade9</email>
              <email type="domain">lri.fr</email>
              <idno type="idhal" notation="string">jean-christophe-filliatre</idno>
              <idno type="idhal" notation="numeric">15939</idno>
              <idno type="halauthorid" notation="string">20556-15939</idno>
              <idno type="IDREF">https://www.idref.fr/15500395X</idno>
              <idno type="ORCID">https://orcid.org/0000-0003-2359-975X</idno>
              <orgName ref="#struct-441569"/>
              <affiliation ref="#struct-1050016"/>
              <affiliation ref="#struct-1065710"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Andrei</forename>
                <surname>Paskevich</surname>
              </persName>
              <email type="md5">d9496b996f5a180d818f551de5d534d1</email>
              <email type="domain">lri.fr</email>
              <idno type="idhal" notation="string">tertium</idno>
              <idno type="idhal" notation="numeric">1687</idno>
              <idno type="halauthorid" notation="string">17480-1687</idno>
              <idno type="IDREF">https://www.idref.fr/204772567</idno>
              <orgName ref="#struct-92966"/>
              <affiliation ref="#struct-1050016"/>
              <affiliation ref="#struct-1065710"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Jean-Christophe</forename>
                <surname>Filliâtre</surname>
              </persName>
              <email type="md5">bcf11dd98a6e3c5b96559e58f661f9fa</email>
              <email type="domain">cnrs.fr</email>
            </editor>
            <funder ref="#projanr-45631"/>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2020-06-01 09:38:15</date>
            </edition>
            <edition n="v2" type="current">
              <date type="whenSubmitted">2021-07-05 15:10:53</date>
              <date type="whenModified">2025-10-24 16:38:02</date>
              <date type="whenReleased">2021-07-05 17:14:03</date>
              <date type="whenProduced">2021-10-17</date>
              <date type="whenEndEmbargoed">2021-07-05</date>
              <ref type="file" target="https://inria.hal.science/hal-02696246v2/document">
                <date notBefore="2021-07-05"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://inria.hal.science/hal-02696246v2/file/main.pdf" id="file-3278373-2881301">
                <date notBefore="2021-07-05"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="156100">
                <persName>
                  <forename>Jean-Christophe</forename>
                  <surname>Filliâtre</surname>
                </persName>
                <email type="md5">bcf11dd98a6e3c5b96559e58f661f9fa</email>
                <email type="domain">cnrs.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-02696246</idno>
            <idno type="halUri">https://inria.hal.science/hal-02696246</idno>
            <idno type="halBibtex">filliatre:hal-02696246</idno>
            <idno type="halRefHtml">&lt;i&gt;ISoLA 2021 - 9th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation&lt;/i&gt;, Oct 2021, Rhodes, Greece. &lt;a target="_blank" href="https://dx.doi.org/10.1007/978-3-030-61362-4_7"&gt;&amp;#x27E8;10.1007/978-3-030-61362-4_7&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">ISoLA 2021 - 9th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation, Oct 2021, Rhodes, Greece. &amp;#x27E8;10.1007/978-3-030-61362-4_7&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-3278373-2881301"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="ENS-CACHAN">Ecole Normale Supérieure de Cachan</idno>
            <idno type="stamp" n="INRIA-SACLAY" corresp="INRIA">INRIA Saclay - Ile de France</idno>
            <idno type="stamp" n="INRIA_TEST">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="UMR8623">Laboratoire de Recherche en Informatique</idno>
            <idno type="stamp" n="CENTRALESUPELEC">Ecole CentraleSupélec</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="UNIV-PARIS-SACLAY">Université Paris-Saclay</idno>
            <idno type="stamp" n="TEST-HALCNRS">Collection test HAL CNRS</idno>
            <idno type="stamp" n="UNIVERSITE-PARIS-SACLAY" corresp="UNIV-PARIS-SACLAY">Université Paris-Saclay</idno>
            <idno type="stamp" n="ANR">ANR</idno>
            <idno type="stamp" n="ENS-PARIS-SACLAY">Ecole Normale Supérieure paris-Saclay</idno>
            <idno type="stamp" n="ENS-PSACLAY">Ecole Normale Supérieure Paris-Saclay</idno>
            <idno type="stamp" n="GS-COMPUTER-SCIENCE">Graduate School Computer Science</idno>
            <idno type="stamp" n="GS-LIFE-SCIENCES-HEALTH" corresp="UNIVERSITE-PARIS-SACLAY">Graduate School Life Sciences and Health</idno>
            <idno type="stamp" n="LMF">Laboratoire Méthodes Formelles</idno>
            <idno type="stamp" n="LMF-PP">Preuve de programmes</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="invited" n="0">No</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
            <note type="proceedings" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Abstraction and Genericity in Why3</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Jean-Christophe</forename>
                    <surname>Filliâtre</surname>
                  </persName>
                  <email type="md5">32bb1d89823f4dc93307bbb2a0f9ade9</email>
                  <email type="domain">lri.fr</email>
                  <idno type="idhal" notation="string">jean-christophe-filliatre</idno>
                  <idno type="idhal" notation="numeric">15939</idno>
                  <idno type="halauthorid" notation="string">20556-15939</idno>
                  <idno type="IDREF">https://www.idref.fr/15500395X</idno>
                  <idno type="ORCID">https://orcid.org/0000-0003-2359-975X</idno>
                  <orgName ref="#struct-441569"/>
                  <affiliation ref="#struct-1050016"/>
                  <affiliation ref="#struct-1065710"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Andrei</forename>
                    <surname>Paskevich</surname>
                  </persName>
                  <email type="md5">d9496b996f5a180d818f551de5d534d1</email>
                  <email type="domain">lri.fr</email>
                  <idno type="idhal" notation="string">tertium</idno>
                  <idno type="idhal" notation="numeric">1687</idno>
                  <idno type="halauthorid" notation="string">17480-1687</idno>
                  <idno type="IDREF">https://www.idref.fr/204772567</idno>
                  <orgName ref="#struct-92966"/>
                  <affiliation ref="#struct-1050016"/>
                  <affiliation ref="#struct-1065710"/>
                </author>
              </analytic>
              <monogr>
                <meeting>
                  <title>ISoLA 2021 - 9th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation</title>
                  <date type="start">2021-10-17</date>
                  <date type="end">2020-10-29</date>
                  <settlement>Rhodes</settlement>
                  <country key="GR">Greece</country>
                </meeting>
                <imprint>
                  <biblScope unit="volume">12476</biblScope>
                  <date type="datePub">2020</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1007/978-3-030-61362-4_7</idno>
              <ref type="publisher">http://isola-conference.org/isola2020/</ref>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <classCode scheme="halDomain" n="info.info-lo">Computer Science [cs]/Logic in Computer Science [cs.LO]</classCode>
              <classCode scheme="halDomain" n="info.info-ms">Computer Science [cs]/Mathematical Software [cs.MS]</classCode>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halOldTypology" n="COMM">Conference papers</classCode>
              <classCode scheme="halTreeTypology" n="COMM">Conference papers</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>The benefits of modularity in programming-abstraction barriers, which allows hiding implementation details behind an opaque interface, and genericity, which allows specializing a single implementation to a variety of underlying data types-apply just as well to deduc-tive program verification, with the additional advantage of helping the automated proof search procedures by reducing the size and complexity of the premises and by instantiating and reusing once-proved properties in a variety of contexts. In this paper, we demonstrate the modularity features of WhyML, the language of the program verification tool Why3. Instead of separating abstract interfaces and fully elaborated implementations, WhyML uses a single concept of module, a collection of abstract and concrete declarations , and a basic operation of cloning which instantiates a module with respect to a given partial substitution, while verifying its soundness. This mechanism brings into WhyML both abstraction and genericity, which we illustrate on a small verified Bloom filter implementation, translated into executable idiomatic C code.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="researchteam" xml:id="struct-1050016" status="OLD">
          <idno type="RNSR">201221053L</idno>
          <orgName>Formally Verified Programs,   Certified Tools and Numerical Computations</orgName>
          <orgName type="acronym">TOCCATA</orgName>
          <date type="start">2020-01-01</date>
          <date type="end">2020-12-31</date>
          <desc>
            <address>
              <addrLine>Université Paris-Saclay; Bâtiment 650 ; 91405 ORSAY CEDEX</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-118511" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-1050003" type="direct"/>
            <relation active="#struct-411575" type="indirect"/>
            <relation active="#struct-419361" type="indirect"/>
            <relation name="UMR8623" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-1065710" status="VALID">
          <idno type="IdRef">25474589X</idno>
          <idno type="RNSR">202123712M</idno>
          <idno type="ROR">https://ror.org/00gdtta79</idno>
          <idno type="Wikidata">Q109042513</idno>
          <orgName>Laboratoire Méthodes Formelles</orgName>
          <orgName type="acronym">LMF</orgName>
          <date type="start">2021-01-01</date>
          <desc>
            <address>
              <addrLine>4, avenue des Sciences, 91190, Gif-sur-Yvette</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
            <relation active="#struct-411575" type="direct"/>
            <relation active="#struct-419361" type="direct"/>
            <relation name="UMR9021" active="#struct-441569" type="direct"/>
            <relation active="#struct-523723" type="direct"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-118511" status="VALID">
          <idno type="RNSR">200818248E</idno>
          <idno type="ROR">https://ror.org/0315e5x55</idno>
          <orgName>Centre Inria de Saclay</orgName>
          <desc>
            <address>
              <addrLine>1 rue Honoré d'Estienne d'OrvesBâtiment Alan TuringCampus de l'École Polytechnique91120 Palaiseau</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/saclay</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-1050003" status="OLD">
          <idno type="RNSR">199812948M</idno>
          <orgName>Laboratoire de Recherche en Informatique</orgName>
          <orgName type="acronym">LRI</orgName>
          <date type="start">2020-01-01</date>
          <date type="end">2020-12-31</date>
          <desc>
            <address>
              <addrLine>LRI - Bâtiments 650-660 Université Paris-Saclay 91405 Orsay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.lri.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-411575" type="direct"/>
            <relation active="#struct-419361" type="direct"/>
            <relation name="UMR8623" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-411575" status="VALID">
          <idno type="IdRef">184443237</idno>
          <idno type="ROR">https://ror.org/019tcpt25</idno>
          <orgName>CentraleSupélec</orgName>
          <desc>
            <address>
              <addrLine>3, rue Joliot Curie,Plateau de Moulon,91192 GIF-SUR-YVETTE Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.centralesupelec.fr</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-419361" status="VALID">
          <idno type="IdRef">241345251</idno>
          <idno type="ROR">https://ror.org/03xjwb503</idno>
          <orgName>Université Paris-Saclay</orgName>
          <desc>
            <address>
              <addrLine>Bâtiment Bréguet, 3 Rue Joliot Curie 2e ét, 91190 Gif-sur-Yvette</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.universite-paris-saclay.fr/fr</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-523723" status="VALID">
          <idno type="ROR">https://ror.org/00hx6zz33</idno>
          <orgName>Ecole Normale Supérieure  Paris-Saclay</orgName>
          <orgName type="acronym">ENS Paris Saclay</orgName>
          <desc>
            <address>
              <addrLine>4 avenue des Sciences, 91190 Gif-sur-Yvette</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://ens-paris-saclay.fr/</ref>
          </desc>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="anrProject" xml:id="projanr-45631" status="VALID">
          <idno type="anr">ANR-15-CE25-0008</idno>
          <orgName>VOCAL</orgName>
          <desc>Bibliothèque OCaml vérifiée</desc>
          <date type="start">2015</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>